diff --git a/packages/google-cloud-talent/.eslintignore b/packages/google-cloud-talent/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-talent/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-talent/.eslintrc.json b/packages/google-cloud-talent/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-talent/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-talent/.gitattributes b/packages/google-cloud-talent/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-talent/.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-cloud-talent/.github/.OwlBot.yaml b/packages/google-cloud-talent/.github/.OwlBot.yaml
new file mode 100644
index 00000000000..eb2bb450c99
--- /dev/null
+++ b/packages/google-cloud-talent/.github/.OwlBot.yaml
@@ -0,0 +1,23 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+docker:
+ image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/talent/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/$1/$2
+
diff --git a/packages/google-cloud-talent/.gitignore b/packages/google-cloud-talent/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-talent/.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-cloud-talent/.jsdoc.js b/packages/google-cloud-talent/.jsdoc.js
new file mode 100644
index 00000000000..717c4717a57
--- /dev/null
+++ b/packages/google-cloud-talent/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2022 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 2022 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/talent',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-talent/.mocharc.js b/packages/google-cloud-talent/.mocharc.js
new file mode 100644
index 00000000000..0b600509bed
--- /dev/null
+++ b/packages/google-cloud-talent/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-cloud-talent/.nycrc b/packages/google-cloud-talent/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-talent/.nycrc
@@ -0,0 +1,24 @@
+{
+ "report-dir": "./.coverage",
+ "reporter": ["text", "lcov"],
+ "exclude": [
+ "**/*-test",
+ "**/.coverage",
+ "**/apis",
+ "**/benchmark",
+ "**/conformance",
+ "**/docs",
+ "**/samples",
+ "**/scripts",
+ "**/protos",
+ "**/test",
+ "**/*.d.ts",
+ ".jsdoc.js",
+ "**/.jsdoc.js",
+ "karma.conf.js",
+ "webpack-tests.config.js",
+ "webpack.config.js"
+ ],
+ "exclude-after-remap": false,
+ "all": true
+}
diff --git a/packages/google-cloud-talent/.prettierignore b/packages/google-cloud-talent/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-talent/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-talent/.prettierrc.js b/packages/google-cloud-talent/.prettierrc.js
new file mode 100644
index 00000000000..d1b95106f4c
--- /dev/null
+++ b/packages/google-cloud-talent/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-talent/.repo-metadata.json b/packages/google-cloud-talent/.repo-metadata.json
new file mode 100644
index 00000000000..d0f244752eb
--- /dev/null
+++ b/packages/google-cloud-talent/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/talent/latest",
+ "api_id": "jobs.googleapis.com",
+ "distribution_name": "@google-cloud/talent",
+ "release_level": "stable",
+ "default_version": "v4",
+ "language": "nodejs",
+ "name_pretty": "Google Cloud Talent Solution",
+ "repo": "googleapis/nodejs-talent",
+ "product_documentation": "https://cloud.google.com/solutions/talent-solution/",
+ "requires_billing": true,
+ "name": "talent",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559664",
+ "api_shortname": "jobs",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-talent/CHANGELOG.md b/packages/google-cloud-talent/CHANGELOG.md
new file mode 100644
index 00000000000..ba21a5f5b2b
--- /dev/null
+++ b/packages/google-cloud-talent/CHANGELOG.md
@@ -0,0 +1,388 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/talent?activeTab=versions
+
+## [5.0.1](https://github.com/googleapis/nodejs-talent/compare/v5.0.0...v5.0.1) (2022-11-11)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#447](https://github.com/googleapis/nodejs-talent/issues/447)) ([49c2e64](https://github.com/googleapis/nodejs-talent/commit/49c2e64b364328a145899af100bf4e3c38f24548))
+* Regenerated protos JS and TS definitions ([#451](https://github.com/googleapis/nodejs-talent/issues/451)) ([adfce28](https://github.com/googleapis/nodejs-talent/commit/adfce2881da0f9c86279ed4cde0a9227072f0e19))
+
+## [5.0.0](https://github.com/googleapis/nodejs-talent/compare/v4.1.1...v5.0.0) (2022-09-22)
+
+
+### ⚠ BREAKING CHANGES
+
+* Remove LRO mixin methods where not needed (#443)
+* Remove application and profile services from v4beta1 (#440)
+
+### Bug Fixes
+
+* Change import long to require ([#435](https://github.com/googleapis/nodejs-talent/issues/435)) ([27a132a](https://github.com/googleapis/nodejs-talent/commit/27a132aff0249d1edc05a10d4be16de6f8acc69f))
+* **deps:** Update dependency uuid to v9 ([#439](https://github.com/googleapis/nodejs-talent/issues/439)) ([ea9f3aa](https://github.com/googleapis/nodejs-talent/commit/ea9f3aa73bcffb0fc82555494fdf7207892fb798))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-talent/issues/1553)) ([#438](https://github.com/googleapis/nodejs-talent/issues/438)) ([d59378e](https://github.com/googleapis/nodejs-talent/commit/d59378e52295af4ef5757d8ae3e740b4fec0da44))
+* Remove application and profile services from v4beta1 ([#440](https://github.com/googleapis/nodejs-talent/issues/440)) ([c5fd3aa](https://github.com/googleapis/nodejs-talent/commit/c5fd3aa18796c9baeb6c0df2d67b8a6f0c01c954))
+* Remove LRO mixin methods where not needed ([#443](https://github.com/googleapis/nodejs-talent/issues/443)) ([bb6bd48](https://github.com/googleapis/nodejs-talent/commit/bb6bd48c42da8987f294f88959253d075204b1e8))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-talent/issues/1546)) ([#437](https://github.com/googleapis/nodejs-talent/issues/437)) ([f641557](https://github.com/googleapis/nodejs-talent/commit/f6415579ec3b8822f5d4a05004ee154b0870ecb8))
+* use google-gax v3.3.0 ([d59378e](https://github.com/googleapis/nodejs-talent/commit/d59378e52295af4ef5757d8ae3e740b4fec0da44))
+
+## [4.1.1](https://github.com/googleapis/nodejs-talent/compare/v4.1.0...v4.1.1) (2022-07-12)
+
+
+### Bug Fixes
+
+* update generator version ([#430](https://github.com/googleapis/nodejs-talent/issues/430)) ([ef5216c](https://github.com/googleapis/nodejs-talent/commit/ef5216cf865fef5106869e1c6acb9d29da249afe))
+
+## [4.1.0](https://github.com/googleapis/nodejs-talent/compare/v4.0.0...v4.1.0) (2022-06-03)
+
+
+### Features
+
+* Add a new operator on companyDisplayNames filter to further support fuzzy match by treating input value as a multi word token ([#422](https://github.com/googleapis/nodejs-talent/issues/422)) ([b8b2181](https://github.com/googleapis/nodejs-talent/commit/b8b2181826dbb93a8bd7f3eb4234fb65ae9b0573))
+
+## [4.0.0](https://github.com/googleapis/nodejs-talent/compare/v3.5.1...v4.0.0) (2022-05-17)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#420)
+
+### Build System
+
+* update library to use Node 12 ([#420](https://github.com/googleapis/nodejs-talent/issues/420)) ([1032175](https://github.com/googleapis/nodejs-talent/commit/103217596c4e423f2e8c6b1b1a559f66ee40e2b7))
+
+### [3.5.1](https://www.github.com/googleapis/nodejs-talent/compare/v3.5.0...v3.5.1) (2021-10-20)
+
+
+### Bug Fixes
+
+* flaky sample test two ways ([#375](https://www.github.com/googleapis/nodejs-talent/issues/375)) ([d722bdb](https://www.github.com/googleapis/nodejs-talent/commit/d722bdb0523e8fb5907d4760b33ba75901572747))
+
+## [3.5.0](https://www.github.com/googleapis/nodejs-talent/compare/v3.4.1...v3.5.0) (2021-09-15)
+
+
+### Features
+
+* Added a new `KeywordMatchMode` field to support more keyword matching options feat: Added more `DiversificationLevel` configuration options ([#365](https://www.github.com/googleapis/nodejs-talent/issues/365)) ([bc2c5cf](https://www.github.com/googleapis/nodejs-talent/commit/bc2c5cfc7dd465dd476c027acd978e07ed18b298))
+
+### [3.4.1](https://www.github.com/googleapis/nodejs-talent/compare/v3.4.0...v3.4.1) (2021-09-10)
+
+
+### Bug Fixes
+
+* **build:** set default branch to main ([#362](https://www.github.com/googleapis/nodejs-talent/issues/362)) ([be3048a](https://www.github.com/googleapis/nodejs-talent/commit/be3048a67de34346b6e7ae3f6963c8fe437e3227))
+
+## [3.4.0](https://www.github.com/googleapis/nodejs-talent/compare/v3.3.0...v3.4.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#359](https://www.github.com/googleapis/nodejs-talent/issues/359)) ([9796041](https://www.github.com/googleapis/nodejs-talent/commit/9796041914464e108afd8581aed7e60d5439e565))
+
+## [3.3.0](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.7...v3.3.0) (2021-08-17)
+
+
+### Features
+
+* Add new commute methods in Search APIs feat: Add new histogram type 'publish_time_in_day' feat: Support filtering by requisitionId is ListJobs API ([#356](https://www.github.com/googleapis/nodejs-talent/issues/356)) ([6ff8783](https://www.github.com/googleapis/nodejs-talent/commit/6ff87834432014db8ddcdd0a1342346f85354d51))
+
+### [3.2.7](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.6...v3.2.7) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#355](https://www.github.com/googleapis/nodejs-talent/issues/355)) ([241f0ac](https://www.github.com/googleapis/nodejs-talent/commit/241f0ac2a3d49205feec269e0007d536df2fb367))
+
+### [3.2.6](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.5...v3.2.6) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#347](https://www.github.com/googleapis/nodejs-talent/issues/347)) ([cd75d00](https://www.github.com/googleapis/nodejs-talent/commit/cd75d006a631ebad4c4c4390a326fe30af074802))
+
+### [3.2.5](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.4...v3.2.5) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#345](https://www.github.com/googleapis/nodejs-talent/issues/345)) ([85c9f44](https://www.github.com/googleapis/nodejs-talent/commit/85c9f442fc9b2054af19e479ded0cb04f8846161))
+
+### [3.2.4](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.3...v3.2.4) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#341](https://www.github.com/googleapis/nodejs-talent/issues/341)) ([2c240e8](https://www.github.com/googleapis/nodejs-talent/commit/2c240e8cf02566285836b506addbfdfcc76cfa98))
+
+### [3.2.3](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.2...v3.2.3) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#335](https://www.github.com/googleapis/nodejs-talent/issues/335)) ([7ba1f51](https://www.github.com/googleapis/nodejs-talent/commit/7ba1f51db25cf37b33f9a611e031c7294112649a))
+
+### [3.2.2](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.1...v3.2.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#324](https://www.github.com/googleapis/nodejs-talent/issues/324)) ([912fb40](https://www.github.com/googleapis/nodejs-talent/commit/912fb40b63085c1cde18b669b13be0a1c1422d4e))
+
+### [3.2.1](https://www.github.com/googleapis/nodejs-talent/compare/v3.2.0...v3.2.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#315](https://www.github.com/googleapis/nodejs-talent/issues/315)) ([e2bb1fc](https://www.github.com/googleapis/nodejs-talent/commit/e2bb1fc5b03cd3ce7ca8c655012935aa83e37921))
+* use require() to load JSON protos ([#318](https://www.github.com/googleapis/nodejs-talent/issues/318)) ([d4e91b9](https://www.github.com/googleapis/nodejs-talent/commit/d4e91b9a623acfce93411a20a37c499b1a5bc3a5))
+
+## [3.2.0](https://www.github.com/googleapis/nodejs-talent/compare/v3.1.0...v3.2.0) (2021-03-02)
+
+
+### Features
+
+* **docs:** indicate library is ga ([#287](https://www.github.com/googleapis/nodejs-talent/issues/287)) ([5051732](https://www.github.com/googleapis/nodejs-talent/commit/5051732b4467ba33ecd44de1ef79cc5b655c7f36))
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-talent/compare/v3.0.2...v3.1.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#281](https://www.github.com/googleapis/nodejs-talent/issues/281)) ([88651c2](https://www.github.com/googleapis/nodejs-talent/commit/88651c2a95638e685235fd8bdf478d4ce71ce941))
+
+### [3.0.2](https://www.github.com/googleapis/nodejs-talent/compare/v3.0.1...v3.0.2) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#274](https://www.github.com/googleapis/nodejs-talent/issues/274)) ([a25c71f](https://www.github.com/googleapis/nodejs-talent/commit/a25c71ff62a46138e088f01d5b9cd8b165588bbd))
+
+### [3.0.1](https://www.github.com/googleapis/nodejs-talent/compare/v3.0.0...v3.0.1) (2020-11-07)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#264](https://www.github.com/googleapis/nodejs-talent/issues/264)) ([260b152](https://www.github.com/googleapis/nodejs-talent/commit/260b152fe76b2cbe63dba8378710716feb793c82))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-talent/compare/v2.1.0...v3.0.0) (2020-10-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* moves v4 API to default (#243)
+
+### Features
+
+* moves v4 API to default ([#243](https://www.github.com/googleapis/nodejs-talent/issues/243)) ([72cc13a](https://www.github.com/googleapis/nodejs-talent/commit/72cc13a27bd53b5b949d8a909649705131feab59))
+* Remove commute methods from Job Search v4 API ([#249](https://www.github.com/googleapis/nodejs-talent/issues/249)) ([9e22b14](https://www.github.com/googleapis/nodejs-talent/commit/9e22b1492bbbbbd4b8eafb242de5e54ad842cd9c))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-talent/compare/v2.0.0...v2.1.0) (2020-06-29)
+
+
+### Features
+
+* **secrets:** begin migration to secret manager from keystore ([#213](https://www.github.com/googleapis/nodejs-talent/issues/213)) ([8cba7c3](https://www.github.com/googleapis/nodejs-talent/commit/8cba7c33ca1d631e7d369ec06ebf2bdf39530ffd))
+
+
+### Bug Fixes
+
+* handle fallback option properly ([#216](https://www.github.com/googleapis/nodejs-talent/issues/216)) ([ae2ecc5](https://www.github.com/googleapis/nodejs-talent/commit/ae2ecc51bc12fa410e766bd06e7668e51f01d627))
+* update node issue template ([#217](https://www.github.com/googleapis/nodejs-talent/issues/217)) ([82ece56](https://www.github.com/googleapis/nodejs-talent/commit/82ece56e1edce6e4074b6256aba9c858a00c6466))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.7.1...v2.0.0) (2020-06-04)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+* remove the ProjectOrTenant resource and its references
+* removed auto-pagination from searchJobs
+* move API to Typescript code generation (#163)
+
+### Features
+
+* check status of long running operation by its name ([#205](https://www.github.com/googleapis/nodejs-talent/issues/205)) ([66d3b2e](https://www.github.com/googleapis/nodejs-talent/commit/66d3b2e6c5c6293733a6aa209eb30d940b73dd8d))
+* deferred client initialization ([#171](https://www.github.com/googleapis/nodejs-talent/issues/171)) ([f5b2220](https://www.github.com/googleapis/nodejs-talent/commit/f5b222001c9510ccc0857322c6d9f9c67ec8c00c))
+* drop node8 support, support for async iterators ([#185](https://www.github.com/googleapis/nodejs-talent/issues/185)) ([cf2af92](https://www.github.com/googleapis/nodejs-talent/commit/cf2af92fef92ebf2e93a934117aed1c87a85ab6e))
+* move API to Typescript code generation ([#163](https://www.github.com/googleapis/nodejs-talent/issues/163)) ([81e9639](https://www.github.com/googleapis/nodejs-talent/commit/81e963990013ce0d0b6909243621befac1a15e75))
+* removed auto-pagination from searchJobs ([28c9234](https://www.github.com/googleapis/nodejs-talent/commit/28c92340ffa1c5f3800d85247cda578608a7125e))
+
+
+### Bug Fixes
+
+* export explicit version from protos.js ([#189](https://www.github.com/googleapis/nodejs-talent/issues/189)) ([64d8de6](https://www.github.com/googleapis/nodejs-talent/commit/64d8de6ea8a5fd3fc9128e8ec21408f9fa65408e))
+* remove eslint, update gax, fix generated protos, run the generator ([#194](https://www.github.com/googleapis/nodejs-talent/issues/194)) ([cbef571](https://www.github.com/googleapis/nodejs-talent/commit/cbef5715a1d85ac19bbad76b3a5ebfecbb9f2ee5))
+* synth.py clean up for multiple version ([#207](https://www.github.com/googleapis/nodejs-talent/issues/207)) ([49c403a](https://www.github.com/googleapis/nodejs-talent/commit/49c403a44748d52bd4bf663c016b7584afab6b3a))
+
+
+### Code Refactoring
+
+* remove the ProjectOrTenant resource and its references ([3784e63](https://www.github.com/googleapis/nodejs-talent/commit/3784e63807b9c102b10b2f1d608ec9601bcc59e3))
+
+### [1.7.1](https://www.github.com/googleapis/nodejs-talent/compare/v1.7.0...v1.7.1) (2020-01-29)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([15f03b7](https://www.github.com/googleapis/nodejs-talent/commit/15f03b7fce125422207467fbb40e21f9054fa75e))
+
+## [1.7.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.6.2...v1.7.0) (2020-01-28)
+
+
+### Features
+
+* adds new type annotations ([341e495](https://www.github.com/googleapis/nodejs-talent/commit/341e4957b7586986c9a141b63913942881510a67))
+
+### [1.6.2](https://www.github.com/googleapis/nodejs-talent/compare/v1.6.1...v1.6.2) (2019-12-31)
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([1166c22](https://www.github.com/googleapis/nodejs-talent/commit/1166c22a68aab561c0dcf85ae051f6d1cdc66c88))
+* adds missing proto import ([220bec0](https://www.github.com/googleapis/nodejs-talent/commit/220bec0d190419ab24724eb678002a734dc2488d))
+* import long type into proto ts declaration file ([#127](https://www.github.com/googleapis/nodejs-talent/issues/127)) ([c4b9e4a](https://www.github.com/googleapis/nodejs-talent/commit/c4b9e4a12bbbe0ff55b3fd6c9fd73ea180013d26))
+
+### [1.6.1](https://www.github.com/googleapis/nodejs-talent/compare/v1.6.0...v1.6.1) (2019-11-15)
+
+
+### Bug Fixes
+
+* **docs:** bump release level to beta ([#124](https://www.github.com/googleapis/nodejs-talent/issues/124)) ([f5f0ab9](https://www.github.com/googleapis/nodejs-talent/commit/f5f0ab92034eb6f52b13c180b05faaed4c02de91))
+* **docs:** snippets are now replaced in jsdoc comments ([#122](https://www.github.com/googleapis/nodejs-talent/issues/122)) ([9f8af78](https://www.github.com/googleapis/nodejs-talent/commit/9f8af789a2275bae0268d5589aa1a7c4ef00e831))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.5.1...v1.6.0) (2019-11-08)
+
+
+### Features
+
+* add query language code parameter ([#118](https://www.github.com/googleapis/nodejs-talent/issues/118)) ([71845bf](https://www.github.com/googleapis/nodejs-talent/commit/71845bf76d677268ec1a17d926da6fb1fadef930))
+
+### [1.5.1](https://www.github.com/googleapis/nodejs-talent/compare/v1.5.0...v1.5.1) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#114](https://www.github.com/googleapis/nodejs-talent/issues/114)) ([2ea4371](https://www.github.com/googleapis/nodejs-talent/commit/2ea43715fff4d9a0704c8629b0ba04269834db0a))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.4.0...v1.5.0) (2019-10-09)
+
+
+### Bug Fixes
+
+* use compatible version of google-gax ([1100369](https://www.github.com/googleapis/nodejs-talent/commit/1100369))
+
+
+### Features
+
+* .d.ts for protos ([fa78385](https://www.github.com/googleapis/nodejs-talent/commit/fa78385))
+* .d.ts for protos ([#104](https://www.github.com/googleapis/nodejs-talent/issues/104)) ([cda77b7](https://www.github.com/googleapis/nodejs-talent/commit/cda77b7))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.3.0...v1.4.0) (2019-09-16)
+
+
+### Features
+
+* candidate applications and assignments support ([#98](https://www.github.com/googleapis/nodejs-talent/issues/98)) ([0a9e8c1](https://www.github.com/googleapis/nodejs-talent/commit/0a9e8c1))
+* filter support ([#97](https://www.github.com/googleapis/nodejs-talent/issues/97)) ([3496527](https://www.github.com/googleapis/nodejs-talent/commit/3496527))
+* load protos from JSON, grpc-fallback support ([a0cee41](https://www.github.com/googleapis/nodejs-talent/commit/a0cee41))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.2.0...v1.3.0) (2019-08-08)
+
+
+### Features
+
+* allow calls with no request; adds JSON proto; introduces PersonNameFilter ([51b0a58](https://www.github.com/googleapis/nodejs-talent/commit/51b0a58))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.1.0...v1.2.0) (2019-07-16)
+
+
+### Features
+
+* add new filters, path templates, and update docs ([#76](https://www.github.com/googleapis/nodejs-talent/issues/76)) ([f28802c](https://www.github.com/googleapis/nodejs-talent/commit/f28802c))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-talent/compare/v1.0.2...v1.1.0) (2019-06-28)
+
+
+### Features
+
+* batch operation support ([#69](https://www.github.com/googleapis/nodejs-talent/issues/69)) ([9c76a71](https://www.github.com/googleapis/nodejs-talent/commit/9c76a71))
+
+### [1.0.2](https://www.github.com/googleapis/nodejs-talent/compare/v1.0.1...v1.0.2) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#71](https://www.github.com/googleapis/nodejs-talent/issues/71)) ([e2d0791](https://www.github.com/googleapis/nodejs-talent/commit/e2d0791))
+
+### [1.0.1](https://www.github.com/googleapis/nodejs-talent/compare/v1.0.0...v1.0.1) (2019-06-13)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#67](https://www.github.com/googleapis/nodejs-talent/issues/67)) ([6434066](https://www.github.com/googleapis/nodejs-talent/commit/6434066))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-talent/compare/v0.3.0...v1.0.0) (2019-05-14)
+
+
+### Bug Fixes
+
+* use SummarizedProfile over HistogramQueryResult ([#54](https://www.github.com/googleapis/nodejs-talent/issues/54)) ([87036f0](https://www.github.com/googleapis/nodejs-talent/commit/87036f0))
+* **deps:** update dependency google-gax to v1 ([#51](https://www.github.com/googleapis/nodejs-talent/issues/51)) ([4ad1db5](https://www.github.com/googleapis/nodejs-talent/commit/4ad1db5))
+* DEADLINE_EXCEEDED is idempotent ([#52](https://www.github.com/googleapis/nodejs-talent/issues/52)) ([6f8dd1b](https://www.github.com/googleapis/nodejs-talent/commit/6f8dd1b))
+
+## [0.3.0](https://www.github.com/googleapis/nodejs-talent/compare/v0.2.0...v0.3.0) (2019-05-09)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to ^0.26.0 ([#40](https://www.github.com/googleapis/nodejs-talent/issues/40)) ([3ae00c8](https://www.github.com/googleapis/nodejs-talent/commit/3ae00c8))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#41](https://www.github.com/googleapis/nodejs-talent/issues/41)) ([4fdec5e](https://www.github.com/googleapis/nodejs-talent/commit/4fdec5e))
+
+
+### Features
+
+* add Resume and keywordSearchableProfileCustomAttributes ([#49](https://www.github.com/googleapis/nodejs-talent/issues/49)) ([d96a482](https://www.github.com/googleapis/nodejs-talent/commit/d96a482))
+* add templates for company old path ([03c6bc5](https://www.github.com/googleapis/nodejs-talent/commit/03c6bc5))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#41)
+
+## v0.2.0
+
+03-29-2019 13:05 PDT
+
+### Implementation Changes
+
+**🚨 BREAKING CHANGE 🚨**
+
+This release includes several breaking changes since v0.1.0:
+
+- Removes `ResumeServiceClient`.
+- Removes support for any string template paths relating to `projectPath` and `companyPath`, it now supports `tenantPath` and `companyOldPath` instead.
+
+### New Features
+- feat: v4beta1 application support and proto sync ([#29](https://github.com/googleapis/nodejs-talent/pull/29))
+ - Adds `ApplicationServiceClient`
+
+### Documentation
+- docs: fix broken urls in proto comments ([#22](https://github.com/googleapis/nodejs-talent/pull/22))
+
+### Internal / Testing Changes
+- chore: publish to npm using wombat ([#25](https://github.com/googleapis/nodejs-talent/pull/25))
+- build: use per-repo npm publish token ([#23](https://github.com/googleapis/nodejs-talent/pull/23))
+
+## v0.1.0
+
+03-12-2019 21:57 PDT
+
+First release!
diff --git a/packages/google-cloud-talent/CODE_OF_CONDUCT.md b/packages/google-cloud-talent/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-talent/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-cloud-talent/CONTRIBUTING.md b/packages/google-cloud-talent/CONTRIBUTING.md
new file mode 100644
index 00000000000..fb785dc496e
--- /dev/null
+++ b/packages/google-cloud-talent/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 Google Cloud Talent Solution 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=jobs.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-talent/LICENSE b/packages/google-cloud-talent/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-talent/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-cloud-talent/README.md b/packages/google-cloud-talent/README.md
new file mode 100644
index 00000000000..9b8291f2faf
--- /dev/null
+++ b/packages/google-cloud-talent/README.md
@@ -0,0 +1,126 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Google Cloud Talent Solution: Node.js Client](https://github.com/googleapis/nodejs-talent)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/talent)
+
+
+
+
+Cloud Talent Solution API client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-talent/blob/main/CHANGELOG.md).
+
+* [Google Cloud Talent Solution Node.js Client API Reference][client-docs]
+* [Google Cloud Talent Solution Documentation][product-docs]
+* [github.com/googleapis/nodejs-talent](https://github.com/googleapis/nodejs-talent)
+
+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 Google Cloud Talent Solution API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+
+### Installing the client library
+
+```bash
+npm install @google-cloud/talent
+```
+
+
+
+
+
+The [Google Cloud Talent Solution Node.js Client API Reference][client-docs] documentation
+also contains samples.
+
+## Supported Node.js Versions
+
+Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
+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/talent@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-talent/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-talent/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/talent/latest
+[product-docs]: https://cloud.google.com/solutions/talent-solution/
+[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=jobs.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-talent/linkinator.config.json b/packages/google-cloud-talent/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-talent/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/packages/google-cloud-talent/package.json b/packages/google-cloud-talent/package.json
new file mode 100644
index 00000000000..576d3da2046
--- /dev/null
+++ b/packages/google-cloud-talent/package.json
@@ -0,0 +1,67 @@
+{
+ "name": "@google-cloud/talent",
+ "description": "Cloud Talent Solution API client for Node.js",
+ "version": "5.0.1",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": "googleapis/nodejs-talent",
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google jobs",
+ "jobs",
+ "Cloud Talent Solution API"
+ ],
+ "scripts": {
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../",
+ "system-test": "mocha build/system-test",
+ "lint": "gts check",
+ "fix": "gts fix",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "prelint": "cd samples; npm link ../; npm install",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "prepare": "npm run compile-protos && npm run compile",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.0.0",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^4.0.0"
+ }
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto
new file mode 100644
index 00000000000..79dbb2d5c13
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto
@@ -0,0 +1,870 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+import "google/type/latlng.proto";
+import "google/type/money.proto";
+import "google/type/postal_address.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// Message representing a period of time between two timestamps.
+message TimestampRange {
+ // Begin of the period (inclusive).
+ google.protobuf.Timestamp start_time = 1;
+
+ // End of the period (exclusive).
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// An enum that represents the size of the company.
+enum CompanySize {
+ // Default value if the size isn't specified.
+ COMPANY_SIZE_UNSPECIFIED = 0;
+
+ // The company has less than 50 employees.
+ MINI = 1;
+
+ // The company has between 50 and 99 employees.
+ SMALL = 2;
+
+ // The company has between 100 and 499 employees.
+ SMEDIUM = 3;
+
+ // The company has between 500 and 999 employees.
+ MEDIUM = 4;
+
+ // The company has between 1,000 and 4,999 employees.
+ BIG = 5;
+
+ // The company has between 5,000 and 9,999 employees.
+ BIGGER = 6;
+
+ // The company has 10,000 or more employees.
+ GIANT = 7;
+}
+
+// An enum that represents employee benefits included with the job.
+enum JobBenefit {
+ // Default value if the type isn't specified.
+ JOB_BENEFIT_UNSPECIFIED = 0;
+
+ // The job includes access to programs that support child care, such
+ // as daycare.
+ CHILD_CARE = 1;
+
+ // The job includes dental services covered by a dental
+ // insurance plan.
+ DENTAL = 2;
+
+ // The job offers specific benefits to domestic partners.
+ DOMESTIC_PARTNER = 3;
+
+ // The job allows for a flexible work schedule.
+ FLEXIBLE_HOURS = 4;
+
+ // The job includes health services covered by a medical insurance plan.
+ MEDICAL = 5;
+
+ // The job includes a life insurance plan provided by the employer or
+ // available for purchase by the employee.
+ LIFE_INSURANCE = 6;
+
+ // The job allows for a leave of absence to a parent to care for a newborn
+ // child.
+ PARENTAL_LEAVE = 7;
+
+ // The job includes a workplace retirement plan provided by the
+ // employer or available for purchase by the employee.
+ RETIREMENT_PLAN = 8;
+
+ // The job allows for paid time off due to illness.
+ SICK_DAYS = 9;
+
+ // The job includes paid time off for vacation.
+ VACATION = 10;
+
+ // The job includes vision services covered by a vision
+ // insurance plan.
+ VISION = 11;
+}
+
+// Educational degree level defined in International Standard Classification
+// of Education (ISCED).
+enum DegreeType {
+ // Default value. Represents no degree, or early childhood education.
+ // Maps to ISCED code 0.
+ // Ex) Kindergarten
+ DEGREE_TYPE_UNSPECIFIED = 0;
+
+ // Primary education which is typically the first stage of compulsory
+ // education. ISCED code 1.
+ // Ex) Elementary school
+ PRIMARY_EDUCATION = 1;
+
+ // Lower secondary education; First stage of secondary education building on
+ // primary education, typically with a more subject-oriented curriculum.
+ // ISCED code 2.
+ // Ex) Middle school
+ LOWER_SECONDARY_EDUCATION = 2;
+
+ // Middle education; Second/final stage of secondary education preparing for
+ // tertiary education and/or providing skills relevant to employment.
+ // Usually with an increased range of subject options and streams. ISCED
+ // code 3.
+ // Ex) High school
+ UPPER_SECONDARY_EDUCATION = 3;
+
+ // Adult Remedial Education; Programmes providing learning experiences that
+ // build on secondary education and prepare for labour market entry and/or
+ // tertiary education. The content is broader than secondary but not as
+ // complex as tertiary education. ISCED code 4.
+ ADULT_REMEDIAL_EDUCATION = 4;
+
+ // Associate's or equivalent; Short first tertiary programmes that are
+ // typically practically-based, occupationally-specific and prepare for
+ // labour market entry. These programmes may also provide a pathway to other
+ // tertiary programmes. ISCED code 5.
+ ASSOCIATES_OR_EQUIVALENT = 5;
+
+ // Bachelor's or equivalent; Programmes designed to provide intermediate
+ // academic and/or professional knowledge, skills and competencies leading
+ // to a first tertiary degree or equivalent qualification. ISCED code 6.
+ BACHELORS_OR_EQUIVALENT = 6;
+
+ // Master's or equivalent; Programmes designed to provide advanced academic
+ // and/or professional knowledge, skills and competencies leading to a
+ // second tertiary degree or equivalent qualification. ISCED code 7.
+ MASTERS_OR_EQUIVALENT = 7;
+
+ // Doctoral or equivalent; Programmes designed primarily to lead to an
+ // advanced research qualification, usually concluding with the submission
+ // and defense of a substantive dissertation of publishable quality based on
+ // original research. ISCED code 8.
+ DOCTORAL_OR_EQUIVALENT = 8;
+}
+
+// An enum that represents the employment type of a job.
+enum EmploymentType {
+ // The default value if the employment type isn't specified.
+ EMPLOYMENT_TYPE_UNSPECIFIED = 0;
+
+ // The job requires working a number of hours that constitute full
+ // time employment, typically 40 or more hours per week.
+ FULL_TIME = 1;
+
+ // The job entails working fewer hours than a full time job,
+ // typically less than 40 hours a week.
+ PART_TIME = 2;
+
+ // The job is offered as a contracted, as opposed to a salaried employee,
+ // position.
+ CONTRACTOR = 3;
+
+ // The job is offered as a contracted position with the understanding
+ // that it's converted into a full-time position at the end of the
+ // contract. Jobs of this type are also returned by a search for
+ // [EmploymentType.CONTRACTOR][google.cloud.talent.v4.EmploymentType.CONTRACTOR] jobs.
+ CONTRACT_TO_HIRE = 4;
+
+ // The job is offered as a temporary employment opportunity, usually
+ // a short-term engagement.
+ TEMPORARY = 5;
+
+ // The job is a fixed-term opportunity for students or entry-level job
+ // seekers to obtain on-the-job training, typically offered as a summer
+ // position.
+ INTERN = 6;
+
+ // The is an opportunity for an individual to volunteer, where there's no
+ // expectation of compensation for the provided services.
+ VOLUNTEER = 7;
+
+ // The job requires an employee to work on an as-needed basis with a
+ // flexible schedule.
+ PER_DIEM = 8;
+
+ // The job involves employing people in remote areas and flying them
+ // temporarily to the work site instead of relocating employees and their
+ // families permanently.
+ FLY_IN_FLY_OUT = 9;
+
+ // The job does not fit any of the other listed types.
+ OTHER_EMPLOYMENT_TYPE = 10;
+}
+
+// An enum that represents the required experience level required for the job.
+enum JobLevel {
+ // The default value if the level isn't specified.
+ JOB_LEVEL_UNSPECIFIED = 0;
+
+ // Entry-level individual contributors, typically with less than 2 years of
+ // experience in a similar role. Includes interns.
+ ENTRY_LEVEL = 1;
+
+ // Experienced individual contributors, typically with 2+ years of
+ // experience in a similar role.
+ EXPERIENCED = 2;
+
+ // Entry- to mid-level managers responsible for managing a team of people.
+ MANAGER = 3;
+
+ // Senior-level managers responsible for managing teams of managers.
+ DIRECTOR = 4;
+
+ // Executive-level managers and above, including C-level positions.
+ EXECUTIVE = 5;
+}
+
+// An enum that represents the categorization or primary focus of specific
+// role. This value is different than the "industry" associated with a role,
+// which is related to the categorization of the company listing the job.
+enum JobCategory {
+ // The default value if the category isn't specified.
+ JOB_CATEGORY_UNSPECIFIED = 0;
+
+ // An accounting and finance job, such as an Accountant.
+ ACCOUNTING_AND_FINANCE = 1;
+
+ // An administrative and office job, such as an Administrative Assistant.
+ ADMINISTRATIVE_AND_OFFICE = 2;
+
+ // An advertising and marketing job, such as Marketing Manager.
+ ADVERTISING_AND_MARKETING = 3;
+
+ // An animal care job, such as Veterinarian.
+ ANIMAL_CARE = 4;
+
+ // An art, fashion, or design job, such as Designer.
+ ART_FASHION_AND_DESIGN = 5;
+
+ // A business operations job, such as Business Operations Manager.
+ BUSINESS_OPERATIONS = 6;
+
+ // A cleaning and facilities job, such as Custodial Staff.
+ CLEANING_AND_FACILITIES = 7;
+
+ // A computer and IT job, such as Systems Administrator.
+ COMPUTER_AND_IT = 8;
+
+ // A construction job, such as General Laborer.
+ CONSTRUCTION = 9;
+
+ // A customer service job, such s Cashier.
+ CUSTOMER_SERVICE = 10;
+
+ // An education job, such as School Teacher.
+ EDUCATION = 11;
+
+ // An entertainment and travel job, such as Flight Attendant.
+ ENTERTAINMENT_AND_TRAVEL = 12;
+
+ // A farming or outdoor job, such as Park Ranger.
+ FARMING_AND_OUTDOORS = 13;
+
+ // A healthcare job, such as Registered Nurse.
+ HEALTHCARE = 14;
+
+ // A human resources job, such as Human Resources Director.
+ HUMAN_RESOURCES = 15;
+
+ // An installation, maintenance, or repair job, such as Electrician.
+ INSTALLATION_MAINTENANCE_AND_REPAIR = 16;
+
+ // A legal job, such as Law Clerk.
+ LEGAL = 17;
+
+ // A management job, often used in conjunction with another category,
+ // such as Store Manager.
+ MANAGEMENT = 18;
+
+ // A manufacturing or warehouse job, such as Assembly Technician.
+ MANUFACTURING_AND_WAREHOUSE = 19;
+
+ // A media, communications, or writing job, such as Media Relations.
+ MEDIA_COMMUNICATIONS_AND_WRITING = 20;
+
+ // An oil, gas or mining job, such as Offshore Driller.
+ OIL_GAS_AND_MINING = 21;
+
+ // A personal care and services job, such as Hair Stylist.
+ PERSONAL_CARE_AND_SERVICES = 22;
+
+ // A protective services job, such as Security Guard.
+ PROTECTIVE_SERVICES = 23;
+
+ // A real estate job, such as Buyer's Agent.
+ REAL_ESTATE = 24;
+
+ // A restaurant and hospitality job, such as Restaurant Server.
+ RESTAURANT_AND_HOSPITALITY = 25;
+
+ // A sales and/or retail job, such Sales Associate.
+ SALES_AND_RETAIL = 26;
+
+ // A science and engineering job, such as Lab Technician.
+ SCIENCE_AND_ENGINEERING = 27;
+
+ // A social services or non-profit job, such as Case Worker.
+ SOCIAL_SERVICES_AND_NON_PROFIT = 28;
+
+ // A sports, fitness, or recreation job, such as Personal Trainer.
+ SPORTS_FITNESS_AND_RECREATION = 29;
+
+ // A transportation or logistics job, such as Truck Driver.
+ TRANSPORTATION_AND_LOGISTICS = 30;
+}
+
+// An enum that represents the job posting region. In most cases, job postings
+// don't need to specify a region. If a region is given, jobs are
+// eligible for searches in the specified region.
+enum PostingRegion {
+ // If the region is unspecified, the job is only returned if it
+ // matches the [LocationFilter][google.cloud.talent.v4.LocationFilter].
+ POSTING_REGION_UNSPECIFIED = 0;
+
+ // In addition to exact location matching, job posting is returned when the
+ // [LocationFilter][google.cloud.talent.v4.LocationFilter] in the search query is in the same administrative area
+ // as the returned job posting. For example, if a `ADMINISTRATIVE_AREA` job
+ // is posted in "CA, USA", it's returned if [LocationFilter][google.cloud.talent.v4.LocationFilter] has
+ // "Mountain View".
+ //
+ // Administrative area refers to top-level administrative subdivision of this
+ // country. For example, US state, IT region, UK constituent nation and
+ // JP prefecture.
+ ADMINISTRATIVE_AREA = 1;
+
+ // In addition to exact location matching, job is returned when
+ // [LocationFilter][google.cloud.talent.v4.LocationFilter] in search query is in the same country as this job.
+ // For example, if a `NATION_WIDE` job is posted in "USA", it's
+ // returned if [LocationFilter][google.cloud.talent.v4.LocationFilter] has 'Mountain View'.
+ NATION = 2;
+
+ // Job allows employees to work remotely (telecommute).
+ // If locations are provided with this value, the job is
+ // considered as having a location, but telecommuting is allowed.
+ TELECOMMUTE = 3;
+}
+
+// Deprecated. All resources are only visible to the owner.
+//
+// An enum that represents who has view access to the resource.
+enum Visibility {
+ option deprecated = true;
+
+ // Default value.
+ VISIBILITY_UNSPECIFIED = 0;
+
+ // The resource is only visible to the GCP account who owns it.
+ ACCOUNT_ONLY = 1;
+
+ // The resource is visible to the owner and may be visible to other
+ // applications and processes at Google.
+ SHARED_WITH_GOOGLE = 2;
+
+ // The resource is visible to the owner and may be visible to all other API
+ // clients.
+ SHARED_WITH_PUBLIC = 3;
+}
+
+// Option for HTML content sanitization on user input fields, for example, job
+// description. By setting this option, user can determine whether and how
+// sanitization is performed on these fields.
+enum HtmlSanitization {
+ // Default value.
+ HTML_SANITIZATION_UNSPECIFIED = 0;
+
+ // Disables sanitization on HTML input.
+ HTML_SANITIZATION_DISABLED = 1;
+
+ // Sanitizes HTML input, only accepts bold, italic, ordered list, and
+ // unordered list markup tags.
+ SIMPLE_FORMATTING_ONLY = 2;
+}
+
+// Method for commute. Walking, biking and wheelchair accessible transit is
+// still in the Preview stage.
+enum CommuteMethod {
+ // Commute method isn't specified.
+ COMMUTE_METHOD_UNSPECIFIED = 0;
+
+ // Commute time is calculated based on driving time.
+ DRIVING = 1;
+
+ // Commute time is calculated based on public transit including bus, metro,
+ // subway, and so on.
+ TRANSIT = 2;
+
+ // Commute time is calculated based on walking time.
+ WALKING = 3;
+
+ // Commute time is calculated based on biking time.
+ CYCLING = 4;
+
+ // Commute time is calculated based on public transit that is wheelchair
+ // accessible.
+ TRANSIT_ACCESSIBLE = 5;
+}
+
+// A resource that represents a location with full geographic information.
+message Location {
+ // An enum which represents the type of a location.
+ enum LocationType {
+ // Default value if the type isn't specified.
+ LOCATION_TYPE_UNSPECIFIED = 0;
+
+ // A country level location.
+ COUNTRY = 1;
+
+ // A state or equivalent level location.
+ ADMINISTRATIVE_AREA = 2;
+
+ // A county or equivalent level location.
+ SUB_ADMINISTRATIVE_AREA = 3;
+
+ // A city or equivalent level location.
+ LOCALITY = 4;
+
+ // A postal code level location.
+ POSTAL_CODE = 5;
+
+ // A sublocality is a subdivision of a locality, for example a city borough,
+ // ward, or arrondissement. Sublocalities are usually recognized by a local
+ // political authority. For example, Manhattan and Brooklyn are recognized
+ // as boroughs by the City of New York, and are therefore modeled as
+ // sublocalities.
+ SUB_LOCALITY = 6;
+
+ // A district or equivalent level location.
+ SUB_LOCALITY_1 = 7;
+
+ // A smaller district or equivalent level display.
+ SUB_LOCALITY_2 = 8;
+
+ // A neighborhood level location.
+ NEIGHBORHOOD = 9;
+
+ // A street address level location.
+ STREET_ADDRESS = 10;
+ }
+
+ // The type of a location, which corresponds to the address lines field of
+ // [google.type.PostalAddress][google.type.PostalAddress]. For example, "Downtown, Atlanta, GA, USA"
+ // has a type of [LocationType.NEIGHBORHOOD][google.cloud.talent.v4.Location.LocationType.NEIGHBORHOOD], and "Kansas City, KS, USA"
+ // has a type of [LocationType.LOCALITY][google.cloud.talent.v4.Location.LocationType.LOCALITY].
+ LocationType location_type = 1;
+
+ // Postal address of the location that includes human readable information,
+ // such as postal delivery and payments addresses. Given a postal address,
+ // a postal service can deliver items to a premises, P.O. Box, or other
+ // delivery location.
+ google.type.PostalAddress postal_address = 2;
+
+ // An object representing a latitude/longitude pair.
+ google.type.LatLng lat_lng = 3;
+
+ // Radius in miles of the job location. This value is derived from the
+ // location bounding box in which a circle with the specified radius
+ // centered from [google.type.LatLng][google.type.LatLng] covers the area associated with the
+ // job location.
+ // For example, currently, "Mountain View, CA, USA" has a radius of
+ // 6.17 miles.
+ double radius_miles = 4;
+}
+
+// Meta information related to the job searcher or entity
+// conducting the job search. This information is used to improve the
+// performance of the service.
+message RequestMetadata {
+ // Required if [allow_missing_ids][google.cloud.talent.v4.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // The client-defined scope or source of the service call, which typically
+ // is the domain on
+ // which the service has been implemented and is currently being run.
+ //
+ // For example, if the service is being run by client Foo, Inc., on
+ // job board www.foo.com and career site www.bar.com, then this field is
+ // set to "foo.com" for use on the job board, and "bar.com" for use on the
+ // career site.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique domain.
+ //
+ // The maximum number of allowed characters is 255.
+ string domain = 1;
+
+ // Required if [allow_missing_ids][google.cloud.talent.v4.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // A unique session identification string. A session is defined as the
+ // duration of an end user's interaction with the service over a certain
+ // period.
+ // Obfuscate this field for privacy concerns before
+ // providing it to the service.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique session ID.
+ //
+ // The maximum number of allowed characters is 255.
+ string session_id = 2;
+
+ // Required if [allow_missing_ids][google.cloud.talent.v4.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // A unique user identification string, as determined by the client.
+ // To have the strongest positive impact on search quality
+ // make sure the client-level is unique.
+ // Obfuscate this field for privacy concerns before
+ // providing it to the service.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique user ID.
+ //
+ // The maximum number of allowed characters is 255.
+ string user_id = 3;
+
+ // Only set when any of [domain][google.cloud.talent.v4.RequestMetadata.domain], [session_id][google.cloud.talent.v4.RequestMetadata.session_id] and [user_id][google.cloud.talent.v4.RequestMetadata.user_id] isn't
+ // available for some reason. It is highly recommended not to set this field
+ // and provide accurate [domain][google.cloud.talent.v4.RequestMetadata.domain], [session_id][google.cloud.talent.v4.RequestMetadata.session_id] and [user_id][google.cloud.talent.v4.RequestMetadata.user_id] for the
+ // best service experience.
+ bool allow_missing_ids = 4;
+
+ // The type of device used by the job seeker at the time of the call to the
+ // service.
+ DeviceInfo device_info = 5;
+}
+
+// Additional information returned to client, such as debugging information.
+message ResponseMetadata {
+ // A unique id associated with this call.
+ // This id is logged for tracking purposes.
+ string request_id = 1;
+}
+
+// Device information collected from the job seeker, candidate, or
+// other entity conducting the job search. Providing this information improves
+// the quality of the search results across devices.
+message DeviceInfo {
+ // An enumeration describing an API access portal and exposure mechanism.
+ enum DeviceType {
+ // The device type isn't specified.
+ DEVICE_TYPE_UNSPECIFIED = 0;
+
+ // A desktop web browser, such as, Chrome, Firefox, Safari, or Internet
+ // Explorer)
+ WEB = 1;
+
+ // A mobile device web browser, such as a phone or tablet with a Chrome
+ // browser.
+ MOBILE_WEB = 2;
+
+ // An Android device native application.
+ ANDROID = 3;
+
+ // An iOS device native application.
+ IOS = 4;
+
+ // A bot, as opposed to a device operated by human beings, such as a web
+ // crawler.
+ BOT = 5;
+
+ // Other devices types.
+ OTHER = 6;
+ }
+
+ // Type of the device.
+ DeviceType device_type = 1;
+
+ // A device-specific ID. The ID must be a unique identifier that
+ // distinguishes the device from other devices.
+ string id = 2;
+}
+
+// Custom attribute values that are either filterable or non-filterable.
+message CustomAttribute {
+ // Exactly one of [string_values][google.cloud.talent.v4.CustomAttribute.string_values] or [long_values][google.cloud.talent.v4.CustomAttribute.long_values] must be specified.
+ //
+ // This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+ // `CASE_INSENSITIVE_MATCH`) search.
+ // For filterable `string_value`s, a maximum total number of 200 values
+ // is allowed, with each `string_value` has a byte size of no more than
+ // 500B. For unfilterable `string_values`, the maximum total byte size of
+ // unfilterable `string_values` is 50KB.
+ //
+ // Empty string isn't allowed.
+ repeated string string_values = 1;
+
+ // Exactly one of [string_values][google.cloud.talent.v4.CustomAttribute.string_values] or [long_values][google.cloud.talent.v4.CustomAttribute.long_values] must be specified.
+ //
+ // This field is used to perform number range search.
+ // (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+ //
+ // Currently at most 1 [long_values][google.cloud.talent.v4.CustomAttribute.long_values] is supported.
+ repeated int64 long_values = 2;
+
+ // If the `filterable` flag is true, the custom field values may be used for
+ // custom attribute filters [JobQuery.custom_attribute_filter][google.cloud.talent.v4.JobQuery.custom_attribute_filter].
+ // If false, these values may not be used for custom attribute filters.
+ //
+ // Default is false.
+ bool filterable = 3;
+
+ // If the `keyword_searchable` flag is true, the keywords in custom fields are
+ // searchable by keyword match.
+ // If false, the values are not searchable by keyword match.
+ //
+ // Default is false.
+ bool keyword_searchable = 4;
+}
+
+// Spell check result.
+message SpellingCorrection {
+ // Indicates if the query was corrected by the spell checker.
+ bool corrected = 1;
+
+ // Correction output consisting of the corrected keyword string.
+ string corrected_text = 2;
+
+ // Corrected output with html tags to highlight the corrected words.
+ // Corrected words are called out with the "..." html tags.
+ //
+ // For example, the user input query is "software enginear", where the second
+ // word, "enginear," is incorrect. It should be "engineer". When spelling
+ // correction is enabled, this value is
+ // "software engineer".
+ string corrected_html = 3;
+}
+
+// Job compensation details.
+message CompensationInfo {
+ // A compensation entry that represents one component of compensation, such
+ // as base pay, bonus, or other compensation type.
+ //
+ // Annualization: One compensation entry can be annualized if
+ // - it contains valid [amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] or [range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range].
+ // - and its [expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year] is set or can be derived.
+ // Its annualized range is determined as ([amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] or [range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range]) times
+ // [expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year].
+ message CompensationEntry {
+ // Compensation type.
+ //
+ // Default is [CompensationType.COMPENSATION_TYPE_UNSPECIFIED][google.cloud.talent.v4.CompensationInfo.CompensationType.COMPENSATION_TYPE_UNSPECIFIED].
+ CompensationType type = 1;
+
+ // Frequency of the specified amount.
+ //
+ // Default is [CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED][google.cloud.talent.v4.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED].
+ CompensationUnit unit = 2;
+
+ // Compensation amount. It could be a fixed amount or a floating range.
+ oneof compensation_amount {
+ // Compensation amount.
+ google.type.Money amount = 3;
+
+ // Compensation range.
+ CompensationRange range = 4;
+ }
+
+ // Compensation description. For example, could
+ // indicate equity terms or provide additional context to an estimated
+ // bonus.
+ string description = 5;
+
+ // Expected number of units paid each year. If not specified, when
+ // [Job.employment_types][google.cloud.talent.v4.Job.employment_types] is FULLTIME, a default value is inferred
+ // based on [unit][google.cloud.talent.v4.CompensationInfo.CompensationEntry.unit]. Default values:
+ // - HOURLY: 2080
+ // - DAILY: 260
+ // - WEEKLY: 52
+ // - MONTHLY: 12
+ // - ANNUAL: 1
+ google.protobuf.DoubleValue expected_units_per_year = 6;
+ }
+
+ // The type of compensation.
+ //
+ // For compensation amounts specified in non-monetary amounts,
+ // describe the compensation scheme in the [CompensationEntry.description][google.cloud.talent.v4.CompensationInfo.CompensationEntry.description].
+ //
+ // For example, tipping format is described in
+ // [CompensationEntry.description][google.cloud.talent.v4.CompensationInfo.CompensationEntry.description] (for example, "expect 15-20% tips based
+ // on customer bill.") and an estimate of the tips provided in
+ // [CompensationEntry.amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] or [CompensationEntry.range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range] ($10 per hour).
+ //
+ // For example, equity is described in [CompensationEntry.description][google.cloud.talent.v4.CompensationInfo.CompensationEntry.description]
+ // (for example, "1% - 2% equity vesting over 4 years, 1 year cliff") and
+ // value estimated in [CompensationEntry.amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] or
+ // [CompensationEntry.range][google.cloud.talent.v4.CompensationInfo.CompensationEntry.range]. If no value estimate is possible, units are
+ // [CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED][google.cloud.talent.v4.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED] and then further
+ // clarified in [CompensationEntry.description][google.cloud.talent.v4.CompensationInfo.CompensationEntry.description] field.
+ enum CompensationType {
+ // Default value.
+ COMPENSATION_TYPE_UNSPECIFIED = 0;
+
+ // Base compensation: Refers to the fixed amount of money paid to an
+ // employee by an employer in return for work performed. Base compensation
+ // does not include benefits, bonuses or any other potential compensation
+ // from an employer.
+ BASE = 1;
+
+ // Bonus.
+ BONUS = 2;
+
+ // Signing bonus.
+ SIGNING_BONUS = 3;
+
+ // Equity.
+ EQUITY = 4;
+
+ // Profit sharing.
+ PROFIT_SHARING = 5;
+
+ // Commission.
+ COMMISSIONS = 6;
+
+ // Tips.
+ TIPS = 7;
+
+ // Other compensation type.
+ OTHER_COMPENSATION_TYPE = 8;
+ }
+
+ // Pay frequency.
+ enum CompensationUnit {
+ // Default value.
+ COMPENSATION_UNIT_UNSPECIFIED = 0;
+
+ // Hourly.
+ HOURLY = 1;
+
+ // Daily.
+ DAILY = 2;
+
+ // Weekly
+ WEEKLY = 3;
+
+ // Monthly.
+ MONTHLY = 4;
+
+ // Yearly.
+ YEARLY = 5;
+
+ // One time.
+ ONE_TIME = 6;
+
+ // Other compensation units.
+ OTHER_COMPENSATION_UNIT = 7;
+ }
+
+ // Compensation range.
+ message CompensationRange {
+ // The maximum amount of compensation. If left empty, the value is set
+ // to a maximal compensation value and the currency code is set to
+ // match the [currency code][google.type.Money.currency_code] of
+ // min_compensation.
+ google.type.Money max_compensation = 2;
+
+ // The minimum amount of compensation. If left empty, the value is set
+ // to zero and the currency code is set to match the
+ // [currency code][google.type.Money.currency_code] of max_compensation.
+ google.type.Money min_compensation = 1;
+ }
+
+ // Job compensation information.
+ //
+ // At most one entry can be of type
+ // [CompensationInfo.CompensationType.BASE][google.cloud.talent.v4.CompensationInfo.CompensationType.BASE], which is
+ // referred as **base compensation entry** for the job.
+ repeated CompensationEntry entries = 1;
+
+ // Output only. Annualized base compensation range. Computed as base compensation entry's
+ // [CompensationEntry.amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] times
+ // [CompensationEntry.expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year].
+ //
+ // See [CompensationEntry][google.cloud.talent.v4.CompensationInfo.CompensationEntry] for explanation on compensation annualization.
+ CompensationRange annualized_base_compensation_range = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Annualized total compensation range. Computed as all compensation entries'
+ // [CompensationEntry.amount][google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount] times
+ // [CompensationEntry.expected_units_per_year][google.cloud.talent.v4.CompensationInfo.CompensationEntry.expected_units_per_year].
+ //
+ // See [CompensationEntry][google.cloud.talent.v4.CompensationInfo.CompensationEntry] for explanation on compensation annualization.
+ CompensationRange annualized_total_compensation_range = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Metadata used for long running operations returned by CTS batch APIs.
+// It's used to replace [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata].
+message BatchOperationMetadata {
+ enum State {
+ // Default value.
+ STATE_UNSPECIFIED = 0;
+
+ // The batch operation is being prepared for processing.
+ INITIALIZING = 1;
+
+ // The batch operation is actively being processed.
+ PROCESSING = 2;
+
+ // The batch operation is processed, and at least one item has been
+ // successfully processed.
+ SUCCEEDED = 3;
+
+ // The batch operation is done and no item has been successfully processed.
+ FAILED = 4;
+
+ // The batch operation is in the process of cancelling after
+ // [google.longrunning.Operations.CancelOperation][google.longrunning.Operations.CancelOperation] is called.
+ CANCELLING = 5;
+
+ // The batch operation is done after
+ // [google.longrunning.Operations.CancelOperation][google.longrunning.Operations.CancelOperation] is called. Any items
+ // processed before cancelling are returned in the response.
+ CANCELLED = 6;
+ }
+
+ // The state of a long running operation.
+ State state = 1;
+
+ // More detailed information about operation state.
+ string state_description = 2;
+
+ // Count of successful item(s) inside an operation.
+ int32 success_count = 3;
+
+ // Count of failed item(s) inside an operation.
+ int32 failure_count = 4;
+
+ // Count of total item(s) inside an operation.
+ int32 total_count = 5;
+
+ // The time when the batch operation is created.
+ google.protobuf.Timestamp create_time = 6;
+
+ // The time when the batch operation status is updated. The metadata and the
+ // [update_time][google.cloud.talent.v4.BatchOperationMetadata.update_time] is refreshed every minute otherwise cached data is
+ // returned.
+ google.protobuf.Timestamp update_time = 7;
+
+ // The time when the batch operation is finished and
+ // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to `true`.
+ google.protobuf.Timestamp end_time = 8;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/company.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/company.proto
new file mode 100644
index 00000000000..075e7bcfbb2
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/company.proto
@@ -0,0 +1,117 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A Company resource represents a company in the service. A company is the
+// entity that owns job postings, that is, the hiring entity responsible for
+// employing applicants for the job position.
+message Company {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Company"
+ pattern: "projects/{project}/tenants/{tenant}/companies/{company}"
+ };
+
+ // Derived details about the company.
+ message DerivedInfo {
+ // A structured headquarters location of the company, resolved from
+ // [Company.headquarters_address][google.cloud.talent.v4.Company.headquarters_address] if provided.
+ Location headquarters_location = 1;
+ }
+
+ // Required during company update.
+ //
+ // The resource name for a company. This is generated by the service when a
+ // company is created.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ string name = 1;
+
+ // Required. The display name of the company, for example, "Google LLC".
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Client side company identifier, used to uniquely identify the
+ // company.
+ //
+ // The maximum number of allowed characters is 255.
+ string external_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The employer's company size.
+ CompanySize size = 4;
+
+ // The street address of the company's main headquarters, which may be
+ // different from the job location. The service attempts
+ // to geolocate the provided address, and populates a more specific
+ // location wherever possible in [DerivedInfo.headquarters_location][google.cloud.talent.v4.Company.DerivedInfo.headquarters_location].
+ string headquarters_address = 5;
+
+ // Set to true if it is the hiring agency that post jobs for other
+ // employers.
+ //
+ // Defaults to false if not provided.
+ bool hiring_agency = 6;
+
+ // Equal Employment Opportunity legal disclaimer text to be
+ // associated with all jobs, and typically to be displayed in all
+ // roles.
+ //
+ // The maximum number of allowed characters is 500.
+ string eeo_text = 7;
+
+ // The URI representing the company's primary web site or home page,
+ // for example, "https://www.google.com".
+ //
+ // The maximum number of allowed characters is 255.
+ string website_uri = 8;
+
+ // The URI to employer's career site or careers page on the employer's web
+ // site, for example, "https://careers.google.com".
+ string career_site_uri = 9;
+
+ // A URI that hosts the employer's company logo.
+ string image_uri = 10;
+
+ // This field is deprecated. Please set the searchability of the custom
+ // attribute in the [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes] going forward.
+ //
+ // A list of keys of filterable [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes], whose
+ // corresponding `string_values` are used in keyword searches. Jobs with
+ // `string_values` under these specified field keys are returned if any
+ // of the values match the search keyword. Custom field values with
+ // parenthesis, brackets and special symbols are not searchable as-is,
+ // and those keyword queries must be surrounded by quotes.
+ repeated string keyword_searchable_job_custom_attributes = 11 [deprecated = true];
+
+ // Output only. Derived details about the company.
+ DerivedInfo derived_info = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates whether a company is flagged to be suspended from
+ // public availability by the service when job content appears suspicious,
+ // abusive, or spammy.
+ bool suspended = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/company_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/company_service.proto
new file mode 100644
index 00000000000..797d92108cb
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/company_service.proto
@@ -0,0 +1,187 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+import "google/cloud/talent/v4/company.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyServiceProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A service that handles company management, including CRUD and enumeration.
+service CompanyService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new company entity.
+ rpc CreateCompany(CreateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/companies"
+ body: "company"
+ };
+ option (google.api.method_signature) = "parent,company";
+ }
+
+ // Retrieves specified company.
+ rpc GetCompany(GetCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ get: "/v4/{name=projects/*/tenants/*/companies/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified company.
+ rpc UpdateCompany(UpdateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ patch: "/v4/{company.name=projects/*/tenants/*/companies/*}"
+ body: "company"
+ };
+ option (google.api.method_signature) = "company,update_mask";
+ }
+
+ // Deletes specified company.
+ // Prerequisite: The company has no jobs associated with it.
+ rpc DeleteCompany(DeleteCompanyRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4/{name=projects/*/tenants/*/companies/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all companies associated with the project.
+ rpc ListCompanies(ListCompaniesRequest) returns (ListCompaniesResponse) {
+ option (google.api.http) = {
+ get: "/v4/{parent=projects/*/tenants/*}/companies"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// The Request of the CreateCompany method.
+message CreateCompanyRequest {
+ // Required. Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+
+ // Required. The company to be created.
+ Company company = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for getting a company by name.
+message GetCompanyRequest {
+ // Required. The resource name of the company to be retrieved.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/api-test-project/tenants/foo/companies/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+}
+
+// Request for updating a specified company.
+message UpdateCompanyRequest {
+ // Required. The company resource to replace the current resource in the system.
+ Company company = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4.UpdateCompanyRequest.update_mask] is provided, only the specified fields in
+ // [company][google.cloud.talent.v4.UpdateCompanyRequest.company] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to specify the company fields to be updated. Only
+ // top level fields of [Company][google.cloud.talent.v4.Company] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a company.
+message DeleteCompanyRequest {
+ // Required. The resource name of the company to be deleted.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+}
+
+// List companies for which the client has ACL visibility.
+message ListCompaniesRequest {
+ // Required. Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+
+ // The starting indicator from which to return results.
+ string page_token = 2;
+
+ // The maximum number of companies to be returned, at most 100.
+ // Default is 100 if a non-positive number is provided.
+ int32 page_size = 3;
+
+ // Set to true if the companies requested must have open jobs.
+ //
+ // Defaults to false.
+ //
+ // If true, at most [page_size][google.cloud.talent.v4.ListCompaniesRequest.page_size] of companies are fetched, among which
+ // only those with open jobs are returned.
+ bool require_open_jobs = 4;
+}
+
+// The List companies response object.
+message ListCompaniesResponse {
+ // Companies for the current client.
+ repeated Company companies = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/completion_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/completion_service.proto
new file mode 100644
index 00000000000..c053c6ce1b3
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/completion_service.proto
@@ -0,0 +1,154 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompletionServiceProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A service handles auto completion.
+service Completion {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Completes the specified prefix with keyword suggestions.
+ // Intended for use by a job search auto-complete search box.
+ rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) {
+ option (google.api.http) = {
+ get: "/v4/{tenant=projects/*/tenants/*}:completeQuery"
+ };
+ }
+}
+
+// Auto-complete parameters.
+message CompleteQueryRequest {
+ // Enum to specify the scope of completion.
+ enum CompletionScope {
+ // Default value.
+ COMPLETION_SCOPE_UNSPECIFIED = 0;
+
+ // Suggestions are based only on the data provided by the client.
+ TENANT = 1;
+
+ // Suggestions are based on all jobs data in the system that's visible to
+ // the client
+ PUBLIC = 2;
+ }
+
+ // Enum to specify auto-completion topics.
+ enum CompletionType {
+ // Default value.
+ COMPLETION_TYPE_UNSPECIFIED = 0;
+
+ // Suggest job titles for jobs autocomplete.
+ //
+ // For [CompletionType.JOB_TITLE][google.cloud.talent.v4.CompleteQueryRequest.CompletionType.JOB_TITLE] type, only open jobs with the same
+ // [language_codes][google.cloud.talent.v4.CompleteQueryRequest.language_codes] are returned.
+ JOB_TITLE = 1;
+
+ // Suggest company names for jobs autocomplete.
+ //
+ // For [CompletionType.COMPANY_NAME][google.cloud.talent.v4.CompleteQueryRequest.CompletionType.COMPANY_NAME] type,
+ // only companies having open jobs with the same [language_codes][google.cloud.talent.v4.CompleteQueryRequest.language_codes] are
+ // returned.
+ COMPANY_NAME = 2;
+
+ // Suggest both job titles and company names for jobs autocomplete.
+ //
+ // For [CompletionType.COMBINED][google.cloud.talent.v4.CompleteQueryRequest.CompletionType.COMBINED] type, only open jobs with the same
+ // [language_codes][google.cloud.talent.v4.CompleteQueryRequest.language_codes] or companies having open jobs with the same
+ // [language_codes][google.cloud.talent.v4.CompleteQueryRequest.language_codes] are returned.
+ COMBINED = 3;
+ }
+
+ // Required. Resource name of tenant the completion is performed within.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string tenant = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+
+ // Required. The query used to generate suggestions.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The list of languages of the query. This is
+ // the BCP-47 language code, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ //
+ // The maximum number of allowed characters is 255.
+ repeated string language_codes = 3;
+
+ // Required. Completion result count.
+ //
+ // The maximum allowed page size is 10.
+ int32 page_size = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // If provided, restricts completion to specified company.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ string company = 5 [(google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }];
+
+ // The scope of the completion. The defaults is [CompletionScope.PUBLIC][google.cloud.talent.v4.CompleteQueryRequest.CompletionScope.PUBLIC].
+ CompletionScope scope = 6;
+
+ // The completion topic. The default is [CompletionType.COMBINED][google.cloud.talent.v4.CompleteQueryRequest.CompletionType.COMBINED].
+ CompletionType type = 7;
+}
+
+// Response of auto-complete query.
+message CompleteQueryResponse {
+ // Resource that represents completion results.
+ message CompletionResult {
+ // The suggestion for the query.
+ string suggestion = 1;
+
+ // The completion topic.
+ CompleteQueryRequest.CompletionType type = 2;
+
+ // The URI of the company image for
+ // [COMPANY_NAME][google.cloud.talent.v4.CompleteQueryRequest.CompletionType.COMPANY_NAME].
+ string image_uri = 3;
+ }
+
+ // Results of the matching job/company candidates.
+ repeated CompletionResult completion_results = 1;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 2;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/event.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/event.proto
new file mode 100644
index 00000000000..53545d65852
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/event.proto
@@ -0,0 +1,170 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "EventProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// An event issued when an end user interacts with the application that
+// implements Cloud Talent Solution. Providing this information improves the
+// quality of results for the API clients, enabling the
+// service to perform optimally. The number of events sent must be consistent
+// with other calls, such as job searches, issued to the service by the client.
+message ClientEvent {
+ // Strongly recommended for the best service experience.
+ //
+ // A unique ID generated in the API responses. It can be found in
+ // [ResponseMetadata.request_id][google.cloud.talent.v4.ResponseMetadata.request_id].
+ string request_id = 1;
+
+ // Required. A unique identifier, generated by the client application.
+ string event_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The timestamp of the event.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required.
+ //
+ // The detail information of a specific event type.
+ oneof event {
+ // An event issued when a job seeker interacts with the application that
+ // implements Cloud Talent Solution.
+ JobEvent job_event = 5;
+ }
+
+ // Notes about the event provided by recruiters or other users, for example,
+ // feedback on why a job was bookmarked.
+ string event_notes = 9;
+}
+
+// An event issued when a job seeker interacts with the application that
+// implements Cloud Talent Solution.
+message JobEvent {
+ // An enumeration of an event attributed to the behavior of the end user,
+ // such as a job seeker.
+ enum JobEventType {
+ // The event is unspecified by other provided values.
+ JOB_EVENT_TYPE_UNSPECIFIED = 0;
+
+ // The job seeker or other entity interacting with the service has
+ // had a job rendered in their view, such as in a list of search results in
+ // a compressed or clipped format. This event is typically associated with
+ // the viewing of a jobs list on a single page by a job seeker.
+ IMPRESSION = 1;
+
+ // The job seeker, or other entity interacting with the service, has
+ // viewed the details of a job, including the full description. This
+ // event doesn't apply to the viewing a snippet of a job appearing as a
+ // part of the job search results. Viewing a snippet is associated with an
+ // [impression][google.cloud.talent.v4.JobEvent.JobEventType.IMPRESSION]).
+ VIEW = 2;
+
+ // The job seeker or other entity interacting with the service
+ // performed an action to view a job and was redirected to a different
+ // website for job.
+ VIEW_REDIRECT = 3;
+
+ // The job seeker or other entity interacting with the service
+ // began the process or demonstrated the intention of applying for a job.
+ APPLICATION_START = 4;
+
+ // The job seeker or other entity interacting with the service
+ // submitted an application for a job.
+ APPLICATION_FINISH = 5;
+
+ // The job seeker or other entity interacting with the service
+ // submitted an application for a job with a single click without
+ // entering information. If a job seeker performs this action, send only
+ // this event to the service. Do not also send
+ // [JobEventType.APPLICATION_START][google.cloud.talent.v4.JobEvent.JobEventType.APPLICATION_START] or [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4.JobEvent.JobEventType.APPLICATION_FINISH]
+ // events.
+ APPLICATION_QUICK_SUBMISSION = 6;
+
+ // The job seeker or other entity interacting with the service
+ // performed an action to apply to a job and was redirected to a different
+ // website to complete the application.
+ APPLICATION_REDIRECT = 7;
+
+ // The job seeker or other entity interacting with the service began the
+ // process or demonstrated the intention of applying for a job from the
+ // search results page without viewing the details of the job posting.
+ // If sending this event, JobEventType.VIEW event shouldn't be sent.
+ APPLICATION_START_FROM_SEARCH = 8;
+
+ // The job seeker, or other entity interacting with the service, performs an
+ // action with a single click from the search results page to apply to a job
+ // (without viewing the details of the job posting), and is redirected
+ // to a different website to complete the application. If a candidate
+ // performs this action, send only this event to the service. Do not also
+ // send [JobEventType.APPLICATION_START][google.cloud.talent.v4.JobEvent.JobEventType.APPLICATION_START],
+ // [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4.JobEvent.JobEventType.APPLICATION_FINISH] or [JobEventType.VIEW][google.cloud.talent.v4.JobEvent.JobEventType.VIEW] events.
+ APPLICATION_REDIRECT_FROM_SEARCH = 9;
+
+ // This event should be used when a company submits an application
+ // on behalf of a job seeker. This event is intended for use by staffing
+ // agencies attempting to place candidates.
+ APPLICATION_COMPANY_SUBMIT = 10;
+
+ // The job seeker or other entity interacting with the service demonstrated
+ // an interest in a job by bookmarking or saving it.
+ BOOKMARK = 11;
+
+ // The job seeker or other entity interacting with the service was
+ // sent a notification, such as an email alert or device notification,
+ // containing one or more jobs listings generated by the service.
+ NOTIFICATION = 12;
+
+ // The job seeker or other entity interacting with the service was
+ // employed by the hiring entity (employer). Send this event
+ // only if the job seeker was hired through an application that was
+ // initiated by a search conducted through the Cloud Talent Solution
+ // service.
+ HIRED = 13;
+
+ // A recruiter or staffing agency submitted an application on behalf of the
+ // candidate after interacting with the service to identify a suitable job
+ // posting.
+ SENT_CV = 14;
+
+ // The entity interacting with the service (for example, the job seeker),
+ // was granted an initial interview by the hiring entity (employer). This
+ // event should only be sent if the job seeker was granted an interview as
+ // part of an application that was initiated by a search conducted through /
+ // recommendation provided by the Cloud Talent Solution service.
+ INTERVIEW_GRANTED = 15;
+ }
+
+ // Required. The type of the event (see [JobEventType][google.cloud.talent.v4.JobEvent.JobEventType]).
+ JobEventType type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The [job name(s)][google.cloud.talent.v4.Job.name] associated with this event.
+ // For example, if this is an [impression][google.cloud.talent.v4.JobEvent.JobEventType.IMPRESSION] event,
+ // this field contains the identifiers of all jobs shown to the job seeker.
+ // If this was a [view][google.cloud.talent.v4.JobEvent.JobEventType.VIEW] event, this field contains the
+ // identifier of the viewed job.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ repeated string jobs = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/event_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/event_service.proto
new file mode 100644
index 00000000000..40f6c7e2100
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/event_service.proto
@@ -0,0 +1,70 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/event.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "EventServiceProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A service handles client event report.
+service EventService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Report events issued when end user interacts with customer's application
+ // that uses Cloud Talent Solution. You may inspect the created events in
+ // [self service
+ // tools](https://console.cloud.google.com/talent-solution/overview).
+ // [Learn
+ // more](https://cloud.google.com/talent-solution/docs/management-tools)
+ // about self service tools.
+ rpc CreateClientEvent(CreateClientEventRequest) returns (ClientEvent) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/clientEvents"
+ body: "client_event"
+ };
+ option (google.api.method_signature) = "parent,client_event";
+ }
+}
+
+// The report event request.
+message CreateClientEventRequest {
+ // Required. Resource name of the tenant under which the event is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+
+ // Required. Events issued when end user interacts with customer's application that
+ // uses Cloud Talent Solution.
+ ClientEvent client_event = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto
new file mode 100644
index 00000000000..8018dc5516b
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto
@@ -0,0 +1,363 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/cloud/talent/v4/common.proto";
+import "google/protobuf/duration.proto";
+import "google/type/latlng.proto";
+import "google/type/timeofday.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "FiltersProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// The query required to perform a search query.
+message JobQuery {
+ // The query string that matches against the job title, description, and
+ // location fields.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 1;
+
+ // The language code of [query][google.cloud.talent.v4.JobQuery.query]. For example, "en-US". This field helps to
+ // better interpret the query.
+ //
+ // If a value isn't specified, the query language code is automatically
+ // detected, which may not be accurate.
+ //
+ // Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ string query_language_code = 14;
+
+ // This filter specifies the company entities to search against.
+ //
+ // If a value isn't specified, jobs are searched for against all
+ // companies.
+ //
+ // If multiple values are specified, jobs are searched against the
+ // companies specified.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // At most 20 company filters are allowed.
+ repeated string companies = 2;
+
+ // The location filter specifies geo-regions containing the jobs to
+ // search against. See [LocationFilter][google.cloud.talent.v4.LocationFilter] for more information.
+ //
+ // If a location value isn't specified, jobs fitting the other search
+ // criteria are retrieved regardless of where they're located.
+ //
+ // If multiple values are specified, jobs are retrieved from any of the
+ // specified locations. If different values are specified for the
+ // [LocationFilter.distance_in_miles][google.cloud.talent.v4.LocationFilter.distance_in_miles] parameter, the maximum provided
+ // distance is used for all locations.
+ //
+ // At most 5 location filters are allowed.
+ repeated LocationFilter location_filters = 3;
+
+ // The category filter specifies the categories of jobs to search against.
+ // See [JobCategory][google.cloud.talent.v4.JobCategory] for more information.
+ //
+ // If a value isn't specified, jobs from any category are searched against.
+ //
+ // If multiple values are specified, jobs from any of the specified
+ // categories are searched against.
+ repeated JobCategory job_categories = 4;
+
+ // Allows filtering jobs by commute time with different travel methods (for
+ // example, driving or public transit).
+ //
+ // Note: This only works when you specify a [CommuteMethod][google.cloud.talent.v4.CommuteMethod]. In this case,
+ // [location_filters][google.cloud.talent.v4.JobQuery.location_filters] is ignored.
+ //
+ // Currently we don't support sorting by commute time.
+ CommuteFilter commute_filter = 5;
+
+ // This filter specifies the company [Company.display_name][google.cloud.talent.v4.Company.display_name]
+ // of the jobs to search against. The company name must match the value
+ // exactly.
+ //
+ // Alternatively, the value being searched for can be wrapped in different
+ // match operators.
+ // `SUBSTRING_MATCH([value])`
+ // The company name must contain a case insensitive substring match of the
+ // value. Using this function may increase latency.
+ //
+ // Sample Value: `SUBSTRING_MATCH(google)`
+ //
+ // `MULTI_WORD_TOKEN_MATCH([value])`
+ // The value will be treated as a multi word token and the company name must
+ // contain a case insensitive match of the value. Using this function may
+ // increase latency.
+ //
+ // Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
+ //
+ // If a value isn't specified, jobs within the search results are
+ // associated with any company.
+ //
+ // If multiple values are specified, jobs within the search results may be
+ // associated with any of the specified companies.
+ //
+ // At most 20 company display name filters are allowed.
+ repeated string company_display_names = 6;
+
+ // This search filter is applied only to
+ // [Job.compensation_info][google.cloud.talent.v4.Job.compensation_info]. For example, if the filter is specified
+ // as "Hourly job with per-hour compensation > $15", only jobs meeting
+ // these criteria are searched. If a filter isn't defined, all open jobs
+ // are searched.
+ CompensationFilter compensation_filter = 7;
+
+ // This filter specifies a structured syntax to match against the
+ // [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes] marked as `filterable`.
+ //
+ // The syntax for this expression is a subset of SQL syntax.
+ //
+ // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the
+ // left of the operator is a custom field key and the right of the operator
+ // is a number or a quoted string. You must escape backslash (\\) and
+ // quote (\") characters.
+ //
+ // Supported functions are `LOWER([field_name])` to
+ // perform a case insensitive match and `EMPTY([field_name])` to filter on the
+ // existence of a key.
+ //
+ // Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+ // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
+ // comparisons or functions are allowed in the expression. The expression
+ // must be < 10000 bytes in length.
+ //
+ // Sample Query:
+ // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
+ // driving_years > 10`
+ string custom_attribute_filter = 8;
+
+ // This flag controls the spell-check feature. If false, the
+ // service attempts to correct a misspelled query,
+ // for example, "enginee" is corrected to "engineer".
+ //
+ // Defaults to false: a spell check is performed.
+ bool disable_spell_check = 9;
+
+ // The employment type filter specifies the employment type of jobs to
+ // search against, such as [EmploymentType.FULL_TIME][google.cloud.talent.v4.EmploymentType.FULL_TIME].
+ //
+ // If a value isn't specified, jobs in the search results includes any
+ // employment type.
+ //
+ // If multiple values are specified, jobs in the search results include
+ // any of the specified employment types.
+ repeated EmploymentType employment_types = 10;
+
+ // This filter specifies the locale of jobs to search against,
+ // for example, "en-US".
+ //
+ // If a value isn't specified, the search results can contain jobs in any
+ // locale.
+ //
+ //
+ // Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ //
+ // At most 10 language code filters are allowed.
+ repeated string language_codes = 11;
+
+ // Jobs published within a range specified by this filter are searched
+ // against.
+ TimestampRange publish_time_range = 12;
+
+ // This filter specifies a list of job names to be excluded during search.
+ //
+ // At most 400 excluded job names are allowed.
+ repeated string excluded_jobs = 13;
+}
+
+// Geographic region of the search.
+message LocationFilter {
+ // Specify whether to include telecommute jobs.
+ enum TelecommutePreference {
+ // Default value if the telecommute preference isn't specified.
+ TELECOMMUTE_PREFERENCE_UNSPECIFIED = 0;
+
+ // Deprecated: Ignore telecommute status of jobs. Use
+ // TELECOMMUTE_JOBS_EXCLUDED if want to exclude telecommute jobs.
+ TELECOMMUTE_EXCLUDED = 1 [deprecated = true];
+
+ // Allow telecommute jobs.
+ TELECOMMUTE_ALLOWED = 2;
+
+ // Exclude telecommute jobs.
+ TELECOMMUTE_JOBS_EXCLUDED = 3;
+ }
+
+ // The address name, such as "Mountain View" or "Bay Area".
+ string address = 1;
+
+ // CLDR region code of the country/region. This field may be used in two ways:
+ //
+ // 1) If telecommute preference is not set, this field is used address
+ // ambiguity of the user-input address. For example, "Liverpool" may refer to
+ // "Liverpool, NY, US" or "Liverpool, UK". This region code biases the
+ // address resolution toward a specific country or territory. If this field is
+ // not set, address resolution is biased toward the United States by default.
+ //
+ // 2) If telecommute preference is set to TELECOMMUTE_ALLOWED, the
+ // telecommute location filter will be limited to the region specified in this
+ // field. If this field is not set, the telecommute job locations will not be
+ //
+ // See
+ // https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html
+ // for details. Example: "CH" for Switzerland.
+ string region_code = 2;
+
+ // The latitude and longitude of the geographic center to search from. This
+ // field is ignored if `address` is provided.
+ google.type.LatLng lat_lng = 3;
+
+ // The distance_in_miles is applied when the location being searched for is
+ // identified as a city or smaller. This field is ignored if the location
+ // being searched for is a state or larger.
+ double distance_in_miles = 4;
+
+ // Allows the client to return jobs without a
+ // set location, specifically, telecommuting jobs (telecommuting is considered
+ // by the service as a special location).
+ // [Job.posting_region][google.cloud.talent.v4.Job.posting_region] indicates if a job permits telecommuting.
+ // If this field is set to [TelecommutePreference.TELECOMMUTE_ALLOWED][google.cloud.talent.v4.LocationFilter.TelecommutePreference.TELECOMMUTE_ALLOWED],
+ // telecommuting jobs are searched, and [address][google.cloud.talent.v4.LocationFilter.address] and [lat_lng][google.cloud.talent.v4.LocationFilter.lat_lng] are
+ // ignored. If not set or set to
+ // [TelecommutePreference.TELECOMMUTE_EXCLUDED][google.cloud.talent.v4.LocationFilter.TelecommutePreference.TELECOMMUTE_EXCLUDED], the telecommute status of
+ // the jobs is ignored. Jobs that have [PostingRegion.TELECOMMUTE][google.cloud.talent.v4.PostingRegion.TELECOMMUTE] and have
+ // additional [Job.addresses][google.cloud.talent.v4.Job.addresses] may still be matched based on other location
+ // filters using [address][google.cloud.talent.v4.LocationFilter.address] or [latlng][].
+ //
+ // This filter can be used by itself to search exclusively for telecommuting
+ // jobs, or it can be combined with another location
+ // filter to search for a combination of job locations,
+ // such as "Mountain View" or "telecommuting" jobs. However, when used in
+ // combination with other location filters, telecommuting jobs can be
+ // treated as less relevant than other jobs in the search response.
+ //
+ // This field is only used for job search requests.
+ TelecommutePreference telecommute_preference = 5;
+}
+
+// Filter on job compensation type and amount.
+message CompensationFilter {
+ // Specify the type of filtering.
+ enum FilterType {
+ // Filter type unspecified. Position holder, INVALID, should never be used.
+ FILTER_TYPE_UNSPECIFIED = 0;
+
+ // Filter by `base compensation entry's` unit. A job is a match if and
+ // only if the job contains a base CompensationEntry and the base
+ // CompensationEntry's unit matches provided [units][google.cloud.talent.v4.CompensationFilter.units].
+ // Populate one or more [units][google.cloud.talent.v4.CompensationFilter.units].
+ //
+ // See [CompensationInfo.CompensationEntry][google.cloud.talent.v4.CompensationInfo.CompensationEntry] for definition of
+ // base compensation entry.
+ UNIT_ONLY = 1;
+
+ // Filter by `base compensation entry's` unit and amount / range. A job
+ // is a match if and only if the job contains a base CompensationEntry, and
+ // the base entry's unit matches provided
+ // [CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit] and
+ // amount or range overlaps with provided
+ // [CompensationRange][google.cloud.talent.v4.CompensationInfo.CompensationRange].
+ //
+ // See [CompensationInfo.CompensationEntry][google.cloud.talent.v4.CompensationInfo.CompensationEntry] for definition of
+ // base compensation entry.
+ //
+ // Set exactly one [units][google.cloud.talent.v4.CompensationFilter.units] and populate [range][google.cloud.talent.v4.CompensationFilter.range].
+ UNIT_AND_AMOUNT = 2;
+
+ // Filter by annualized base compensation amount and `base compensation
+ // entry's` unit. Populate [range][google.cloud.talent.v4.CompensationFilter.range] and zero or more [units][google.cloud.talent.v4.CompensationFilter.units].
+ ANNUALIZED_BASE_AMOUNT = 3;
+
+ // Filter by annualized total compensation amount and `base compensation
+ // entry's` unit . Populate [range][google.cloud.talent.v4.CompensationFilter.range] and zero or more [units][google.cloud.talent.v4.CompensationFilter.units].
+ ANNUALIZED_TOTAL_AMOUNT = 4;
+ }
+
+ // Required. Type of filter.
+ FilterType type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify desired `base compensation entry's`
+ // [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit].
+ repeated CompensationInfo.CompensationUnit units = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Compensation range.
+ CompensationInfo.CompensationRange range = 3;
+
+ // If set to true, jobs with unspecified compensation range fields are
+ // included.
+ bool include_jobs_with_unspecified_compensation_range = 4;
+}
+
+// Parameters needed for commute search.
+message CommuteFilter {
+ // The traffic density to use when calculating commute time.
+ enum RoadTraffic {
+ // Road traffic situation isn't specified.
+ ROAD_TRAFFIC_UNSPECIFIED = 0;
+
+ // Optimal commute time without considering any traffic impact.
+ TRAFFIC_FREE = 1;
+
+ // Commute time calculation takes in account the peak traffic impact.
+ BUSY_HOUR = 2;
+ }
+
+ // Required. The method of transportation to calculate the commute time for.
+ CommuteMethod commute_method = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The latitude and longitude of the location to calculate the
+ // commute time from.
+ google.type.LatLng start_coordinates = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
+ // (one hour). Format is `123s`.
+ google.protobuf.Duration travel_duration = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // If `true`, jobs without street level addresses may also be returned.
+ // For city level addresses, the city center is used. For state and coarser
+ // level addresses, text matching is used.
+ // If this field is set to `false` or isn't specified, only jobs that include
+ // street level addresses will be returned by commute search.
+ bool allow_imprecise_addresses = 4;
+
+ // Traffic factor to take into account while searching by commute.
+ oneof traffic_option {
+ // Specifies the traffic density to use when calculating commute time.
+ RoadTraffic road_traffic = 5;
+
+ // The departure time used to calculate traffic impact, represented as
+ // [google.type.TimeOfDay][google.type.TimeOfDay] in local time zone.
+ //
+ // Currently traffic model is restricted to hour level resolution.
+ google.type.TimeOfDay departure_time = 6;
+ }
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/histogram.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/histogram.proto
new file mode 100644
index 00000000000..0c3c9969b76
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/histogram.proto
@@ -0,0 +1,50 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "HistogramProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// The histogram request.
+message HistogramQuery {
+ // An expression specifies a histogram request against matching jobs for
+ // searches.
+ //
+ // See [SearchJobsRequest.histogram_queries][google.cloud.talent.v4.SearchJobsRequest.histogram_queries] for details about syntax.
+ string histogram_query = 1;
+}
+
+// Histogram result that matches [HistogramQuery][google.cloud.talent.v4.HistogramQuery] specified in searches.
+message HistogramQueryResult {
+ // Requested histogram expression.
+ string histogram_query = 1;
+
+ // A map from the values of the facet associated with distinct values to the
+ // number of matching entries with corresponding value.
+ //
+ // The key format is:
+ //
+ // * (for string histogram) string values stored in the field.
+ // * (for named numeric bucket) name specified in `bucket()` function, like
+ // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
+ // * (for anonymous numeric bucket) range formatted as `-`, for
+ // example, `0-1000`, `MIN-0`, and `0-MAX`.
+ map histogram = 2;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto
new file mode 100644
index 00000000000..bd31568426e
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto
@@ -0,0 +1,350 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "JobProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A Job resource represents a job posting (also referred to as a "job listing"
+// or "job requisition"). A job belongs to a [Company][google.cloud.talent.v4.Company], which is the hiring
+// entity responsible for the job.
+message Job {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Job"
+ pattern: "projects/{project}/tenants/{tenant}/jobs/{job}"
+ };
+
+ // Application related details of a job posting.
+ message ApplicationInfo {
+ // Use this field to specify email address(es) to which resumes or
+ // applications can be sent.
+ //
+ // The maximum number of allowed characters for each entry is 255.
+ repeated string emails = 1;
+
+ // Use this field to provide instructions, such as "Mail your application
+ // to ...", that a candidate can follow to apply for the job.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 3,000.
+ string instruction = 2;
+
+ // Use this URI field to direct an applicant to a website, for example to
+ // link to an online application form.
+ //
+ // The maximum number of allowed characters for each entry is 2,000.
+ repeated string uris = 3;
+ }
+
+ // Derived details about the job posting.
+ message DerivedInfo {
+ // Structured locations of the job, resolved from [Job.addresses][google.cloud.talent.v4.Job.addresses].
+ //
+ // [locations][google.cloud.talent.v4.Job.DerivedInfo.locations] are exactly matched to [Job.addresses][google.cloud.talent.v4.Job.addresses] in the same
+ // order.
+ repeated Location locations = 1;
+
+ // Job categories derived from [Job.title][google.cloud.talent.v4.Job.title] and [Job.description][google.cloud.talent.v4.Job.description].
+ repeated JobCategory job_categories = 3;
+ }
+
+ // Options for job processing.
+ message ProcessingOptions {
+ // If set to `true`, the service does not attempt to resolve a
+ // more precise address for the job.
+ bool disable_street_address_resolution = 1;
+
+ // Option for job HTML content sanitization. Applied fields are:
+ //
+ // * description
+ // * applicationInfo.instruction
+ // * incentives
+ // * qualifications
+ // * responsibilities
+ //
+ // HTML tags in these fields may be stripped if sanitiazation isn't
+ // disabled.
+ //
+ // Defaults to [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
+ HtmlSanitization html_sanitization = 2;
+ }
+
+ // Required during job update.
+ //
+ // The resource name for the job. This is generated by the service when a
+ // job is created.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ //
+ // Use of this field in job queries and API calls is preferred over the use of
+ // [requisition_id][google.cloud.talent.v4.Job.requisition_id] since this value is unique.
+ string name = 1;
+
+ // Required. The resource name of the company listing the job.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
+ // example, "projects/foo/tenants/bar/companies/baz".
+ string company = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // Required. The requisition ID, also referred to as the posting ID, is assigned by the
+ // client to identify a job. This field is intended to be used by clients
+ // for client identification and tracking of postings. A job isn't allowed
+ // to be created if there is another job with the same [company][google.cloud.talent.v4.Job.name],
+ // [language_code][google.cloud.talent.v4.Job.language_code] and [requisition_id][google.cloud.talent.v4.Job.requisition_id].
+ //
+ // The maximum number of allowed characters is 255.
+ string requisition_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The title of the job, such as "Software Engineer"
+ //
+ // The maximum number of allowed characters is 500.
+ string title = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The description of the job, which typically includes a multi-paragraph
+ // description of the company and related information. Separate fields are
+ // provided on the job object for [responsibilities][google.cloud.talent.v4.Job.responsibilities],
+ // [qualifications][google.cloud.talent.v4.Job.qualifications], and other job characteristics. Use of
+ // these separate job fields is recommended.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 100,000.
+ string description = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // Location(s) where the employer is looking to hire for this job posting.
+ //
+ // Specifying the full street address(es) of the hiring location enables
+ // better API results, especially job searches by commute time.
+ //
+ // At most 50 locations are allowed for best search performance. If a job has
+ // more locations, it is suggested to split it into multiple jobs with unique
+ // [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as
+ // multiple jobs with the same [company][google.cloud.talent.v4.Job.company], [language_code][google.cloud.talent.v4.Job.language_code] and
+ // [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not allowed. If the original [requisition_id][google.cloud.talent.v4.Job.requisition_id] must
+ // be preserved, a custom field should be used for storage. It is also
+ // suggested to group the locations that close to each other in the same job
+ // for better search experience.
+ //
+ // Jobs with multiple addresses must have their addresses with the same
+ // [LocationType][] to allow location filtering to work properly. (For
+ // example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
+ // CA, USA" and "London, UK" may not have location filters applied correctly
+ // at search time since the first is a [LocationType.STREET_ADDRESS][] and the
+ // second is a [LocationType.LOCALITY][].) If a job needs to have multiple
+ // addresses, it is suggested to split it into multiple jobs with same
+ // LocationTypes.
+ //
+ // The maximum number of allowed characters is 500.
+ repeated string addresses = 6;
+
+ // Job application information.
+ ApplicationInfo application_info = 7;
+
+ // The benefits included with the job.
+ repeated JobBenefit job_benefits = 8;
+
+ // Job compensation information (a.k.a. "pay rate") i.e., the compensation
+ // that will paid to the employee.
+ CompensationInfo compensation_info = 9;
+
+ // A map of fields to hold both filterable and non-filterable custom job
+ // attributes that are not covered by the provided structured fields.
+ //
+ // The keys of the map are strings up to 64 bytes and must match the
+ // pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
+ // KEY_1_LIKE_THIS.
+ //
+ // At most 100 filterable and at most 100 unfilterable keys are supported.
+ // For filterable `string_values`, across all keys at most 200 values are
+ // allowed, with each string no more than 255 characters. For unfilterable
+ // `string_values`, the maximum total size of `string_values` across all keys
+ // is 50KB.
+ map custom_attributes = 10;
+
+ // The desired education degrees for the job, such as Bachelors, Masters.
+ repeated DegreeType degree_types = 11;
+
+ // The department or functional area within the company with the open
+ // position.
+ //
+ // The maximum number of allowed characters is 255.
+ string department = 12;
+
+ // The employment type(s) of a job, for example,
+ // [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
+ // [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
+ repeated EmploymentType employment_types = 13;
+
+ // A description of bonus, commission, and other compensation
+ // incentives associated with the job not including salary or pay.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string incentives = 14;
+
+ // The language of the posting. This field is distinct from
+ // any requirements for fluency that are associated with the job.
+ //
+ // Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+ // class="external" target="_blank" }.
+ //
+ // If this field is unspecified and [Job.description][google.cloud.talent.v4.Job.description] is present, detected
+ // language code based on [Job.description][google.cloud.talent.v4.Job.description] is assigned, otherwise
+ // defaults to 'en_US'.
+ string language_code = 15;
+
+ // The experience level associated with the job, such as "Entry Level".
+ JobLevel job_level = 16;
+
+ // A promotion value of the job, as determined by the client.
+ // The value determines the sort order of the jobs returned when searching for
+ // jobs using the featured jobs search call, with higher promotional values
+ // being returned first and ties being resolved by relevance sort. Only the
+ // jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
+ //
+ // Default value is 0, and negative values are treated as 0.
+ int32 promotion_value = 17;
+
+ // A description of the qualifications required to perform the
+ // job. The use of this field is recommended
+ // as an alternative to using the more general [description][google.cloud.talent.v4.Job.description] field.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string qualifications = 18;
+
+ // A description of job responsibilities. The use of this field is
+ // recommended as an alternative to using the more general [description][google.cloud.talent.v4.Job.description]
+ // field.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string responsibilities = 19;
+
+ // The job [PostingRegion][google.cloud.talent.v4.PostingRegion] (for example, state, country) throughout
+ // which the job is available. If this field is set, a [LocationFilter][google.cloud.talent.v4.LocationFilter]
+ // in a search query within the job region finds this job posting if an
+ // exact location match isn't specified. If this field is set to
+ // [PostingRegion.NATION][google.cloud.talent.v4.PostingRegion.NATION] or [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4.PostingRegion.ADMINISTRATIVE_AREA],
+ // setting job [Job.addresses][google.cloud.talent.v4.Job.addresses] to the same location level as this field
+ // is strongly recommended.
+ PostingRegion posting_region = 20;
+
+ // Deprecated. The job is only visible to the owner.
+ //
+ // The visibility of the job.
+ //
+ // Defaults to [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4.Visibility.ACCOUNT_ONLY] if not specified.
+ Visibility visibility = 21 [deprecated = true];
+
+ // The start timestamp of the job in UTC time zone. Typically this field
+ // is used for contracting engagements. Invalid timestamps are ignored.
+ google.protobuf.Timestamp job_start_time = 22;
+
+ // The end timestamp of the job. Typically this field is used for contracting
+ // engagements. Invalid timestamps are ignored.
+ google.protobuf.Timestamp job_end_time = 23;
+
+ // The timestamp this job posting was most recently published. The default
+ // value is the time the request arrives at the server. Invalid timestamps are
+ // ignored.
+ google.protobuf.Timestamp posting_publish_time = 24;
+
+ // Strongly recommended for the best service experience.
+ //
+ // The expiration timestamp of the job. After this timestamp, the
+ // job is marked as expired, and it no longer appears in search results. The
+ // expired job can't be listed by the [ListJobs][google.cloud.talent.v4.JobService.ListJobs] API,
+ // but it can be retrieved with the [GetJob][google.cloud.talent.v4.JobService.GetJob] API or
+ // updated with the [UpdateJob][google.cloud.talent.v4.JobService.UpdateJob] API or deleted with
+ // the [DeleteJob][google.cloud.talent.v4.JobService.DeleteJob] API. An expired job can
+ // be updated and opened again by using a future expiration timestamp.
+ // Updating an expired job fails if there is another existing open job with
+ // same [company][google.cloud.talent.v4.Job.company], [language_code][google.cloud.talent.v4.Job.language_code] and [requisition_id][google.cloud.talent.v4.Job.requisition_id].
+ //
+ // The expired jobs are retained in our system for 90 days. However, the
+ // overall expired job count cannot exceed 3 times the maximum number of
+ // open jobs over previous 7 days. If this threshold is exceeded,
+ // expired jobs are cleaned out in order of earliest expire time.
+ // Expired jobs are no longer accessible after they are cleaned
+ // out.
+ //
+ // Invalid timestamps are ignored, and treated as expire time not provided.
+ //
+ // If the timestamp is before the instant request is made, the job
+ // is treated as expired immediately on creation. This kind of job can
+ // not be updated. And when creating a job with past timestamp, the
+ // [posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] must be set before
+ // [posting_expire_time][google.cloud.talent.v4.Job.posting_expire_time]. The purpose of this feature is
+ // to allow other objects, such as [Application][], to refer a job
+ // that didn't exist in the system prior to becoming expired. If you
+ // want to modify a job that was expired on creation,
+ // delete it and create a new one.
+ //
+ // If this value isn't provided at the time of job creation or is invalid,
+ // the job posting expires after 30 days from the job's creation time. For
+ // example, if the job was created on 2017/01/01 13:00AM UTC with an
+ // unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
+ //
+ // If this value isn't provided on job update, it depends on the field masks
+ // set by [UpdateJobRequest.update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask]. If the field masks include
+ // [job_end_time][google.cloud.talent.v4.Job.job_end_time], or the masks are empty meaning that every field is
+ // updated, the job posting expires after 30 days from the job's last
+ // update time. Otherwise the expiration date isn't updated.
+ google.protobuf.Timestamp posting_expire_time = 25;
+
+ // Output only. The timestamp when this job posting was created.
+ google.protobuf.Timestamp posting_create_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when this job posting was last updated.
+ google.protobuf.Timestamp posting_update_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Display name of the company listing the job.
+ string company_display_name = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Derived details about the job posting.
+ DerivedInfo derived_info = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Options for job processing.
+ ProcessingOptions processing_options = 30;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto
new file mode 100644
index 00000000000..3e93164c9f8
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto
@@ -0,0 +1,940 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+import "google/cloud/talent/v4/filters.proto";
+import "google/cloud/talent/v4/histogram.proto";
+import "google/cloud/talent/v4/job.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/rpc/status.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "JobServiceProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A service handles job management, including job CRUD, enumeration and search.
+service JobService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new job.
+ //
+ // Typically, the job becomes searchable within 10 seconds, but it may take
+ // up to 5 minutes.
+ rpc CreateJob(CreateJobRequest) returns (Job) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs"
+ body: "job"
+ };
+ option (google.api.method_signature) = "parent,job";
+ }
+
+ // Begins executing a batch create jobs operation.
+ rpc BatchCreateJobs(BatchCreateJobsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs:batchCreate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,jobs";
+ option (google.longrunning.operation_info) = {
+ response_type: "BatchCreateJobsResponse"
+ metadata_type: "BatchOperationMetadata"
+ };
+ }
+
+ // Retrieves the specified job, whose status is OPEN or recently EXPIRED
+ // within the last 90 days.
+ rpc GetJob(GetJobRequest) returns (Job) {
+ option (google.api.http) = {
+ get: "/v4/{name=projects/*/tenants/*/jobs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified job.
+ //
+ // Typically, updated contents become visible in search results within 10
+ // seconds, but it may take up to 5 minutes.
+ rpc UpdateJob(UpdateJobRequest) returns (Job) {
+ option (google.api.http) = {
+ patch: "/v4/{job.name=projects/*/tenants/*/jobs/*}"
+ body: "job"
+ };
+ option (google.api.method_signature) = "job,update_mask";
+ }
+
+ // Begins executing a batch update jobs operation.
+ rpc BatchUpdateJobs(BatchUpdateJobsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs:batchUpdate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,jobs";
+ option (google.longrunning.operation_info) = {
+ response_type: "BatchUpdateJobsResponse"
+ metadata_type: "BatchOperationMetadata"
+ };
+ }
+
+ // Deletes the specified job.
+ //
+ // Typically, the job becomes unsearchable within 10 seconds, but it may take
+ // up to 5 minutes.
+ rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4/{name=projects/*/tenants/*/jobs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Begins executing a batch delete jobs operation.
+ rpc BatchDeleteJobs(BatchDeleteJobsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs:batchDelete"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,names";
+ option (google.longrunning.operation_info) = {
+ response_type: "BatchDeleteJobsResponse"
+ metadata_type: "BatchOperationMetadata"
+ };
+ }
+
+ // Lists jobs by filter.
+ rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
+ option (google.api.http) = {
+ get: "/v4/{parent=projects/*/tenants/*}/jobs"
+ };
+ option (google.api.method_signature) = "parent,filter";
+ }
+
+ // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
+ //
+ // This call constrains the [visibility][google.cloud.talent.v4.Job.visibility] of jobs
+ // present in the database, and only returns jobs that the caller has
+ // permission to search against.
+ rpc SearchJobs(SearchJobsRequest) returns (SearchJobsResponse) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs:search"
+ body: "*"
+ };
+ }
+
+ // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
+ //
+ // This API call is intended for the use case of targeting passive job
+ // seekers (for example, job seekers who have signed up to receive email
+ // alerts about potential job opportunities), it has different algorithmic
+ // adjustments that are designed to specifically target passive job seekers.
+ //
+ // This call constrains the [visibility][google.cloud.talent.v4.Job.visibility] of jobs
+ // present in the database, and only returns jobs the caller has
+ // permission to search against.
+ rpc SearchJobsForAlert(SearchJobsRequest) returns (SearchJobsResponse) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*/tenants/*}/jobs:searchForAlert"
+ body: "*"
+ };
+ }
+}
+
+// Create job request.
+message CreateJobRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The Job to be created.
+ Job job = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Get job request.
+message GetJobRequest {
+ // Required. The resource name of the job to retrieve.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Job"
+ }
+ ];
+}
+
+// Update job request.
+message UpdateJobRequest {
+ // Required. The Job to be updated.
+ Job job = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask] is provided, only the specified fields in
+ // [job][google.cloud.talent.v4.UpdateJobRequest.job] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to restrict the fields that are updated. Only
+ // top level fields of [Job][google.cloud.talent.v4.Job] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Delete job request.
+message DeleteJobRequest {
+ // Required. The resource name of the job to be deleted.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Job"
+ }
+ ];
+}
+
+// An enum that specifies the job attributes that are returned in the
+// [MatchingJob.job][google.cloud.talent.v4.SearchJobsResponse.MatchingJob.job] or
+// [ListJobsResponse.jobs][google.cloud.talent.v4.ListJobsResponse.jobs] fields.
+enum JobView {
+ // Default value.
+ JOB_VIEW_UNSPECIFIED = 0;
+
+ // A ID only view of job, with following attributes:
+ // [Job.name][google.cloud.talent.v4.Job.name], [Job.requisition_id][google.cloud.talent.v4.Job.requisition_id], [Job.language_code][google.cloud.talent.v4.Job.language_code].
+ JOB_VIEW_ID_ONLY = 1;
+
+ // A minimal view of the job, with the following attributes:
+ // [Job.name][google.cloud.talent.v4.Job.name], [Job.requisition_id][google.cloud.talent.v4.Job.requisition_id], [Job.title][google.cloud.talent.v4.Job.title],
+ // [Job.company][google.cloud.talent.v4.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4.Job.DerivedInfo.locations], [Job.language_code][google.cloud.talent.v4.Job.language_code].
+ JOB_VIEW_MINIMAL = 2;
+
+ // A small view of the job, with the following attributes in the search
+ // results: [Job.name][google.cloud.talent.v4.Job.name], [Job.requisition_id][google.cloud.talent.v4.Job.requisition_id], [Job.title][google.cloud.talent.v4.Job.title],
+ // [Job.company][google.cloud.talent.v4.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4.Job.DerivedInfo.locations], [Job.visibility][google.cloud.talent.v4.Job.visibility],
+ // [Job.language_code][google.cloud.talent.v4.Job.language_code], [Job.description][google.cloud.talent.v4.Job.description].
+ JOB_VIEW_SMALL = 3;
+
+ // All available attributes are included in the search results.
+ JOB_VIEW_FULL = 4;
+}
+
+// List jobs request.
+message ListJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The filter string specifies the jobs to be enumerated.
+ //
+ // Supported operator: =, AND
+ //
+ // The fields eligible for filtering are:
+ //
+ // * `companyName`
+ // * `requisitionId`
+ // * `status` Available values: OPEN, EXPIRED, ALL. Defaults to
+ // OPEN if no value is specified.
+ //
+ // At least one of `companyName` and `requisitionId` must present or an
+ // INVALID_ARGUMENT error is thrown.
+ //
+ // Sample Query:
+ //
+ // * companyName = "projects/foo/tenants/bar/companies/baz"
+ // * companyName = "projects/foo/tenants/bar/companies/baz" AND
+ // requisitionId = "req-1"
+ // * companyName = "projects/foo/tenants/bar/companies/baz" AND
+ // status = "EXPIRED"
+ // * requisitionId = "req-1"
+ // * requisitionId = "req-1" AND status = "EXPIRED"
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The starting point of a query result.
+ string page_token = 3;
+
+ // The maximum number of jobs to be returned per page of results.
+ //
+ // If [job_view][google.cloud.talent.v4.ListJobsRequest.job_view] is set to [JobView.JOB_VIEW_ID_ONLY][google.cloud.talent.v4.JobView.JOB_VIEW_ID_ONLY], the maximum allowed
+ // page size is 1000. Otherwise, the maximum allowed page size is 100.
+ //
+ // Default is 100 if empty or a number < 1 is specified.
+ int32 page_size = 4;
+
+ // The desired job attributes returned for jobs in the
+ // search response. Defaults to [JobView.JOB_VIEW_FULL][google.cloud.talent.v4.JobView.JOB_VIEW_FULL] if no value is
+ // specified.
+ JobView job_view = 5;
+}
+
+// List jobs response.
+message ListJobsResponse {
+ // The Jobs for a given company.
+ //
+ // The maximum number of items returned is based on the limit field
+ // provided in the request.
+ repeated Job jobs = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
+
+// The Request body of the `SearchJobs` call.
+message SearchJobsRequest {
+ // A string-represented enumeration of the job search mode. The service
+ // operate differently for different modes of service.
+ enum SearchMode {
+ // The mode of the search method isn't specified. The default search
+ // behavior is identical to JOB_SEARCH search behavior.
+ SEARCH_MODE_UNSPECIFIED = 0;
+
+ // The job search matches against all jobs, and featured jobs
+ // (jobs with promotionValue > 0) are not specially handled.
+ JOB_SEARCH = 1;
+
+ // The job search matches only against featured jobs (jobs with a
+ // promotionValue > 0). This method doesn't return any jobs having a
+ // promotionValue <= 0. The search results order is determined by the
+ // promotionValue (jobs with a higher promotionValue are returned higher up
+ // in the search results), with relevance being used as a tiebreaker.
+ FEATURED_JOB_SEARCH = 2;
+ }
+
+ // Controls whether highly similar jobs are returned next to each other in
+ // the search results. Jobs are identified as highly similar based on
+ // their titles, job categories, and locations. Highly similar results are
+ // clustered so that only one representative job of the cluster is
+ // displayed to the job seeker higher up in the results, with the other jobs
+ // being displayed lower down in the results.
+ //
+ // If you are using pageToken to page through the result set,
+ // latency might be lower but we can't guarantee that all results are
+ // returned. If you are using page offset, latency might be higher but all
+ // results are returned.
+ enum DiversificationLevel {
+ // The diversification level isn't specified.
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0;
+
+ // Disables diversification. Jobs that would normally be pushed to the last
+ // page would not have their positions altered. This may result in highly
+ // similar jobs appearing in sequence in the search results.
+ DISABLED = 1;
+
+ // Default diversifying behavior. The result list is ordered so that
+ // highly similar results are pushed to the end of the last page of search
+ // results.
+ SIMPLE = 2;
+
+ // Only one job from the same company will be shown at once, other jobs
+ // under same company are pushed to the end of the last page of search
+ // result.
+ ONE_PER_COMPANY = 3;
+
+ // Similar to ONE_PER_COMPANY, but it allows at most two jobs in the
+ // same company to be shown at once, the other jobs under same company are
+ // pushed to the end of the last page of search result.
+ TWO_PER_COMPANY = 4;
+
+ // The result list is ordered such that somewhat similar results are pushed
+ // to the end of the last page of the search results. This option is
+ // recommended if SIMPLE diversification does not diversify enough.
+ DIVERSIFY_BY_LOOSER_SIMILARITY = 5;
+ }
+
+ // Controls what keyword matching behavior the search has. When keyword
+ // matching is enabled, a keyword match returns jobs that may not match given
+ // category filters when there are matching keywords. For example, for the
+ // query "program manager" with KeywordMatchMode set to KEYWORD_MATCH_ALL, a
+ // job posting with the title "software developer," which doesn't fall into
+ // "program manager" ontology, and "program manager" appearing in its
+ // description will be surfaced.
+ //
+ // For queries like "cloud" that don't contain title or
+ // location specific ontology, jobs with "cloud" keyword matches are returned
+ // regardless of this enum's value.
+ //
+ // Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes] if
+ // company-specific globally matched custom field/attribute string values are
+ // needed. Enabling keyword match improves recall of subsequent search
+ // requests.
+ enum KeywordMatchMode {
+ // The keyword match option isn't specified. Defaults to
+ // [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL] behavior.
+ KEYWORD_MATCH_MODE_UNSPECIFIED = 0;
+
+ // Disables keyword matching.
+ KEYWORD_MATCH_DISABLED = 1;
+
+ // Enable keyword matching over [Job.title][google.cloud.talent.v4.Job.title],
+ // [Job.description][google.cloud.talent.v4.Job.description], [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name], [Job.addresses][google.cloud.talent.v4.Job.addresses],
+ // [Job.qualifications][google.cloud.talent.v4.Job.qualifications], and keyword searchable [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
+ // fields.
+ KEYWORD_MATCH_ALL = 2;
+
+ // Only enable keyword matching over [Job.title][google.cloud.talent.v4.Job.title].
+ KEYWORD_MATCH_TITLE_ONLY = 3;
+ }
+
+ // Custom ranking information for [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
+ message CustomRankingInfo {
+ // The importance level for [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression].
+ enum ImportanceLevel {
+ // Default value if the importance level isn't specified.
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0;
+
+ // The given ranking expression is of None importance, existing relevance
+ // score (determined by API algorithm) dominates job's final ranking
+ // position.
+ NONE = 1;
+
+ // The given ranking expression is of Low importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ LOW = 2;
+
+ // The given ranking expression is of Mild importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ MILD = 3;
+
+ // The given ranking expression is of Medium importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ MEDIUM = 4;
+
+ // The given ranking expression is of High importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ HIGH = 5;
+
+ // The given ranking expression is of Extreme importance, and dominates
+ // job's final ranking position with existing relevance
+ // score (determined by API algorithm) ignored.
+ EXTREME = 6;
+ }
+
+ // Required. Controls over how important the score of
+ // [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression] gets applied to job's final
+ // ranking position.
+ //
+ // An error is thrown if not specified.
+ ImportanceLevel importance_level = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Controls over how job documents get ranked on top of existing relevance
+ // score (determined by API algorithm). A combination of the ranking
+ // expression and relevance score is used to determine job's final ranking
+ // position.
+ //
+ // The syntax for this expression is a subset of Google SQL syntax.
+ //
+ // Supported operators are: +, -, *, /, where the left and right side of
+ // the operator is either a numeric [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes] key,
+ // integer/double value or an expression that can be evaluated to a number.
+ //
+ // Parenthesis are supported to adjust calculation precedence. The
+ // expression must be < 200 characters in length.
+ //
+ // The expression is considered invalid for a job if the expression
+ // references custom attributes that are not populated on the job or if the
+ // expression results in a divide by zero. If an expression is invalid for a
+ // job, that job is demoted to the end of the results.
+ //
+ // Sample ranking expression
+ // (year + 25) * 0.25 - (freshness / 0.5)
+ string ranking_expression = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. The resource name of the tenant to search within.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Mode of a search.
+ //
+ // Defaults to [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
+ SearchMode search_mode = 2;
+
+ // Required. The meta information collected about the job searcher, used to improve the
+ // search quality of the service. The identifiers (such as `user_id`) are
+ // provided by users, and must be unique and consistent.
+ RequestMetadata request_metadata = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Query used to search against jobs, such as keyword, location filters, etc.
+ JobQuery job_query = 4;
+
+ // Controls whether to broaden the search when it produces sparse results.
+ // Broadened queries append results to the end of the matching results
+ // list.
+ //
+ // Defaults to false.
+ bool enable_broadening = 5;
+
+ // An expression specifies a histogram request against matching jobs.
+ //
+ // Expression syntax is an aggregation function call with histogram facets and
+ // other options.
+ //
+ // Available aggregation function calls are:
+ // * `count(string_histogram_facet)`: Count the number of matching entities,
+ // for each distinct attribute value.
+ // * `count(numeric_histogram_facet, list of buckets)`: Count the number of
+ // matching entities within each bucket.
+ //
+ // A maximum of 200 histogram buckets are supported.
+ //
+ // Data types:
+ //
+ // * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
+ // * String: string like "any string with backslash escape for quote(\")."
+ // * Number: whole number and floating point number like 10, -1 and -0.01.
+ // * List: list of elements with comma(,) separator surrounded by square
+ // brackets, for example, [1, 2, 3] and ["one", "two", "three"].
+ //
+ // Built-in constants:
+ //
+ // * MIN (minimum number similar to java Double.MIN_VALUE)
+ // * MAX (maximum number similar to java Double.MAX_VALUE)
+ //
+ // Built-in functions:
+ //
+ // * bucket(start, end[, label]): bucket built-in function creates a bucket
+ // with range of [start, end). Note that the end is exclusive, for example,
+ // bucket(1, MAX, "positive number") or bucket(1, 10).
+ //
+ // Job histogram facets:
+ //
+ // * company_display_name: histogram by [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
+ // * employment_type: histogram by [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for example,
+ // "FULL_TIME", "PART_TIME".
+ // * company_size (DEPRECATED): histogram by [CompanySize][google.cloud.talent.v4.CompanySize], for example,
+ // "SMALL", "MEDIUM", "BIG".
+ // * publish_time_in_day: histogram by the [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
+ // in days.
+ // Must specify list of numeric buckets in spec.
+ // * publish_time_in_month: histogram by the [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
+ // in months.
+ // Must specify list of numeric buckets in spec.
+ // * publish_time_in_year: histogram by the [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
+ // in years.
+ // Must specify list of numeric buckets in spec.
+ // * degree_types: histogram by the [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
+ // "Bachelors", "Masters".
+ // * job_level: histogram by the [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
+ // Level".
+ // * country: histogram by the country code of jobs, for example, "US", "FR".
+ // * admin1: histogram by the admin1 code of jobs, which is a global
+ // placeholder referring to the state, province, or the particular term a
+ // country uses to define the geographic structure below the country level,
+ // for example, "CA", "IL".
+ // * city: histogram by a combination of the "city name, admin1 code". For
+ // example, "Mountain View, CA", "New York, NY".
+ // * admin1_country: histogram by a combination of the "admin1 code, country",
+ // for example, "CA, US", "IL, US".
+ // * city_coordinate: histogram by the city center's GPS coordinates (latitude
+ // and longitude), for example, 37.4038522,-122.0987765. Since the
+ // coordinates of a city center can change, customers may need to refresh
+ // them periodically.
+ // * locale: histogram by the [Job.language_code][google.cloud.talent.v4.Job.language_code], for example, "en-US",
+ // "fr-FR".
+ // * language: histogram by the language subtag of the [Job.language_code][google.cloud.talent.v4.Job.language_code],
+ // for example, "en", "fr".
+ // * category: histogram by the [JobCategory][google.cloud.talent.v4.JobCategory], for example,
+ // "COMPUTER_AND_IT", "HEALTHCARE".
+ // * base_compensation_unit: histogram by the
+ // [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit] of base
+ // salary, for example, "WEEKLY", "MONTHLY".
+ // * base_compensation: histogram by the base salary. Must specify list of
+ // numeric buckets to group results by.
+ // * annualized_base_compensation: histogram by the base annualized salary.
+ // Must specify list of numeric buckets to group results by.
+ // * annualized_total_compensation: histogram by the total annualized salary.
+ // Must specify list of numeric buckets to group results by.
+ // * string_custom_attribute: histogram by string [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
+ // Values can be accessed via square bracket notations like
+ // string_custom_attribute["key1"].
+ // * numeric_custom_attribute: histogram by numeric [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
+ // Values can be accessed via square bracket notations like
+ // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
+ // group results by.
+ //
+ // Example expressions:
+ //
+ // * `count(admin1)`
+ // * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
+ // bucket(100000, MAX)])`
+ // * `count(string_custom_attribute["some-string-custom-attribute"])`
+ // * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
+ // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
+ repeated HistogramQuery histogram_queries = 7;
+
+ // The desired job attributes returned for jobs in the search response.
+ // Defaults to [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if no value is specified.
+ JobView job_view = 8;
+
+ // An integer that specifies the current offset (that is, starting result
+ // location, amongst the jobs deemed by the API as relevant) in search
+ // results. This field is only considered if [page_token][google.cloud.talent.v4.SearchJobsRequest.page_token] is unset.
+ //
+ // The maximum allowed value is 5000. Otherwise an error is thrown.
+ //
+ // For example, 0 means to return results starting from the first matching
+ // job, and 10 means to return from the 11th job. This can be used for
+ // pagination, (for example, pageSize = 10 and offset = 10 means to return
+ // from the second page).
+ int32 offset = 9;
+
+ // A limit on the number of jobs returned in the search results.
+ // Increasing this value above the default value of 10 can increase search
+ // response time. The value can be between 1 and 100.
+ int32 max_page_size = 10;
+
+ // The token specifying the current offset within
+ // search results. See [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token] for
+ // an explanation of how to obtain the next set of query results.
+ string page_token = 11;
+
+ // The criteria determining how search results are sorted. Default is
+ // `"relevance desc"`.
+ //
+ // Supported options are:
+ //
+ // * `"relevance desc"`: By relevance descending, as determined by the API
+ // algorithms. Relevance thresholding of query results is only available
+ // with this ordering.
+ // * `"posting_publish_time desc"`: By [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
+ // descending.
+ // * `"posting_update_time desc"`: By [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
+ // descending.
+ // * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
+ // * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title] descending.
+ // * `"annualized_base_compensation"`: By job's
+ // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] ascending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_base_compensation desc"`: By job's
+ // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range] descending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_total_compensation"`: By job's
+ // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] ascending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_total_compensation desc"`: By job's
+ // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range] descending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"custom_ranking desc"`: By the relevance score adjusted to the
+ // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression] with weight
+ // factor assigned by
+ // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level] in descending
+ // order.
+ // * Location sorting: Use the special syntax to order jobs by distance:
+ // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
+ // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
+ // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
+ // multiple locations. See details below.
+ // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
+ // multiple locations. See details below.
+ // The string can have a maximum of 256 characters. When multiple distance
+ // centers are provided, a job that is close to any of the distance centers
+ // would have a high rank. When a job has multiple locations, the job
+ // location closest to one of the distance centers will be used. Jobs that
+ // don't have locations will be ranked at the bottom. Distance is calculated
+ // with a precision of 11.3 meters (37.4 feet). Diversification strategy is
+ // still applied unless explicitly disabled in
+ // [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
+ string order_by = 12;
+
+ // Controls whether highly similar jobs are returned next to each other in
+ // the search results. Jobs are identified as highly similar based on
+ // their titles, job categories, and locations. Highly similar results are
+ // clustered so that only one representative job of the cluster is
+ // displayed to the job seeker higher up in the results, with the other jobs
+ // being displayed lower down in the results.
+ //
+ // Defaults to [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE] if no value
+ // is specified.
+ DiversificationLevel diversification_level = 13;
+
+ // Controls over how job documents get ranked on top of existing relevance
+ // score (determined by API algorithm).
+ CustomRankingInfo custom_ranking_info = 14;
+
+ // This field is deprecated. Please use
+ // [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode] going forward.
+ //
+ // To migrate, disable_keyword_match set to false maps to
+ // [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL], and disable_keyword_match set to
+ // true maps to [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED]. If
+ // [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode] is set, this field is ignored.
+ //
+ // Controls whether to disable exact keyword match on [Job.title][google.cloud.talent.v4.Job.title],
+ // [Job.description][google.cloud.talent.v4.Job.description], [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name], [Job.addresses][google.cloud.talent.v4.Job.addresses],
+ // [Job.qualifications][google.cloud.talent.v4.Job.qualifications]. When disable keyword match is turned off, a
+ // keyword match returns jobs that do not match given category filters when
+ // there are matching keywords. For example, for the query "program manager,"
+ // a result is returned even if the job posting has the title "software
+ // developer," which doesn't fall into "program manager" ontology, but does
+ // have "program manager" appearing in its description.
+ //
+ // For queries like "cloud" that don't contain title or
+ // location specific ontology, jobs with "cloud" keyword matches are returned
+ // regardless of this flag's value.
+ //
+ // Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes] if
+ // company-specific globally matched custom field/attribute string values are
+ // needed. Enabling keyword match improves recall of subsequent search
+ // requests.
+ //
+ // Defaults to false.
+ bool disable_keyword_match = 16 [deprecated = true];
+
+ // Controls what keyword match options to use. If both keyword_match_mode and
+ // disable_keyword_match are set, keyword_match_mode will take precedence.
+ //
+ // Defaults to [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL] if no value
+ // is specified.
+ KeywordMatchMode keyword_match_mode = 18;
+}
+
+// Response for SearchJob method.
+message SearchJobsResponse {
+ // Job entry with metadata inside [SearchJobsResponse][google.cloud.talent.v4.SearchJobsResponse].
+ message MatchingJob {
+ // Job resource that matches the specified [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
+ Job job = 1;
+
+ // A summary of the job with core information that's displayed on the search
+ // results listing page.
+ string job_summary = 2;
+
+ // Contains snippets of text from the [Job.title][google.cloud.talent.v4.Job.title] field most
+ // closely matching a search query's keywords, if available. The matching
+ // query keywords are enclosed in HTML bold tags.
+ string job_title_snippet = 3;
+
+ // Contains snippets of text from the [Job.description][google.cloud.talent.v4.Job.description] and similar
+ // fields that most closely match a search query's keywords, if available.
+ // All HTML tags in the original fields are stripped when returned in this
+ // field, and matching query keywords are enclosed in HTML bold tags.
+ string search_text_snippet = 4;
+
+ // Commute information which is generated based on specified
+ // [CommuteFilter][google.cloud.talent.v4.CommuteFilter].
+ CommuteInfo commute_info = 5;
+ }
+
+ // Commute details related to this job.
+ message CommuteInfo {
+ // Location used as the destination in the commute calculation.
+ Location job_location = 1;
+
+ // The number of seconds required to travel to the job location from the
+ // query location. A duration of 0 seconds indicates that the job isn't
+ // reachable within the requested duration, but was returned as part of an
+ // expanded query.
+ google.protobuf.Duration travel_duration = 2;
+ }
+
+ // The Job entities that match the specified [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
+ repeated MatchingJob matching_jobs = 1;
+
+ // The histogram results that match with specified
+ // [SearchJobsRequest.histogram_queries][google.cloud.talent.v4.SearchJobsRequest.histogram_queries].
+ repeated HistogramQueryResult histogram_query_results = 2;
+
+ // The token that specifies the starting position of the next page of results.
+ // This field is empty if there are no more results.
+ string next_page_token = 3;
+
+ // The location filters that the service applied to the specified query. If
+ // any filters are lat-lng based, the [Location.location_type][google.cloud.talent.v4.Location.location_type] is
+ // [Location.LocationType.LOCATION_TYPE_UNSPECIFIED][google.cloud.talent.v4.Location.LocationType.LOCATION_TYPE_UNSPECIFIED].
+ repeated Location location_filters = 4;
+
+ // Number of jobs that match the specified query.
+ //
+ // Note: This size is precise only if the total is less than 100,000.
+ int32 total_size = 6;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 7;
+
+ // If query broadening is enabled, we may append additional results from the
+ // broadened query. This number indicates how many of the jobs returned in the
+ // jobs field are from the broadened query. These results are always at the
+ // end of the jobs list. In particular, a value of 0, or if the field isn't
+ // set, all the jobs in the jobs list are from the original
+ // (without broadening) query. If this field is non-zero, subsequent requests
+ // with offset after this result set should contain all broadened results.
+ int32 broadened_query_jobs_count = 8;
+
+ // The spell checking result, and correction.
+ SpellingCorrection spell_correction = 9;
+}
+
+// Request to create a batch of jobs.
+message BatchCreateJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The jobs to be created.
+ // A maximum of 200 jobs can be created in a batch.
+ repeated Job jobs = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to update a batch of jobs.
+message BatchUpdateJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The jobs to be updated.
+ // A maximum of 200 jobs can be updated in a batch.
+ repeated Job jobs = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience. Be aware that it will
+ // also increase latency when checking the status of a batch operation.
+ //
+ // If [update_mask][google.cloud.talent.v4.BatchUpdateJobsRequest.update_mask] is provided, only the specified fields in
+ // [Job][google.cloud.talent.v4.Job] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to restrict the fields that are updated. Only
+ // top level fields of [Job][google.cloud.talent.v4.Job] are supported.
+ //
+ // If [update_mask][google.cloud.talent.v4.BatchUpdateJobsRequest.update_mask] is provided, The [Job][google.cloud.talent.v4.Job] inside
+ // [JobResult][JobOperationResult.JobResult]
+ // will only contains fields that is updated, plus the Id of the Job.
+ // Otherwise, [Job][google.cloud.talent.v4.Job] will include all fields, which can yield a very
+ // large response.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request to delete a batch of jobs.
+message BatchDeleteJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenants/bar".
+ //
+ // The parent of all of the jobs specified in `names` must match this field.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+
+ // The names of the jobs to delete.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}".
+ // For example, "projects/foo/tenants/bar/jobs/baz".
+ //
+ // A maximum of 200 jobs can be deleted in a batch.
+ repeated string names = 2 [(google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Job"
+ }];
+}
+
+// Mutation result of a job from a batch operation.
+message JobResult {
+ // Here [Job][google.cloud.talent.v4.Job] only contains basic information including [name][google.cloud.talent.v4.Job.name],
+ // [company][google.cloud.talent.v4.Job.company], [language_code][google.cloud.talent.v4.Job.language_code]
+ // and [requisition_id][google.cloud.talent.v4.Job.requisition_id], use getJob method to retrieve
+ // detailed information of the created/updated job.
+ Job job = 1;
+
+ // The status of the job processed. This field is populated if the
+ // processing of the [job][google.cloud.talent.v4.JobResult.job] fails.
+ google.rpc.Status status = 2;
+}
+
+// The result of [JobService.BatchCreateJobs][google.cloud.talent.v4.JobService.BatchCreateJobs]. It's used to
+// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success.
+message BatchCreateJobsResponse {
+ // List of job mutation results from a batch create operation. It can change
+ // until operation status is FINISHED, FAILED or CANCELLED.
+ repeated JobResult job_results = 1;
+}
+
+// The result of [JobService.BatchUpdateJobs][google.cloud.talent.v4.JobService.BatchUpdateJobs]. It's used to
+// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success.
+message BatchUpdateJobsResponse {
+ // List of job mutation results from a batch update operation. It can change
+ // until operation status is FINISHED, FAILED or CANCELLED.
+ repeated JobResult job_results = 1;
+}
+
+// The result of [JobService.BatchDeleteJobs][google.cloud.talent.v4.JobService.BatchDeleteJobs]. It's used to
+// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success.
+message BatchDeleteJobsResponse {
+ // List of job mutation results from a batch delete operation. It can change
+ // until operation status is FINISHED, FAILED or CANCELLED.
+ repeated JobResult job_results = 1;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant.proto
new file mode 100644
index 00000000000..018c5db5875
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant.proto
@@ -0,0 +1,51 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "TenantProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A Tenant resource represents a tenant in the service. A tenant is a group or
+// entity that shares common access with specific privileges for resources like
+// jobs. Customer may create multiple tenants to provide data isolation for
+// different groups.
+message Tenant {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Tenant"
+ pattern: "projects/{project}/tenants/{tenant}"
+ };
+
+ // Required during tenant update.
+ //
+ // The resource name for a tenant. This is generated by the service when a
+ // tenant is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1;
+
+ // Required. Client side tenant identifier, used to uniquely identify the tenant.
+ //
+ // The maximum number of allowed characters is 255.
+ string external_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant_service.proto
new file mode 100644
index 00000000000..d509062c806
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/tenant_service.proto
@@ -0,0 +1,176 @@
+// Copyright 2022 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.cloud.talent.v4;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4/common.proto";
+import "google/cloud/talent/v4/tenant.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4;talent";
+option java_multiple_files = true;
+option java_outer_classname = "TenantServiceProto";
+option java_package = "com.google.cloud.talent.v4";
+option objc_class_prefix = "CTS";
+
+// A service that handles tenant management, including CRUD and enumeration.
+service TenantService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new tenant entity.
+ rpc CreateTenant(CreateTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ post: "/v4/{parent=projects/*}/tenants"
+ body: "tenant"
+ };
+ option (google.api.method_signature) = "parent,tenant";
+ }
+
+ // Retrieves specified tenant.
+ rpc GetTenant(GetTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ get: "/v4/{name=projects/*/tenants/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified tenant.
+ rpc UpdateTenant(UpdateTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ patch: "/v4/{tenant.name=projects/*/tenants/*}"
+ body: "tenant"
+ };
+ option (google.api.method_signature) = "tenant,update_mask";
+ }
+
+ // Deletes specified tenant.
+ rpc DeleteTenant(DeleteTenantRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4/{name=projects/*/tenants/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all tenants associated with the project.
+ rpc ListTenants(ListTenantsRequest) returns (ListTenantsResponse) {
+ option (google.api.http) = {
+ get: "/v4/{parent=projects/*}/tenants"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// The Request of the CreateTenant method.
+message CreateTenantRequest {
+ // Required. Resource name of the project under which the tenant is created.
+ //
+ // The format is "projects/{project_id}", for example,
+ // "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The tenant to be created.
+ Tenant tenant = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for getting a tenant by name.
+message GetTenantRequest {
+ // Required. The resource name of the tenant to be retrieved.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+}
+
+// Request for updating a specified tenant.
+message UpdateTenantRequest {
+ // Required. The tenant resource to replace the current resource in the system.
+ Tenant tenant = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4.UpdateTenantRequest.update_mask] is provided, only the specified fields in
+ // [tenant][google.cloud.talent.v4.UpdateTenantRequest.tenant] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to specify the tenant fields to be updated. Only
+ // top level fields of [Tenant][google.cloud.talent.v4.Tenant] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a tenant.
+message DeleteTenantRequest {
+ // Required. The resource name of the tenant to be deleted.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+}
+
+// List tenants for which the client has ACL visibility.
+message ListTenantsRequest {
+ // Required. Resource name of the project under which the tenant is created.
+ //
+ // The format is "projects/{project_id}", for example,
+ // "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // The starting indicator from which to return results.
+ string page_token = 2;
+
+ // The maximum number of tenants to be returned, at most 100.
+ // Default is 100 if a non-positive number is provided.
+ int32 page_size = 3;
+}
+
+// The List tenants response object.
+message ListTenantsResponse {
+ // Tenants for the current client.
+ repeated Tenant tenants = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/batch.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/batch.proto
new file mode 100644
index 00000000000..64a40e9cac0
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/batch.proto
@@ -0,0 +1,23 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "BatchProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/common.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/common.proto
new file mode 100644
index 00000000000..6125bcc8c17
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/common.proto
@@ -0,0 +1,865 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+import "google/type/latlng.proto";
+import "google/type/money.proto";
+import "google/type/postal_address.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// Message representing a period of time between two timestamps.
+message TimestampRange {
+ // Begin of the period (inclusive).
+ google.protobuf.Timestamp start_time = 1;
+
+ // End of the period (exclusive).
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// An enum that represents the size of the company.
+enum CompanySize {
+ // Default value if the size isn't specified.
+ COMPANY_SIZE_UNSPECIFIED = 0;
+
+ // The company has less than 50 employees.
+ MINI = 1;
+
+ // The company has between 50 and 99 employees.
+ SMALL = 2;
+
+ // The company has between 100 and 499 employees.
+ SMEDIUM = 3;
+
+ // The company has between 500 and 999 employees.
+ MEDIUM = 4;
+
+ // The company has between 1,000 and 4,999 employees.
+ BIG = 5;
+
+ // The company has between 5,000 and 9,999 employees.
+ BIGGER = 6;
+
+ // The company has 10,000 or more employees.
+ GIANT = 7;
+}
+
+// An enum that represents employee benefits included with the job.
+enum JobBenefit {
+ // Default value if the type isn't specified.
+ JOB_BENEFIT_UNSPECIFIED = 0;
+
+ // The job includes access to programs that support child care, such
+ // as daycare.
+ CHILD_CARE = 1;
+
+ // The job includes dental services covered by a dental
+ // insurance plan.
+ DENTAL = 2;
+
+ // The job offers specific benefits to domestic partners.
+ DOMESTIC_PARTNER = 3;
+
+ // The job allows for a flexible work schedule.
+ FLEXIBLE_HOURS = 4;
+
+ // The job includes health services covered by a medical insurance plan.
+ MEDICAL = 5;
+
+ // The job includes a life insurance plan provided by the employer or
+ // available for purchase by the employee.
+ LIFE_INSURANCE = 6;
+
+ // The job allows for a leave of absence to a parent to care for a newborn
+ // child.
+ PARENTAL_LEAVE = 7;
+
+ // The job includes a workplace retirement plan provided by the
+ // employer or available for purchase by the employee.
+ RETIREMENT_PLAN = 8;
+
+ // The job allows for paid time off due to illness.
+ SICK_DAYS = 9;
+
+ // The job includes paid time off for vacation.
+ VACATION = 10;
+
+ // The job includes vision services covered by a vision
+ // insurance plan.
+ VISION = 11;
+}
+
+// Educational degree level defined in International Standard Classification
+// of Education (ISCED).
+enum DegreeType {
+ // Default value. Represents no degree, or early childhood education.
+ // Maps to ISCED code 0.
+ // Ex) Kindergarten
+ DEGREE_TYPE_UNSPECIFIED = 0;
+
+ // Primary education which is typically the first stage of compulsory
+ // education. ISCED code 1.
+ // Ex) Elementary school
+ PRIMARY_EDUCATION = 1;
+
+ // Lower secondary education; First stage of secondary education building on
+ // primary education, typically with a more subject-oriented curriculum.
+ // ISCED code 2.
+ // Ex) Middle school
+ LOWER_SECONDARY_EDUCATION = 2;
+
+ // Middle education; Second/final stage of secondary education preparing for
+ // tertiary education and/or providing skills relevant to employment.
+ // Usually with an increased range of subject options and streams. ISCED
+ // code 3.
+ // Ex) High school
+ UPPER_SECONDARY_EDUCATION = 3;
+
+ // Adult Remedial Education; Programmes providing learning experiences that
+ // build on secondary education and prepare for labour market entry and/or
+ // tertiary education. The content is broader than secondary but not as
+ // complex as tertiary education. ISCED code 4.
+ ADULT_REMEDIAL_EDUCATION = 4;
+
+ // Associate's or equivalent; Short first tertiary programmes that are
+ // typically practically-based, occupationally-specific and prepare for
+ // labour market entry. These programmes may also provide a pathway to other
+ // tertiary programmes. ISCED code 5.
+ ASSOCIATES_OR_EQUIVALENT = 5;
+
+ // Bachelor's or equivalent; Programmes designed to provide intermediate
+ // academic and/or professional knowledge, skills and competencies leading
+ // to a first tertiary degree or equivalent qualification. ISCED code 6.
+ BACHELORS_OR_EQUIVALENT = 6;
+
+ // Master's or equivalent; Programmes designed to provide advanced academic
+ // and/or professional knowledge, skills and competencies leading to a
+ // second tertiary degree or equivalent qualification. ISCED code 7.
+ MASTERS_OR_EQUIVALENT = 7;
+
+ // Doctoral or equivalent; Programmes designed primarily to lead to an
+ // advanced research qualification, usually concluding with the submission
+ // and defense of a substantive dissertation of publishable quality based on
+ // original research. ISCED code 8.
+ DOCTORAL_OR_EQUIVALENT = 8;
+}
+
+// An enum that represents the employment type of a job.
+enum EmploymentType {
+ // The default value if the employment type isn't specified.
+ EMPLOYMENT_TYPE_UNSPECIFIED = 0;
+
+ // The job requires working a number of hours that constitute full
+ // time employment, typically 40 or more hours per week.
+ FULL_TIME = 1;
+
+ // The job entails working fewer hours than a full time job,
+ // typically less than 40 hours a week.
+ PART_TIME = 2;
+
+ // The job is offered as a contracted, as opposed to a salaried employee,
+ // position.
+ CONTRACTOR = 3;
+
+ // The job is offered as a contracted position with the understanding
+ // that it's converted into a full-time position at the end of the
+ // contract. Jobs of this type are also returned by a search for
+ // [EmploymentType.CONTRACTOR][google.cloud.talent.v4beta1.EmploymentType.CONTRACTOR] jobs.
+ CONTRACT_TO_HIRE = 4;
+
+ // The job is offered as a temporary employment opportunity, usually
+ // a short-term engagement.
+ TEMPORARY = 5;
+
+ // The job is a fixed-term opportunity for students or entry-level job
+ // seekers to obtain on-the-job training, typically offered as a summer
+ // position.
+ INTERN = 6;
+
+ // The is an opportunity for an individual to volunteer, where there's no
+ // expectation of compensation for the provided services.
+ VOLUNTEER = 7;
+
+ // The job requires an employee to work on an as-needed basis with a
+ // flexible schedule.
+ PER_DIEM = 8;
+
+ // The job involves employing people in remote areas and flying them
+ // temporarily to the work site instead of relocating employees and their
+ // families permanently.
+ FLY_IN_FLY_OUT = 9;
+
+ // The job does not fit any of the other listed types.
+ OTHER_EMPLOYMENT_TYPE = 10;
+}
+
+// An enum that represents the required experience level required for the job.
+enum JobLevel {
+ // The default value if the level isn't specified.
+ JOB_LEVEL_UNSPECIFIED = 0;
+
+ // Entry-level individual contributors, typically with less than 2 years of
+ // experience in a similar role. Includes interns.
+ ENTRY_LEVEL = 1;
+
+ // Experienced individual contributors, typically with 2+ years of
+ // experience in a similar role.
+ EXPERIENCED = 2;
+
+ // Entry- to mid-level managers responsible for managing a team of people.
+ MANAGER = 3;
+
+ // Senior-level managers responsible for managing teams of managers.
+ DIRECTOR = 4;
+
+ // Executive-level managers and above, including C-level positions.
+ EXECUTIVE = 5;
+}
+
+// An enum that represents the categorization or primary focus of specific
+// role. This value is different than the "industry" associated with a role,
+// which is related to the categorization of the company listing the job.
+enum JobCategory {
+ // The default value if the category isn't specified.
+ JOB_CATEGORY_UNSPECIFIED = 0;
+
+ // An accounting and finance job, such as an Accountant.
+ ACCOUNTING_AND_FINANCE = 1;
+
+ // An administrative and office job, such as an Administrative Assistant.
+ ADMINISTRATIVE_AND_OFFICE = 2;
+
+ // An advertising and marketing job, such as Marketing Manager.
+ ADVERTISING_AND_MARKETING = 3;
+
+ // An animal care job, such as Veterinarian.
+ ANIMAL_CARE = 4;
+
+ // An art, fashion, or design job, such as Designer.
+ ART_FASHION_AND_DESIGN = 5;
+
+ // A business operations job, such as Business Operations Manager.
+ BUSINESS_OPERATIONS = 6;
+
+ // A cleaning and facilities job, such as Custodial Staff.
+ CLEANING_AND_FACILITIES = 7;
+
+ // A computer and IT job, such as Systems Administrator.
+ COMPUTER_AND_IT = 8;
+
+ // A construction job, such as General Laborer.
+ CONSTRUCTION = 9;
+
+ // A customer service job, such s Cashier.
+ CUSTOMER_SERVICE = 10;
+
+ // An education job, such as School Teacher.
+ EDUCATION = 11;
+
+ // An entertainment and travel job, such as Flight Attendant.
+ ENTERTAINMENT_AND_TRAVEL = 12;
+
+ // A farming or outdoor job, such as Park Ranger.
+ FARMING_AND_OUTDOORS = 13;
+
+ // A healthcare job, such as Registered Nurse.
+ HEALTHCARE = 14;
+
+ // A human resources job, such as Human Resources Director.
+ HUMAN_RESOURCES = 15;
+
+ // An installation, maintenance, or repair job, such as Electrician.
+ INSTALLATION_MAINTENANCE_AND_REPAIR = 16;
+
+ // A legal job, such as Law Clerk.
+ LEGAL = 17;
+
+ // A management job, often used in conjunction with another category,
+ // such as Store Manager.
+ MANAGEMENT = 18;
+
+ // A manufacturing or warehouse job, such as Assembly Technician.
+ MANUFACTURING_AND_WAREHOUSE = 19;
+
+ // A media, communications, or writing job, such as Media Relations.
+ MEDIA_COMMUNICATIONS_AND_WRITING = 20;
+
+ // An oil, gas or mining job, such as Offshore Driller.
+ OIL_GAS_AND_MINING = 21;
+
+ // A personal care and services job, such as Hair Stylist.
+ PERSONAL_CARE_AND_SERVICES = 22;
+
+ // A protective services job, such as Security Guard.
+ PROTECTIVE_SERVICES = 23;
+
+ // A real estate job, such as Buyer's Agent.
+ REAL_ESTATE = 24;
+
+ // A restaurant and hospitality job, such as Restaurant Server.
+ RESTAURANT_AND_HOSPITALITY = 25;
+
+ // A sales and/or retail job, such Sales Associate.
+ SALES_AND_RETAIL = 26;
+
+ // A science and engineering job, such as Lab Technician.
+ SCIENCE_AND_ENGINEERING = 27;
+
+ // A social services or non-profit job, such as Case Worker.
+ SOCIAL_SERVICES_AND_NON_PROFIT = 28;
+
+ // A sports, fitness, or recreation job, such as Personal Trainer.
+ SPORTS_FITNESS_AND_RECREATION = 29;
+
+ // A transportation or logistics job, such as Truck Driver.
+ TRANSPORTATION_AND_LOGISTICS = 30;
+}
+
+// An enum that represents the job posting region. In most cases, job postings
+// don't need to specify a region. If a region is given, jobs are
+// eligible for searches in the specified region.
+enum PostingRegion {
+ // If the region is unspecified, the job is only returned if it
+ // matches the [LocationFilter][google.cloud.talent.v4beta1.LocationFilter].
+ POSTING_REGION_UNSPECIFIED = 0;
+
+ // In addition to exact location matching, job posting is returned when the
+ // [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in the search query is in the same administrative area
+ // as the returned job posting. For example, if a `ADMINISTRATIVE_AREA` job
+ // is posted in "CA, USA", it's returned if [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] has
+ // "Mountain View".
+ //
+ // Administrative area refers to top-level administrative subdivision of this
+ // country. For example, US state, IT region, UK constituent nation and
+ // JP prefecture.
+ ADMINISTRATIVE_AREA = 1;
+
+ // In addition to exact location matching, job is returned when
+ // [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in search query is in the same country as this job.
+ // For example, if a `NATION_WIDE` job is posted in "USA", it's
+ // returned if [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] has 'Mountain View'.
+ NATION = 2;
+
+ // Job allows employees to work remotely (telecommute).
+ // If locations are provided with this value, the job is
+ // considered as having a location, but telecommuting is allowed.
+ TELECOMMUTE = 3;
+}
+
+// Deprecated. All resources are only visible to the owner.
+//
+// An enum that represents who has view access to the resource.
+enum Visibility {
+ option deprecated = true;
+
+ // Default value.
+ VISIBILITY_UNSPECIFIED = 0;
+
+ // The resource is only visible to the GCP account who owns it.
+ ACCOUNT_ONLY = 1;
+
+ // The resource is visible to the owner and may be visible to other
+ // applications and processes at Google.
+ SHARED_WITH_GOOGLE = 2;
+
+ // The resource is visible to the owner and may be visible to all other API
+ // clients.
+ SHARED_WITH_PUBLIC = 3;
+}
+
+// Option for HTML content sanitization on user input fields, for example, job
+// description. By setting this option, user can determine whether and how
+// sanitization is performed on these fields.
+enum HtmlSanitization {
+ // Default value.
+ HTML_SANITIZATION_UNSPECIFIED = 0;
+
+ // Disables sanitization on HTML input.
+ HTML_SANITIZATION_DISABLED = 1;
+
+ // Sanitizes HTML input, only accepts bold, italic, ordered list, and
+ // unordered list markup tags.
+ SIMPLE_FORMATTING_ONLY = 2;
+}
+
+// Method for commute.
+enum CommuteMethod {
+ // Commute method isn't specified.
+ COMMUTE_METHOD_UNSPECIFIED = 0;
+
+ // Commute time is calculated based on driving time.
+ DRIVING = 1;
+
+ // Commute time is calculated based on public transit including bus, metro,
+ // subway, and so on.
+ TRANSIT = 2;
+
+ // Commute time is calculated based on walking time.
+ WALKING = 3;
+
+ // Commute time is calculated based on biking time.
+ CYCLING = 4;
+}
+
+// A resource that represents a location with full geographic information.
+message Location {
+ // An enum which represents the type of a location.
+ enum LocationType {
+ // Default value if the type isn't specified.
+ LOCATION_TYPE_UNSPECIFIED = 0;
+
+ // A country level location.
+ COUNTRY = 1;
+
+ // A state or equivalent level location.
+ ADMINISTRATIVE_AREA = 2;
+
+ // A county or equivalent level location.
+ SUB_ADMINISTRATIVE_AREA = 3;
+
+ // A city or equivalent level location.
+ LOCALITY = 4;
+
+ // A postal code level location.
+ POSTAL_CODE = 5;
+
+ // A sublocality is a subdivision of a locality, for example a city borough,
+ // ward, or arrondissement. Sublocalities are usually recognized by a local
+ // political authority. For example, Manhattan and Brooklyn are recognized
+ // as boroughs by the City of New York, and are therefore modeled as
+ // sublocalities.
+ SUB_LOCALITY = 6;
+
+ // A district or equivalent level location.
+ SUB_LOCALITY_1 = 7;
+
+ // A smaller district or equivalent level display.
+ SUB_LOCALITY_2 = 8;
+
+ // A neighborhood level location.
+ NEIGHBORHOOD = 9;
+
+ // A street address level location.
+ STREET_ADDRESS = 10;
+ }
+
+ // The type of a location, which corresponds to the address lines field of
+ // [google.type.PostalAddress][google.type.PostalAddress]. For example, "Downtown, Atlanta, GA, USA"
+ // has a type of [LocationType.NEIGHBORHOOD][google.cloud.talent.v4beta1.Location.LocationType.NEIGHBORHOOD], and "Kansas City, KS, USA"
+ // has a type of [LocationType.LOCALITY][google.cloud.talent.v4beta1.Location.LocationType.LOCALITY].
+ LocationType location_type = 1;
+
+ // Postal address of the location that includes human readable information,
+ // such as postal delivery and payments addresses. Given a postal address,
+ // a postal service can deliver items to a premises, P.O. Box, or other
+ // delivery location.
+ google.type.PostalAddress postal_address = 2;
+
+ // An object representing a latitude/longitude pair.
+ google.type.LatLng lat_lng = 3;
+
+ // Radius in miles of the job location. This value is derived from the
+ // location bounding box in which a circle with the specified radius
+ // centered from [google.type.LatLng][google.type.LatLng] covers the area associated with the
+ // job location.
+ // For example, currently, "Mountain View, CA, USA" has a radius of
+ // 6.17 miles.
+ double radius_miles = 4;
+}
+
+// Meta information related to the job searcher or entity
+// conducting the job search. This information is used to improve the
+// performance of the service.
+message RequestMetadata {
+ // Required if [allow_missing_ids][google.cloud.talent.v4beta1.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // The client-defined scope or source of the service call, which typically
+ // is the domain on
+ // which the service has been implemented and is currently being run.
+ //
+ // For example, if the service is being run by client Foo, Inc., on
+ // job board www.foo.com and career site www.bar.com, then this field is
+ // set to "foo.com" for use on the job board, and "bar.com" for use on the
+ // career site.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique domain.
+ //
+ // The maximum number of allowed characters is 255.
+ string domain = 1;
+
+ // Required if [allow_missing_ids][google.cloud.talent.v4beta1.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // A unique session identification string. A session is defined as the
+ // duration of an end user's interaction with the service over a certain
+ // period.
+ // Obfuscate this field for privacy concerns before
+ // providing it to the service.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique session ID.
+ //
+ // The maximum number of allowed characters is 255.
+ string session_id = 2;
+
+ // Required if [allow_missing_ids][google.cloud.talent.v4beta1.RequestMetadata.allow_missing_ids] is unset or `false`.
+ //
+ // A unique user identification string, as determined by the client.
+ // To have the strongest positive impact on search quality
+ // make sure the client-level is unique.
+ // Obfuscate this field for privacy concerns before
+ // providing it to the service.
+ //
+ // Note that any improvements to the model for a particular tenant site rely
+ // on this field being set correctly to a unique user ID.
+ //
+ // The maximum number of allowed characters is 255.
+ string user_id = 3;
+
+ // Only set when any of [domain][google.cloud.talent.v4beta1.RequestMetadata.domain], [session_id][google.cloud.talent.v4beta1.RequestMetadata.session_id] and [user_id][google.cloud.talent.v4beta1.RequestMetadata.user_id] isn't
+ // available for some reason. It is highly recommended not to set this field
+ // and provide accurate [domain][google.cloud.talent.v4beta1.RequestMetadata.domain], [session_id][google.cloud.talent.v4beta1.RequestMetadata.session_id] and [user_id][google.cloud.talent.v4beta1.RequestMetadata.user_id] for the
+ // best service experience.
+ bool allow_missing_ids = 4;
+
+ // The type of device used by the job seeker at the time of the call to the
+ // service.
+ DeviceInfo device_info = 5;
+}
+
+// Additional information returned to client, such as debugging information.
+message ResponseMetadata {
+ // A unique id associated with this call.
+ // This id is logged for tracking purposes.
+ string request_id = 1;
+}
+
+// Device information collected from the job seeker, candidate, or
+// other entity conducting the job search. Providing this information improves
+// the quality of the search results across devices.
+message DeviceInfo {
+ // An enumeration describing an API access portal and exposure mechanism.
+ enum DeviceType {
+ // The device type isn't specified.
+ DEVICE_TYPE_UNSPECIFIED = 0;
+
+ // A desktop web browser, such as, Chrome, Firefox, Safari, or Internet
+ // Explorer)
+ WEB = 1;
+
+ // A mobile device web browser, such as a phone or tablet with a Chrome
+ // browser.
+ MOBILE_WEB = 2;
+
+ // An Android device native application.
+ ANDROID = 3;
+
+ // An iOS device native application.
+ IOS = 4;
+
+ // A bot, as opposed to a device operated by human beings, such as a web
+ // crawler.
+ BOT = 5;
+
+ // Other devices types.
+ OTHER = 6;
+ }
+
+ // Type of the device.
+ DeviceType device_type = 1;
+
+ // A device-specific ID. The ID must be a unique identifier that
+ // distinguishes the device from other devices.
+ string id = 2;
+}
+
+// Custom attribute values that are either filterable or non-filterable.
+message CustomAttribute {
+ // Exactly one of [string_values][google.cloud.talent.v4beta1.CustomAttribute.string_values] or [long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values] must be specified.
+ //
+ // This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or
+ // `CASE_INSENSITIVE_MATCH`) search.
+ // For filterable `string_value`s, a maximum total number of 200 values
+ // is allowed, with each `string_value` has a byte size of no more than
+ // 500B. For unfilterable `string_values`, the maximum total byte size of
+ // unfilterable `string_values` is 50KB.
+ //
+ // Empty string isn't allowed.
+ repeated string string_values = 1;
+
+ // Exactly one of [string_values][google.cloud.talent.v4beta1.CustomAttribute.string_values] or [long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values] must be specified.
+ //
+ // This field is used to perform number range search.
+ // (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.
+ //
+ // Currently at most 1 [long_values][google.cloud.talent.v4beta1.CustomAttribute.long_values] is supported.
+ repeated int64 long_values = 2;
+
+ // If the `filterable` flag is true, the custom field values may be used for
+ // custom attribute filters [JobQuery.custom_attribute_filter][google.cloud.talent.v4beta1.JobQuery.custom_attribute_filter].
+ // If false, these values may not be used for custom attribute filters.
+ //
+ // Default is false.
+ bool filterable = 3;
+
+ // If the `keyword_searchable` flag is true, the keywords in custom fields are
+ // searchable by keyword match.
+ // If false, the values are not searchable by keyword match.
+ //
+ // Default is false.
+ bool keyword_searchable = 4;
+}
+
+// Spell check result.
+message SpellingCorrection {
+ // Indicates if the query was corrected by the spell checker.
+ bool corrected = 1;
+
+ // Correction output consisting of the corrected keyword string.
+ string corrected_text = 2;
+
+ // Corrected output with html tags to highlight the corrected words.
+ // Corrected words are called out with the "..." html tags.
+ //
+ // For example, the user input query is "software enginear", where the second
+ // word, "enginear," is incorrect. It should be "engineer". When spelling
+ // correction is enabled, this value is
+ // "software engineer".
+ string corrected_html = 3;
+}
+
+// Job compensation details.
+message CompensationInfo {
+ // A compensation entry that represents one component of compensation, such
+ // as base pay, bonus, or other compensation type.
+ //
+ // Annualization: One compensation entry can be annualized if
+ // - it contains valid [amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] or [range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range].
+ // - and its [expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year] is set or can be derived.
+ // Its annualized range is determined as ([amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] or [range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range]) times
+ // [expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year].
+ message CompensationEntry {
+ // Compensation type.
+ //
+ // Default is [CompensationType.COMPENSATION_TYPE_UNSPECIFIED][google.cloud.talent.v4beta1.CompensationInfo.CompensationType.COMPENSATION_TYPE_UNSPECIFIED].
+ CompensationType type = 1;
+
+ // Frequency of the specified amount.
+ //
+ // Default is [CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED].
+ CompensationUnit unit = 2;
+
+ // Compensation amount. It could be a fixed amount or a floating range.
+ oneof compensation_amount {
+ // Compensation amount.
+ google.type.Money amount = 3;
+
+ // Compensation range.
+ CompensationRange range = 4;
+ }
+
+ // Compensation description. For example, could
+ // indicate equity terms or provide additional context to an estimated
+ // bonus.
+ string description = 5;
+
+ // Expected number of units paid each year. If not specified, when
+ // [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types] is FULLTIME, a default value is inferred
+ // based on [unit][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.unit]. Default values:
+ // - HOURLY: 2080
+ // - DAILY: 260
+ // - WEEKLY: 52
+ // - MONTHLY: 12
+ // - ANNUAL: 1
+ google.protobuf.DoubleValue expected_units_per_year = 6;
+ }
+
+ // The type of compensation.
+ //
+ // For compensation amounts specified in non-monetary amounts,
+ // describe the compensation scheme in the [CompensationEntry.description][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.description].
+ //
+ // For example, tipping format is described in
+ // [CompensationEntry.description][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.description] (for example, "expect 15-20% tips based
+ // on customer bill.") and an estimate of the tips provided in
+ // [CompensationEntry.amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] or [CompensationEntry.range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range] ($10 per hour).
+ //
+ // For example, equity is described in [CompensationEntry.description][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.description]
+ // (for example, "1% - 2% equity vesting over 4 years, 1 year cliff") and
+ // value estimated in [CompensationEntry.amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] or
+ // [CompensationEntry.range][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.range]. If no value estimate is possible, units are
+ // [CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED] and then further
+ // clarified in [CompensationEntry.description][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.description] field.
+ enum CompensationType {
+ // Default value.
+ COMPENSATION_TYPE_UNSPECIFIED = 0;
+
+ // Base compensation: Refers to the fixed amount of money paid to an
+ // employee by an employer in return for work performed. Base compensation
+ // does not include benefits, bonuses or any other potential compensation
+ // from an employer.
+ BASE = 1;
+
+ // Bonus.
+ BONUS = 2;
+
+ // Signing bonus.
+ SIGNING_BONUS = 3;
+
+ // Equity.
+ EQUITY = 4;
+
+ // Profit sharing.
+ PROFIT_SHARING = 5;
+
+ // Commission.
+ COMMISSIONS = 6;
+
+ // Tips.
+ TIPS = 7;
+
+ // Other compensation type.
+ OTHER_COMPENSATION_TYPE = 8;
+ }
+
+ // Pay frequency.
+ enum CompensationUnit {
+ // Default value.
+ COMPENSATION_UNIT_UNSPECIFIED = 0;
+
+ // Hourly.
+ HOURLY = 1;
+
+ // Daily.
+ DAILY = 2;
+
+ // Weekly
+ WEEKLY = 3;
+
+ // Monthly.
+ MONTHLY = 4;
+
+ // Yearly.
+ YEARLY = 5;
+
+ // One time.
+ ONE_TIME = 6;
+
+ // Other compensation units.
+ OTHER_COMPENSATION_UNIT = 7;
+ }
+
+ // Compensation range.
+ message CompensationRange {
+ // The maximum amount of compensation. If left empty, the value is set
+ // to a maximal compensation value and the currency code is set to
+ // match the [currency code][google.type.Money.currency_code] of
+ // min_compensation.
+ google.type.Money max_compensation = 2;
+
+ // The minimum amount of compensation. If left empty, the value is set
+ // to zero and the currency code is set to match the
+ // [currency code][google.type.Money.currency_code] of max_compensation.
+ google.type.Money min_compensation = 1;
+ }
+
+ // Job compensation information.
+ //
+ // At most one entry can be of type
+ // [CompensationInfo.CompensationType.BASE][google.cloud.talent.v4beta1.CompensationInfo.CompensationType.BASE], which is
+ // referred as **base compensation entry** for the job.
+ repeated CompensationEntry entries = 1;
+
+ // Output only. Annualized base compensation range. Computed as base compensation entry's
+ // [CompensationEntry.amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] times
+ // [CompensationEntry.expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year].
+ //
+ // See [CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry] for explanation on compensation annualization.
+ CompensationRange annualized_base_compensation_range = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Annualized total compensation range. Computed as all compensation entries'
+ // [CompensationEntry.amount][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.amount] times
+ // [CompensationEntry.expected_units_per_year][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.expected_units_per_year].
+ //
+ // See [CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry] for explanation on compensation annualization.
+ CompensationRange annualized_total_compensation_range = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Metadata used for long running operations returned by CTS batch APIs.
+// It's used to replace [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata].
+message BatchOperationMetadata {
+ enum State {
+ // Default value.
+ STATE_UNSPECIFIED = 0;
+
+ // The batch operation is being prepared for processing.
+ INITIALIZING = 1;
+
+ // The batch operation is actively being processed.
+ PROCESSING = 2;
+
+ // The batch operation is processed, and at least one item has been
+ // successfully processed.
+ SUCCEEDED = 3;
+
+ // The batch operation is done and no item has been successfully processed.
+ FAILED = 4;
+
+ // The batch operation is in the process of cancelling after
+ // [google.longrunning.Operations.CancelOperation][google.longrunning.Operations.CancelOperation] is called.
+ CANCELLING = 5;
+
+ // The batch operation is done after
+ // [google.longrunning.Operations.CancelOperation][google.longrunning.Operations.CancelOperation] is called. Any items
+ // processed before cancelling are returned in the response.
+ CANCELLED = 6;
+ }
+
+ // The state of a long running operation.
+ State state = 1;
+
+ // More detailed information about operation state.
+ string state_description = 2;
+
+ // Count of successful item(s) inside an operation.
+ int32 success_count = 3;
+
+ // Count of failed item(s) inside an operation.
+ int32 failure_count = 4;
+
+ // Count of total item(s) inside an operation.
+ int32 total_count = 5;
+
+ // The time when the batch operation is created.
+ google.protobuf.Timestamp create_time = 6;
+
+ // The time when the batch operation status is updated. The metadata and the
+ // [update_time][google.cloud.talent.v4beta1.BatchOperationMetadata.update_time] is refreshed every minute otherwise cached data is
+ // returned.
+ google.protobuf.Timestamp update_time = 7;
+
+ // The time when the batch operation is finished and
+ // [google.longrunning.Operation.done][google.longrunning.Operation.done] is set to `true`.
+ google.protobuf.Timestamp end_time = 8;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company.proto
new file mode 100644
index 00000000000..7c1e2ea56df
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company.proto
@@ -0,0 +1,121 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyResourceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A Company resource represents a company in the service. A company is the
+// entity that owns job postings, that is, the hiring entity responsible for
+// employing applicants for the job position.
+message Company {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Company"
+ pattern: "projects/{project}/tenants/{tenant}/companies/{company}"
+ pattern: "projects/{project}/companies/{company}"
+ };
+
+ // Derived details about the company.
+ message DerivedInfo {
+ // A structured headquarters location of the company, resolved from
+ // [Company.headquarters_address][google.cloud.talent.v4beta1.Company.headquarters_address] if provided.
+ Location headquarters_location = 1;
+ }
+
+ // Required during company update.
+ //
+ // The resource name for a company. This is generated by the service when a
+ // company is created.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/companies/bar".
+ string name = 1;
+
+ // Required. The display name of the company, for example, "Google LLC".
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Client side company identifier, used to uniquely identify the
+ // company.
+ //
+ // The maximum number of allowed characters is 255.
+ string external_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The employer's company size.
+ CompanySize size = 4;
+
+ // The street address of the company's main headquarters, which may be
+ // different from the job location. The service attempts
+ // to geolocate the provided address, and populates a more specific
+ // location wherever possible in [DerivedInfo.headquarters_location][google.cloud.talent.v4beta1.Company.DerivedInfo.headquarters_location].
+ string headquarters_address = 5;
+
+ // Set to true if it is the hiring agency that post jobs for other
+ // employers.
+ //
+ // Defaults to false if not provided.
+ bool hiring_agency = 6;
+
+ // Equal Employment Opportunity legal disclaimer text to be
+ // associated with all jobs, and typically to be displayed in all
+ // roles.
+ //
+ // The maximum number of allowed characters is 500.
+ string eeo_text = 7;
+
+ // The URI representing the company's primary web site or home page,
+ // for example, "https://www.google.com".
+ //
+ // The maximum number of allowed characters is 255.
+ string website_uri = 8;
+
+ // The URI to employer's career site or careers page on the employer's web
+ // site, for example, "https://careers.google.com".
+ string career_site_uri = 9;
+
+ // A URI that hosts the employer's company logo.
+ string image_uri = 10;
+
+ // This field is deprecated. Please set the searchability of the custom
+ // attribute in the [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] going forward.
+ //
+ // A list of keys of filterable [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes], whose
+ // corresponding `string_values` are used in keyword searches. Jobs with
+ // `string_values` under these specified field keys are returned if any
+ // of the values match the search keyword. Custom field values with
+ // parenthesis, brackets and special symbols are not searchable as-is,
+ // and those keyword queries must be surrounded by quotes.
+ repeated string keyword_searchable_job_custom_attributes = 11 [deprecated = true];
+
+ // Output only. Derived details about the company.
+ DerivedInfo derived_info = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates whether a company is flagged to be suspended from
+ // public availability by the service when job content appears suspicious,
+ // abusive, or spammy.
+ bool suspended = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company_service.proto
new file mode 100644
index 00000000000..9fd72023af5
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/company_service.proto
@@ -0,0 +1,214 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/cloud/talent/v4beta1/company.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service that handles company management, including CRUD and enumeration.
+service CompanyService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new company entity.
+ rpc CreateCompany(CreateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/companies"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/companies"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,company";
+ }
+
+ // Retrieves specified company.
+ rpc GetCompany(GetCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ get: "/v4beta1/{name=projects/*/tenants/*/companies/*}"
+ additional_bindings {
+ get: "/v4beta1/{name=projects/*/companies/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified company.
+ rpc UpdateCompany(UpdateCompanyRequest) returns (Company) {
+ option (google.api.http) = {
+ patch: "/v4beta1/{company.name=projects/*/tenants/*/companies/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v4beta1/{company.name=projects/*/companies/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "company";
+ }
+
+ // Deletes specified company.
+ // Prerequisite: The company has no jobs associated with it.
+ rpc DeleteCompany(DeleteCompanyRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4beta1/{name=projects/*/tenants/*/companies/*}"
+ additional_bindings {
+ delete: "/v4beta1/{name=projects/*/companies/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all companies associated with the project.
+ rpc ListCompanies(ListCompaniesRequest) returns (ListCompaniesResponse) {
+ option (google.api.http) = {
+ get: "/v4beta1/{parent=projects/*/tenants/*}/companies"
+ additional_bindings {
+ get: "/v4beta1/{parent=projects/*}/companies"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// The Request of the CreateCompany method.
+message CreateCompanyRequest {
+ // Required. Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created, for example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // Required. The company to be created.
+ Company company = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for getting a company by name.
+message GetCompanyRequest {
+ // Required. The resource name of the company to be retrieved.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/api-test-project/tenants/foo/companies/bar".
+ //
+ // If tenant id is unspecified, the default tenant is used, for
+ // example, "projects/api-test-project/companies/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+}
+
+// Request for updating a specified company.
+message UpdateCompanyRequest {
+ // Required. The company resource to replace the current resource in the system.
+ Company company = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.UpdateCompanyRequest.update_mask] is provided, only the specified fields in
+ // [company][google.cloud.talent.v4beta1.UpdateCompanyRequest.company] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to specify the company fields to be updated. Only
+ // top level fields of [Company][google.cloud.talent.v4beta1.Company] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a company.
+message DeleteCompanyRequest {
+ // Required. The resource name of the company to be deleted.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used, for
+ // example, "projects/foo/companies/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+}
+
+// List companies for which the client has ACL visibility.
+message ListCompaniesRequest {
+ // Required. Resource name of the tenant under which the company is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenant/bar".
+ //
+ // If tenant id is unspecified, the default tenant will be used, for
+ // example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // The starting indicator from which to return results.
+ string page_token = 2;
+
+ // The maximum number of companies to be returned, at most 100.
+ // Default is 100 if a non-positive number is provided.
+ int32 page_size = 3;
+
+ // Set to true if the companies requested must have open jobs.
+ //
+ // Defaults to false.
+ //
+ // If true, at most [page_size][google.cloud.talent.v4beta1.ListCompaniesRequest.page_size] of companies are fetched, among which
+ // only those with open jobs are returned.
+ bool require_open_jobs = 4;
+}
+
+// The List companies response object.
+message ListCompaniesResponse {
+ // Companies for the current client.
+ repeated Company companies = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/completion_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/completion_service.proto
new file mode 100644
index 00000000000..88d2977ecd4
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/completion_service.proto
@@ -0,0 +1,163 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompletionServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service handles auto completion.
+service Completion {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Completes the specified prefix with keyword suggestions.
+ // Intended for use by a job search auto-complete search box.
+ rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) {
+ option (google.api.http) = {
+ get: "/v4beta1/{parent=projects/*/tenants/*}:complete"
+ additional_bindings {
+ get: "/v4beta1/{parent=projects/*}:complete"
+ }
+ };
+ }
+}
+
+// Auto-complete parameters.
+message CompleteQueryRequest {
+ // Enum to specify the scope of completion.
+ enum CompletionScope {
+ // Default value.
+ COMPLETION_SCOPE_UNSPECIFIED = 0;
+
+ // Suggestions are based only on the data provided by the client.
+ TENANT = 1;
+
+ // Suggestions are based on all jobs data in the system that's visible to
+ // the client
+ PUBLIC = 2;
+ }
+
+ // Enum to specify auto-completion topics.
+ enum CompletionType {
+ // Default value.
+ COMPLETION_TYPE_UNSPECIFIED = 0;
+
+ // Suggest job titles for jobs autocomplete.
+ //
+ // For [CompletionType.JOB_TITLE][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType.JOB_TITLE] type, only open jobs with the same
+ // [language_codes][google.cloud.talent.v4beta1.CompleteQueryRequest.language_codes] are returned.
+ JOB_TITLE = 1;
+
+ // Suggest company names for jobs autocomplete.
+ //
+ // For [CompletionType.COMPANY_NAME][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType.COMPANY_NAME] type,
+ // only companies having open jobs with the same [language_codes][google.cloud.talent.v4beta1.CompleteQueryRequest.language_codes] are
+ // returned.
+ COMPANY_NAME = 2;
+
+ // Suggest both job titles and company names for jobs autocomplete.
+ //
+ // For [CompletionType.COMBINED][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType.COMBINED] type, only open jobs with the same
+ // [language_codes][google.cloud.talent.v4beta1.CompleteQueryRequest.language_codes] or companies having open jobs with the same
+ // [language_codes][google.cloud.talent.v4beta1.CompleteQueryRequest.language_codes] are returned.
+ COMBINED = 3;
+ }
+
+ // Required. Resource name of tenant the completion is performed within.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenant/bar".
+ //
+ // If tenant id is unspecified, the default tenant is used, for
+ // example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // Required. The query used to generate suggestions.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The list of languages of the query. This is
+ // the BCP-47 language code, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ //
+ // The maximum number of allowed characters is 255.
+ repeated string language_codes = 3;
+
+ // Required. Completion result count.
+ //
+ // The maximum allowed page size is 10.
+ int32 page_size = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // If provided, restricts completion to specified company.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used, for
+ // example, "projects/foo".
+ string company = 5 [(google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }];
+
+ // The scope of the completion. The defaults is [CompletionScope.PUBLIC][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionScope.PUBLIC].
+ CompletionScope scope = 6;
+
+ // The completion topic. The default is [CompletionType.COMBINED][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType.COMBINED].
+ CompletionType type = 7;
+}
+
+// Response of auto-complete query.
+message CompleteQueryResponse {
+ // Resource that represents completion results.
+ message CompletionResult {
+ // The suggestion for the query.
+ string suggestion = 1;
+
+ // The completion topic.
+ CompleteQueryRequest.CompletionType type = 2;
+
+ // The URI of the company image for
+ // [COMPANY_NAME][google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType.COMPANY_NAME].
+ string image_uri = 3;
+ }
+
+ // Results of the matching job/company candidates.
+ repeated CompletionResult completion_results = 1;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 2;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event.proto
new file mode 100644
index 00000000000..24f769ec27e
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event.proto
@@ -0,0 +1,177 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "EventProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// An event issued when an end user interacts with the application that
+// implements Cloud Talent Solution. Providing this information improves the
+// quality of results for the API clients, enabling the
+// service to perform optimally. The number of events sent must be consistent
+// with other calls, such as job searches, issued to the service by the client.
+message ClientEvent {
+ // Strongly recommended for the best service experience.
+ //
+ // A unique ID generated in the API responses. It can be found in
+ // [ResponseMetadata.request_id][google.cloud.talent.v4beta1.ResponseMetadata.request_id].
+ string request_id = 1;
+
+ // Required. A unique identifier, generated by the client application.
+ string event_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The timestamp of the event.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required.
+ //
+ // The detail information of a specific event type.
+ oneof event {
+ // An event issued when a job seeker interacts with the application that
+ // implements Cloud Talent Solution.
+ JobEvent job_event = 5;
+ }
+
+ // Notes about the event provided by recruiters or other users, for example,
+ // feedback on why a profile was bookmarked.
+ string event_notes = 9;
+}
+
+// An event issued when a job seeker interacts with the application that
+// implements Cloud Talent Solution.
+message JobEvent {
+ // An enumeration of an event attributed to the behavior of the end user,
+ // such as a job seeker.
+ enum JobEventType {
+ // The event is unspecified by other provided values.
+ JOB_EVENT_TYPE_UNSPECIFIED = 0;
+
+ // The job seeker or other entity interacting with the service has
+ // had a job rendered in their view, such as in a list of search results in
+ // a compressed or clipped format. This event is typically associated with
+ // the viewing of a jobs list on a single page by a job seeker.
+ IMPRESSION = 1;
+
+ // The job seeker, or other entity interacting with the service, has
+ // viewed the details of a job, including the full description. This
+ // event doesn't apply to the viewing a snippet of a job appearing as a
+ // part of the job search results. Viewing a snippet is associated with an
+ // [impression][google.cloud.talent.v4beta1.JobEvent.JobEventType.IMPRESSION]).
+ VIEW = 2;
+
+ // The job seeker or other entity interacting with the service
+ // performed an action to view a job and was redirected to a different
+ // website for job.
+ VIEW_REDIRECT = 3;
+
+ // The job seeker or other entity interacting with the service
+ // began the process or demonstrated the intention of applying for a job.
+ APPLICATION_START = 4;
+
+ // The job seeker or other entity interacting with the service
+ // submitted an application for a job.
+ APPLICATION_FINISH = 5;
+
+ // The job seeker or other entity interacting with the service
+ // submitted an application for a job with a single click without
+ // entering information. If a job seeker performs this action, send only
+ // this event to the service. Do not also send
+ // [JobEventType.APPLICATION_START][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_START] or [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_FINISH]
+ // events.
+ APPLICATION_QUICK_SUBMISSION = 6;
+
+ // The job seeker or other entity interacting with the service
+ // performed an action to apply to a job and was redirected to a different
+ // website to complete the application.
+ APPLICATION_REDIRECT = 7;
+
+ // The job seeker or other entity interacting with the service began the
+ // process or demonstrated the intention of applying for a job from the
+ // search results page without viewing the details of the job posting.
+ // If sending this event, JobEventType.VIEW event shouldn't be sent.
+ APPLICATION_START_FROM_SEARCH = 8;
+
+ // The job seeker, or other entity interacting with the service, performs an
+ // action with a single click from the search results page to apply to a job
+ // (without viewing the details of the job posting), and is redirected
+ // to a different website to complete the application. If a candidate
+ // performs this action, send only this event to the service. Do not also
+ // send [JobEventType.APPLICATION_START][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_START],
+ // [JobEventType.APPLICATION_FINISH][google.cloud.talent.v4beta1.JobEvent.JobEventType.APPLICATION_FINISH] or [JobEventType.VIEW][google.cloud.talent.v4beta1.JobEvent.JobEventType.VIEW] events.
+ APPLICATION_REDIRECT_FROM_SEARCH = 9;
+
+ // This event should be used when a company submits an application
+ // on behalf of a job seeker. This event is intended for use by staffing
+ // agencies attempting to place candidates.
+ APPLICATION_COMPANY_SUBMIT = 10;
+
+ // The job seeker or other entity interacting with the service demonstrated
+ // an interest in a job by bookmarking or saving it.
+ BOOKMARK = 11;
+
+ // The job seeker or other entity interacting with the service was
+ // sent a notification, such as an email alert or device notification,
+ // containing one or more jobs listings generated by the service.
+ NOTIFICATION = 12;
+
+ // The job seeker or other entity interacting with the service was
+ // employed by the hiring entity (employer). Send this event
+ // only if the job seeker was hired through an application that was
+ // initiated by a search conducted through the Cloud Talent Solution
+ // service.
+ HIRED = 13;
+
+ // A recruiter or staffing agency submitted an application on behalf of the
+ // candidate after interacting with the service to identify a suitable job
+ // posting.
+ SENT_CV = 14;
+
+ // The entity interacting with the service (for example, the job seeker),
+ // was granted an initial interview by the hiring entity (employer). This
+ // event should only be sent if the job seeker was granted an interview as
+ // part of an application that was initiated by a search conducted through /
+ // recommendation provided by the Cloud Talent Solution service.
+ INTERVIEW_GRANTED = 15;
+ }
+
+ // Required. The type of the event (see [JobEventType][google.cloud.talent.v4beta1.JobEvent.JobEventType]).
+ JobEventType type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The [job name(s)][google.cloud.talent.v4beta1.Job.name] associated with this event.
+ // For example, if this is an [impression][google.cloud.talent.v4beta1.JobEvent.JobEventType.IMPRESSION] event,
+ // this field contains the identifiers of all jobs shown to the job seeker.
+ // If this was a [view][google.cloud.talent.v4beta1.JobEvent.JobEventType.VIEW] event, this field contains the
+ // identifier of the viewed job.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ repeated string jobs = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The [profile name][google.cloud.talent.v4beta1.Profile.name] associated with this client event.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}",
+ // for example, "projects/foo/tenants/bar/profiles/baz".
+ string profile = 3;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event_service.proto
new file mode 100644
index 00000000000..6dfdfed6120
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/event_service.proto
@@ -0,0 +1,75 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/event.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "EventServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service handles client event report.
+service EventService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Report events issued when end user interacts with customer's application
+ // that uses Cloud Talent Solution. You may inspect the created events in
+ // [self service
+ // tools](https://console.cloud.google.com/talent-solution/overview).
+ // [Learn
+ // more](https://cloud.google.com/talent-solution/docs/management-tools)
+ // about self service tools.
+ rpc CreateClientEvent(CreateClientEventRequest) returns (ClientEvent) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/clientEvents"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/clientEvents"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,client_event";
+ }
+}
+
+// The report event request.
+message CreateClientEventRequest {
+ // Required. Resource name of the tenant under which the event is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created, for example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // Required. Events issued when end user interacts with customer's application that
+ // uses Cloud Talent Solution.
+ ClientEvent client_event = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/filters.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/filters.proto
new file mode 100644
index 00000000000..03050604657
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/filters.proto
@@ -0,0 +1,370 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/protobuf/duration.proto";
+import "google/type/latlng.proto";
+import "google/type/timeofday.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "FiltersProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// The query required to perform a search query.
+message JobQuery {
+ // The query string that matches against the job title, description, and
+ // location fields.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 1;
+
+ // The language code of [query][google.cloud.talent.v4beta1.JobQuery.query]. For example, "en-US". This field helps to
+ // better interpret the query.
+ //
+ // If a value isn't specified, the query language code is automatically
+ // detected, which may not be accurate.
+ //
+ // Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ string query_language_code = 14;
+
+ // This filter specifies the company entities to search against.
+ //
+ // If a value isn't specified, jobs are searched for against all
+ // companies.
+ //
+ // If multiple values are specified, jobs are searched against the
+ // companies specified.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/companies/bar".
+ //
+ // At most 20 company filters are allowed.
+ repeated string companies = 2;
+
+ // The location filter specifies geo-regions containing the jobs to
+ // search against. See [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more information.
+ //
+ // If a location value isn't specified, jobs fitting the other search
+ // criteria are retrieved regardless of where they're located.
+ //
+ // If multiple values are specified, jobs are retrieved from any of the
+ // specified locations. If different values are specified for the
+ // [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] parameter, the maximum provided
+ // distance is used for all locations.
+ //
+ // At most 5 location filters are allowed.
+ repeated LocationFilter location_filters = 3;
+
+ // The category filter specifies the categories of jobs to search against.
+ // See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more information.
+ //
+ // If a value isn't specified, jobs from any category are searched against.
+ //
+ // If multiple values are specified, jobs from any of the specified
+ // categories are searched against.
+ repeated JobCategory job_categories = 4;
+
+ // Allows filtering jobs by commute time with different travel methods (for
+ // example, driving or public transit).
+ //
+ // Note: This only works when you specify a [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
+ // [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters] is ignored.
+ //
+ // Currently we don't support sorting by commute time.
+ CommuteFilter commute_filter = 5;
+
+ // This filter specifies the company [Company.display_name][google.cloud.talent.v4beta1.Company.display_name]
+ // of the jobs to search against. The company name must match the value
+ // exactly.
+ //
+ // Alternatively, the value being searched for can be wrapped in different
+ // match operators.
+ // `SUBSTRING_MATCH([value])`
+ // The company name must contain a case insensitive substring match of the
+ // value. Using this function may increase latency.
+ //
+ // Sample Value: `SUBSTRING_MATCH(google)`
+ //
+ // `MULTI_WORD_TOKEN_MATCH([value])`
+ // The value will be treated as a multi word token and the company name must
+ // contain a case insensitive match of the value. Using this function may
+ // increase latency.
+ //
+ // Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
+ //
+ // If a value isn't specified, jobs within the search results are
+ // associated with any company.
+ //
+ // If multiple values are specified, jobs within the search results may be
+ // associated with any of the specified companies.
+ //
+ // At most 20 company display name filters are allowed.
+ repeated string company_display_names = 6;
+
+ // This search filter is applied only to
+ // [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info]. For example, if the filter is specified
+ // as "Hourly job with per-hour compensation > $15", only jobs meeting
+ // these criteria are searched. If a filter isn't defined, all open jobs
+ // are searched.
+ CompensationFilter compensation_filter = 7;
+
+ // This filter specifies a structured syntax to match against the
+ // [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] marked as `filterable`.
+ //
+ // The syntax for this expression is a subset of SQL syntax.
+ //
+ // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the
+ // left of the operator is a custom field key and the right of the operator
+ // is a number or a quoted string. You must escape backslash (\\) and
+ // quote (\") characters.
+ //
+ // Supported functions are `LOWER([field_name])` to
+ // perform a case insensitive match and `EMPTY([field_name])` to filter on the
+ // existence of a key.
+ //
+ // Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
+ // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
+ // comparisons or functions are allowed in the expression. The expression
+ // must be < 10000 bytes in length.
+ //
+ // Sample Query:
+ // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND
+ // driving_years > 10`
+ string custom_attribute_filter = 8;
+
+ // This flag controls the spell-check feature. If false, the
+ // service attempts to correct a misspelled query,
+ // for example, "enginee" is corrected to "engineer".
+ //
+ // Defaults to false: a spell check is performed.
+ bool disable_spell_check = 9;
+
+ // The employment type filter specifies the employment type of jobs to
+ // search against, such as [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
+ //
+ // If a value isn't specified, jobs in the search results includes any
+ // employment type.
+ //
+ // If multiple values are specified, jobs in the search results include
+ // any of the specified employment types.
+ repeated EmploymentType employment_types = 10;
+
+ // This filter specifies the locale of jobs to search against,
+ // for example, "en-US".
+ //
+ // If a value isn't specified, the search results can contain jobs in any
+ // locale.
+ //
+ //
+ // Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
+ //
+ // At most 10 language code filters are allowed.
+ repeated string language_codes = 11;
+
+ // Jobs published within a range specified by this filter are searched
+ // against.
+ TimestampRange publish_time_range = 12;
+
+ // This filter specifies a list of job names to be excluded during search.
+ //
+ // At most 400 excluded job names are allowed.
+ repeated string excluded_jobs = 13;
+}
+
+// Geographic region of the search.
+message LocationFilter {
+ // Specify whether to include telecommute jobs.
+ enum TelecommutePreference {
+ // Default value if the telecommute preference isn't specified.
+ TELECOMMUTE_PREFERENCE_UNSPECIFIED = 0;
+
+ // Deprecated: Ignore telecommute status of jobs. Use
+ // TELECOMMUTE_JOBS_EXCLUDED if want to exclude telecommute jobs.
+ TELECOMMUTE_EXCLUDED = 1 [deprecated = true];
+
+ // Allow telecommute jobs.
+ TELECOMMUTE_ALLOWED = 2;
+
+ // Exclude telecommute jobs.
+ TELECOMMUTE_JOBS_EXCLUDED = 3;
+ }
+
+ // The address name, such as "Mountain View" or "Bay Area".
+ string address = 1;
+
+ // CLDR region code of the country/region. This field may be used in two ways:
+ //
+ // 1) If telecommute preference is not set, this field is used address
+ // ambiguity of the user-input address. For example, "Liverpool" may refer to
+ // "Liverpool, NY, US" or "Liverpool, UK". This region code biases the
+ // address resolution toward a specific country or territory. If this field is
+ // not set, address resolution is biased toward the United States by default.
+ //
+ // 2) If telecommute preference is set to TELECOMMUTE_ALLOWED, the
+ // telecommute location filter will be limited to the region specified in this
+ // field. If this field is not set, the telecommute job locations will not be
+ //
+ // See
+ // https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html
+ // for details. Example: "CH" for Switzerland.
+ string region_code = 2;
+
+ // The latitude and longitude of the geographic center to search from. This
+ // field is ignored if `address` is provided.
+ google.type.LatLng lat_lng = 3;
+
+ // The distance_in_miles is applied when the location being searched for is
+ // identified as a city or smaller. This field is ignored if the location
+ // being searched for is a state or larger.
+ double distance_in_miles = 4;
+
+ // Allows the client to return jobs without a
+ // set location, specifically, telecommuting jobs (telecommuting is considered
+ // by the service as a special location).
+ // [Job.posting_region][google.cloud.talent.v4beta1.Job.posting_region] indicates if a job permits telecommuting.
+ // If this field is set to [TelecommutePreference.TELECOMMUTE_ALLOWED][google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference.TELECOMMUTE_ALLOWED],
+ // telecommuting jobs are searched, and [address][google.cloud.talent.v4beta1.LocationFilter.address] and [lat_lng][google.cloud.talent.v4beta1.LocationFilter.lat_lng] are
+ // ignored. If not set or set to
+ // [TelecommutePreference.TELECOMMUTE_EXCLUDED][google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference.TELECOMMUTE_EXCLUDED], the telecommute status of
+ // the jobs is ignored. Jobs that have [PostingRegion.TELECOMMUTE][google.cloud.talent.v4beta1.PostingRegion.TELECOMMUTE] and have
+ // additional [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] may still be matched based on other location
+ // filters using [address][google.cloud.talent.v4beta1.LocationFilter.address] or [latlng][].
+ //
+ // This filter can be used by itself to search exclusively for telecommuting
+ // jobs, or it can be combined with another location
+ // filter to search for a combination of job locations,
+ // such as "Mountain View" or "telecommuting" jobs. However, when used in
+ // combination with other location filters, telecommuting jobs can be
+ // treated as less relevant than other jobs in the search response.
+ //
+ // This field is only used for job search requests.
+ TelecommutePreference telecommute_preference = 5;
+
+ // Whether to apply negation to the filter so profiles matching the filter
+ // are excluded.
+ bool negated = 6;
+}
+
+// Filter on job compensation type and amount.
+message CompensationFilter {
+ // Specify the type of filtering.
+ enum FilterType {
+ // Filter type unspecified. Position holder, INVALID, should never be used.
+ FILTER_TYPE_UNSPECIFIED = 0;
+
+ // Filter by `base compensation entry's` unit. A job is a match if and
+ // only if the job contains a base CompensationEntry and the base
+ // CompensationEntry's unit matches provided [units][google.cloud.talent.v4beta1.CompensationFilter.units].
+ // Populate one or more [units][google.cloud.talent.v4beta1.CompensationFilter.units].
+ //
+ // See [CompensationInfo.CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry] for definition of
+ // base compensation entry.
+ UNIT_ONLY = 1;
+
+ // Filter by `base compensation entry's` unit and amount / range. A job
+ // is a match if and only if the job contains a base CompensationEntry, and
+ // the base entry's unit matches provided
+ // [CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] and
+ // amount or range overlaps with provided
+ // [CompensationRange][google.cloud.talent.v4beta1.CompensationInfo.CompensationRange].
+ //
+ // See [CompensationInfo.CompensationEntry][google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry] for definition of
+ // base compensation entry.
+ //
+ // Set exactly one [units][google.cloud.talent.v4beta1.CompensationFilter.units] and populate [range][google.cloud.talent.v4beta1.CompensationFilter.range].
+ UNIT_AND_AMOUNT = 2;
+
+ // Filter by annualized base compensation amount and `base compensation
+ // entry's` unit. Populate [range][google.cloud.talent.v4beta1.CompensationFilter.range] and zero or more [units][google.cloud.talent.v4beta1.CompensationFilter.units].
+ ANNUALIZED_BASE_AMOUNT = 3;
+
+ // Filter by annualized total compensation amount and `base compensation
+ // entry's` unit . Populate [range][google.cloud.talent.v4beta1.CompensationFilter.range] and zero or more [units][google.cloud.talent.v4beta1.CompensationFilter.units].
+ ANNUALIZED_TOTAL_AMOUNT = 4;
+ }
+
+ // Required. Type of filter.
+ FilterType type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify desired `base compensation entry's`
+ // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit].
+ repeated CompensationInfo.CompensationUnit units = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Compensation range.
+ CompensationInfo.CompensationRange range = 3;
+
+ // If set to true, jobs with unspecified compensation range fields are
+ // included.
+ bool include_jobs_with_unspecified_compensation_range = 4;
+}
+
+// Parameters needed for commute search.
+message CommuteFilter {
+ // The traffic density to use when calculating commute time.
+ enum RoadTraffic {
+ // Road traffic situation isn't specified.
+ ROAD_TRAFFIC_UNSPECIFIED = 0;
+
+ // Optimal commute time without considering any traffic impact.
+ TRAFFIC_FREE = 1;
+
+ // Commute time calculation takes in account the peak traffic impact.
+ BUSY_HOUR = 2;
+ }
+
+ // Required. The method of transportation to calculate the commute time for.
+ CommuteMethod commute_method = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The latitude and longitude of the location to calculate the
+ // commute time from.
+ google.type.LatLng start_coordinates = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The maximum travel time in seconds. The maximum allowed value is `3600s`
+ // (one hour). Format is `123s`.
+ google.protobuf.Duration travel_duration = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // If `true`, jobs without street level addresses may also be returned.
+ // For city level addresses, the city center is used. For state and coarser
+ // level addresses, text matching is used.
+ // If this field is set to `false` or isn't specified, only jobs that include
+ // street level addresses will be returned by commute search.
+ bool allow_imprecise_addresses = 4;
+
+ // Traffic factor to take into account while searching by commute.
+ oneof traffic_option {
+ // Specifies the traffic density to use when calculating commute time.
+ RoadTraffic road_traffic = 5;
+
+ // The departure time used to calculate traffic impact, represented as
+ // [google.type.TimeOfDay][google.type.TimeOfDay] in local time zone.
+ //
+ // Currently traffic model is restricted to hour level resolution.
+ google.type.TimeOfDay departure_time = 6;
+ }
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/histogram.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/histogram.proto
new file mode 100644
index 00000000000..abe3901a695
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/histogram.proto
@@ -0,0 +1,51 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "HistogramProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// The histogram request.
+message HistogramQuery {
+ // An expression specifies a histogram request against matching resources
+ // (for example, jobs, profiles) for searches.
+ //
+ // See [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries] and
+ // [SearchProfilesRequest.histogram_queries][google.cloud.talent.v4beta1.SearchProfilesRequest.histogram_queries] for details about syntax.
+ string histogram_query = 1;
+}
+
+// Histogram result that matches [HistogramQuery][google.cloud.talent.v4beta1.HistogramQuery] specified in searches.
+message HistogramQueryResult {
+ // Requested histogram expression.
+ string histogram_query = 1;
+
+ // A map from the values of the facet associated with distinct values to the
+ // number of matching entries with corresponding value.
+ //
+ // The key format is:
+ //
+ // * (for string histogram) string values stored in the field.
+ // * (for named numeric bucket) name specified in `bucket()` function, like
+ // for `bucket(0, MAX, "non-negative")`, the key will be `non-negative`.
+ // * (for anonymous numeric bucket) range formatted as `-`, for
+ // example, `0-1000`, `MIN-0`, and `0-MAX`.
+ map histogram = 2;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job.proto
new file mode 100644
index 00000000000..d3911e891ba
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job.proto
@@ -0,0 +1,348 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "JobResourceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A Job resource represents a job posting (also referred to as a "job listing"
+// or "job requisition"). A job belongs to a [Company][google.cloud.talent.v4beta1.Company], which is the hiring
+// entity responsible for the job.
+message Job {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Job"
+ pattern: "projects/{project}/tenants/{tenant}/jobs/{job}"
+ pattern: "projects/{project}/jobs/{job}"
+ };
+
+ // Application related details of a job posting.
+ message ApplicationInfo {
+ // Use this field to specify email address(es) to which resumes or
+ // applications can be sent.
+ //
+ // The maximum number of allowed characters for each entry is 255.
+ repeated string emails = 1;
+
+ // Use this field to provide instructions, such as "Mail your application
+ // to ...", that a candidate can follow to apply for the job.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 3,000.
+ string instruction = 2;
+
+ // Use this URI field to direct an applicant to a website, for example to
+ // link to an online application form.
+ //
+ // The maximum number of allowed characters for each entry is 2,000.
+ repeated string uris = 3;
+ }
+
+ // Derived details about the job posting.
+ message DerivedInfo {
+ // Structured locations of the job, resolved from [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
+ //
+ // [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are exactly matched to [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
+ // order.
+ repeated Location locations = 1;
+
+ // Job categories derived from [Job.title][google.cloud.talent.v4beta1.Job.title] and [Job.description][google.cloud.talent.v4beta1.Job.description].
+ repeated JobCategory job_categories = 3;
+ }
+
+ // Options for job processing.
+ message ProcessingOptions {
+ // If set to `true`, the service does not attempt to resolve a
+ // more precise address for the job.
+ bool disable_street_address_resolution = 1;
+
+ // Option for job HTML content sanitization. Applied fields are:
+ //
+ // * description
+ // * applicationInfo.instruction
+ // * incentives
+ // * qualifications
+ // * responsibilities
+ //
+ // HTML tags in these fields may be stripped if sanitiazation isn't
+ // disabled.
+ //
+ // Defaults to [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
+ HtmlSanitization html_sanitization = 2;
+ }
+
+ // Required during job update.
+ //
+ // The resource name for the job. This is generated by the service when a
+ // job is created.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/jobs/bar".
+ //
+ // Use of this field in job queries and API calls is preferred over the use of
+ // [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this value is unique.
+ string name = 1;
+
+ // Required. The resource name of the company listing the job.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
+ // example, "projects/foo/tenants/bar/companies/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/companies/bar".
+ string company = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Company"
+ }
+ ];
+
+ // Required. The requisition ID, also referred to as the posting ID, is assigned by the
+ // client to identify a job. This field is intended to be used by clients
+ // for client identification and tracking of postings. A job isn't allowed
+ // to be created if there is another job with the same [company][google.cloud.talent.v4beta1.Job.name],
+ // [language_code][google.cloud.talent.v4beta1.Job.language_code] and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
+ //
+ // The maximum number of allowed characters is 255.
+ string requisition_id = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The title of the job, such as "Software Engineer"
+ //
+ // The maximum number of allowed characters is 500.
+ string title = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The description of the job, which typically includes a multi-paragraph
+ // description of the company and related information. Separate fields are
+ // provided on the job object for [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
+ // [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other job characteristics. Use of
+ // these separate job fields is recommended.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 100,000.
+ string description = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // Location(s) where the employer is looking to hire for this job posting.
+ //
+ // Specifying the full street address(es) of the hiring location enables
+ // better API results, especially job searches by commute time.
+ //
+ // At most 50 locations are allowed for best search performance. If a job has
+ // more locations, it is suggested to split it into multiple jobs with unique
+ // [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as
+ // multiple jobs with the same [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code] and
+ // [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not allowed. If the original [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must
+ // be preserved, a custom field should be used for storage. It is also
+ // suggested to group the locations that close to each other in the same job
+ // for better search experience.
+ //
+ // The maximum number of allowed characters is 500.
+ repeated string addresses = 6;
+
+ // Job application information.
+ ApplicationInfo application_info = 7;
+
+ // The benefits included with the job.
+ repeated JobBenefit job_benefits = 8;
+
+ // Job compensation information (a.k.a. "pay rate") i.e., the compensation
+ // that will paid to the employee.
+ CompensationInfo compensation_info = 9;
+
+ // A map of fields to hold both filterable and non-filterable custom job
+ // attributes that are not covered by the provided structured fields.
+ //
+ // The keys of the map are strings up to 64 bytes and must match the
+ // pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
+ // KEY_1_LIKE_THIS.
+ //
+ // At most 100 filterable and at most 100 unfilterable keys are supported.
+ // For filterable `string_values`, across all keys at most 200 values are
+ // allowed, with each string no more than 255 characters. For unfilterable
+ // `string_values`, the maximum total size of `string_values` across all keys
+ // is 50KB.
+ map custom_attributes = 10;
+
+ // The desired education degrees for the job, such as Bachelors, Masters.
+ repeated DegreeType degree_types = 11;
+
+ // The department or functional area within the company with the open
+ // position.
+ //
+ // The maximum number of allowed characters is 255.
+ string department = 12;
+
+ // The employment type(s) of a job, for example,
+ // [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
+ // [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
+ repeated EmploymentType employment_types = 13;
+
+ // A description of bonus, commission, and other compensation
+ // incentives associated with the job not including salary or pay.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string incentives = 14;
+
+ // The language of the posting. This field is distinct from
+ // any requirements for fluency that are associated with the job.
+ //
+ // Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
+ // For more information, see
+ // [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
+ // class="external" target="_blank" }.
+ //
+ // If this field is unspecified and [Job.description][google.cloud.talent.v4beta1.Job.description] is present, detected
+ // language code based on [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned, otherwise
+ // defaults to 'en_US'.
+ string language_code = 15;
+
+ // The experience level associated with the job, such as "Entry Level".
+ JobLevel job_level = 16;
+
+ // A promotion value of the job, as determined by the client.
+ // The value determines the sort order of the jobs returned when searching for
+ // jobs using the featured jobs search call, with higher promotional values
+ // being returned first and ties being resolved by relevance sort. Only the
+ // jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.
+ //
+ // Default value is 0, and negative values are treated as 0.
+ int32 promotion_value = 17;
+
+ // A description of the qualifications required to perform the
+ // job. The use of this field is recommended
+ // as an alternative to using the more general [description][google.cloud.talent.v4beta1.Job.description] field.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string qualifications = 18;
+
+ // A description of job responsibilities. The use of this field is
+ // recommended as an alternative to using the more general [description][google.cloud.talent.v4beta1.Job.description]
+ // field.
+ //
+ // This field accepts and sanitizes HTML input, and also accepts
+ // bold, italic, ordered list, and unordered list markup tags.
+ //
+ // The maximum number of allowed characters is 10,000.
+ string responsibilities = 19;
+
+ // The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for example, state, country) throughout
+ // which the job is available. If this field is set, a [LocationFilter][google.cloud.talent.v4beta1.LocationFilter]
+ // in a search query within the job region finds this job posting if an
+ // exact location match isn't specified. If this field is set to
+ // [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
+ // setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to the same location level as this field
+ // is strongly recommended.
+ PostingRegion posting_region = 20;
+
+ // Deprecated. The job is only visible to the owner.
+ //
+ // The visibility of the job.
+ //
+ // Defaults to [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY] if not specified.
+ Visibility visibility = 21 [deprecated = true];
+
+ // The start timestamp of the job in UTC time zone. Typically this field
+ // is used for contracting engagements. Invalid timestamps are ignored.
+ google.protobuf.Timestamp job_start_time = 22;
+
+ // The end timestamp of the job. Typically this field is used for contracting
+ // engagements. Invalid timestamps are ignored.
+ google.protobuf.Timestamp job_end_time = 23;
+
+ // The timestamp this job posting was most recently published. The default
+ // value is the time the request arrives at the server. Invalid timestamps are
+ // ignored.
+ google.protobuf.Timestamp posting_publish_time = 24;
+
+ // Strongly recommended for the best service experience.
+ //
+ // The expiration timestamp of the job. After this timestamp, the
+ // job is marked as expired, and it no longer appears in search results. The
+ // expired job can't be listed by the [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API,
+ // but it can be retrieved with the [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or
+ // updated with the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or deleted with
+ // the [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An expired job can
+ // be updated and opened again by using a future expiration timestamp.
+ // Updating an expired job fails if there is another existing open job with
+ // same [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code] and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
+ //
+ // The expired jobs are retained in our system for 90 days. However, the
+ // overall expired job count cannot exceed 3 times the maximum number of
+ // open jobs over previous 7 days. If this threshold is exceeded,
+ // expired jobs are cleaned out in order of earliest expire time.
+ // Expired jobs are no longer accessible after they are cleaned
+ // out.
+ //
+ // Invalid timestamps are ignored, and treated as expire time not provided.
+ //
+ // If the timestamp is before the instant request is made, the job
+ // is treated as expired immediately on creation. This kind of job can
+ // not be updated. And when creating a job with past timestamp, the
+ // [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time] must be set before
+ // [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time]. The purpose of this feature is
+ // to allow other objects, such as [Application][google.cloud.talent.v4beta1.Application], to refer a job
+ // that didn't exist in the system prior to becoming expired. If you
+ // want to modify a job that was expired on creation,
+ // delete it and create a new one.
+ //
+ // If this value isn't provided at the time of job creation or is invalid,
+ // the job posting expires after 30 days from the job's creation time. For
+ // example, if the job was created on 2017/01/01 13:00AM UTC with an
+ // unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
+ //
+ // If this value isn't provided on job update, it depends on the field masks
+ // set by [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask]. If the field masks include
+ // [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks are empty meaning that every field is
+ // updated, the job posting expires after 30 days from the job's last
+ // update time. Otherwise the expiration date isn't updated.
+ google.protobuf.Timestamp posting_expire_time = 25;
+
+ // Output only. The timestamp when this job posting was created.
+ google.protobuf.Timestamp posting_create_time = 26 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when this job posting was last updated.
+ google.protobuf.Timestamp posting_update_time = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Display name of the company listing the job.
+ string company_display_name = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Derived details about the job posting.
+ DerivedInfo derived_info = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Options for job processing.
+ ProcessingOptions processing_options = 30;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job_service.proto
new file mode 100644
index 00000000000..87dc47d91f5
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/job_service.proto
@@ -0,0 +1,957 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/cloud/talent/v4beta1/filters.proto";
+import "google/cloud/talent/v4beta1/histogram.proto";
+import "google/cloud/talent/v4beta1/job.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/rpc/status.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "JobServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service handles job management, including job CRUD, enumeration and search.
+service JobService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new job.
+ //
+ // Typically, the job becomes searchable within 10 seconds, but it may take
+ // up to 5 minutes.
+ rpc CreateJob(CreateJobRequest) returns (Job) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,job";
+ }
+
+ // Begins executing a batch create jobs operation.
+ rpc BatchCreateJobs(BatchCreateJobsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs:batchCreate"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs:batchCreate"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,jobs";
+ option (google.longrunning.operation_info) = {
+ response_type: "JobOperationResult"
+ metadata_type: "BatchOperationMetadata"
+ };
+ }
+
+ // Retrieves the specified job, whose status is OPEN or recently EXPIRED
+ // within the last 90 days.
+ rpc GetJob(GetJobRequest) returns (Job) {
+ option (google.api.http) = {
+ get: "/v4beta1/{name=projects/*/tenants/*/jobs/*}"
+ additional_bindings {
+ get: "/v4beta1/{name=projects/*/jobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified job.
+ //
+ // Typically, updated contents become visible in search results within 10
+ // seconds, but it may take up to 5 minutes.
+ rpc UpdateJob(UpdateJobRequest) returns (Job) {
+ option (google.api.http) = {
+ patch: "/v4beta1/{job.name=projects/*/tenants/*/jobs/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v4beta1/{job.name=projects/*/jobs/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "job";
+ }
+
+ // Begins executing a batch update jobs operation.
+ rpc BatchUpdateJobs(BatchUpdateJobsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs:batchUpdate"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs:batchUpdate"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,jobs";
+ option (google.longrunning.operation_info) = {
+ response_type: "JobOperationResult"
+ metadata_type: "BatchOperationMetadata"
+ };
+ }
+
+ // Deletes the specified job.
+ //
+ // Typically, the job becomes unsearchable within 10 seconds, but it may take
+ // up to 5 minutes.
+ rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4beta1/{name=projects/*/tenants/*/jobs/*}"
+ additional_bindings {
+ delete: "/v4beta1/{name=projects/*/jobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes a list of [Job][google.cloud.talent.v4beta1.Job]s by filter.
+ rpc BatchDeleteJobs(BatchDeleteJobsRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs:batchDelete"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs:batchDelete"
+ }
+ };
+ option (google.api.method_signature) = "parent,filter";
+ }
+
+ // Lists jobs by filter.
+ rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
+ option (google.api.http) = {
+ get: "/v4beta1/{parent=projects/*/tenants/*}/jobs"
+ additional_bindings {
+ get: "/v4beta1/{parent=projects/*}/jobs"
+ }
+ };
+ option (google.api.method_signature) = "parent,filter";
+ }
+
+ // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
+ //
+ // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
+ // present in the database, and only returns jobs that the caller has
+ // permission to search against.
+ rpc SearchJobs(SearchJobsRequest) returns (SearchJobsResponse) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs:search"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs:search"
+ body: "*"
+ }
+ };
+ }
+
+ // Searches for jobs using the provided [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
+ //
+ // This API call is intended for the use case of targeting passive job
+ // seekers (for example, job seekers who have signed up to receive email
+ // alerts about potential job opportunities), and has different algorithmic
+ // adjustments that are targeted to passive job seekers.
+ //
+ // This call constrains the [visibility][google.cloud.talent.v4beta1.Job.visibility] of jobs
+ // present in the database, and only returns jobs the caller has
+ // permission to search against.
+ rpc SearchJobsForAlert(SearchJobsRequest) returns (SearchJobsResponse) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*/tenants/*}/jobs:searchForAlert"
+ body: "*"
+ additional_bindings {
+ post: "/v4beta1/{parent=projects/*}/jobs:searchForAlert"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Create job request.
+message CreateJobRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The Job to be created.
+ Job job = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Get job request.
+message GetJobRequest {
+ // Required. The resource name of the job to retrieve.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/jobs/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Job"
+ }
+ ];
+}
+
+// Update job request.
+message UpdateJobRequest {
+ // Required. The Job to be updated.
+ Job job = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask] is provided, only the specified fields in
+ // [job][google.cloud.talent.v4beta1.UpdateJobRequest.job] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to restrict the fields that are updated. Only
+ // top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Delete job request.
+message DeleteJobRequest {
+ // Required. The resource name of the job to be deleted.
+ //
+ // The format is
+ // "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
+ // example, "projects/foo/tenants/bar/jobs/baz".
+ //
+ // If tenant id is unspecified, the default tenant is used. For
+ // example, "projects/foo/jobs/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Job"
+ }
+ ];
+}
+
+// Batch delete jobs request.
+message BatchDeleteJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The filter string specifies the jobs to be deleted.
+ //
+ // Supported operator: =, AND
+ //
+ // The fields eligible for filtering are:
+ //
+ // * `companyName` (Required)
+ // * `requisitionId` (Required)
+ //
+ // Sample Query: companyName = "projects/foo/companies/bar" AND
+ // requisitionId = "req-1"
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An enum that specifies the job attributes that are returned in the
+// [MatchingJob.job][google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.job] or
+// [ListJobsResponse.jobs][google.cloud.talent.v4beta1.ListJobsResponse.jobs] fields.
+enum JobView {
+ // Default value.
+ JOB_VIEW_UNSPECIFIED = 0;
+
+ // A ID only view of job, with following attributes:
+ // [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
+ JOB_VIEW_ID_ONLY = 1;
+
+ // A minimal view of the job, with the following attributes:
+ // [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title],
+ // [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.language_code][google.cloud.talent.v4beta1.Job.language_code].
+ JOB_VIEW_MINIMAL = 2;
+
+ // A small view of the job, with the following attributes in the search
+ // results: [Job.name][google.cloud.talent.v4beta1.Job.name], [Job.requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], [Job.title][google.cloud.talent.v4beta1.Job.title],
+ // [Job.company][google.cloud.talent.v4beta1.Job.company], [Job.DerivedInfo.locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations], [Job.visibility][google.cloud.talent.v4beta1.Job.visibility],
+ // [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], [Job.description][google.cloud.talent.v4beta1.Job.description].
+ JOB_VIEW_SMALL = 3;
+
+ // All available attributes are included in the search results.
+ JOB_VIEW_FULL = 4;
+}
+
+// List jobs request.
+message ListJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The filter string specifies the jobs to be enumerated.
+ //
+ // Supported operator: =, AND
+ //
+ // The fields eligible for filtering are:
+ //
+ // * `companyName`
+ // * `requisitionId`
+ // * `status` Available values: OPEN, EXPIRED, ALL. Defaults to
+ // OPEN if no value is specified.
+ //
+ // At least one of `companyName` and `requisitionId` must present or an
+ // INVALID_ARGUMENT error is thrown.
+ //
+ // Sample Query:
+ //
+ // * companyName = "projects/foo/tenants/bar/companies/baz"
+ // * companyName = "projects/foo/tenants/bar/companies/baz" AND
+ // requisitionId = "req-1"
+ // * companyName = "projects/foo/tenants/bar/companies/baz" AND
+ // status = "EXPIRED"
+ // * requisitionId = "req-1"
+ // * requisitionId = "req-1" AND status = "EXPIRED"
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The starting point of a query result.
+ string page_token = 3;
+
+ // The maximum number of jobs to be returned per page of results.
+ //
+ // If [job_view][google.cloud.talent.v4beta1.ListJobsRequest.job_view] is set to [JobView.JOB_VIEW_ID_ONLY][google.cloud.talent.v4beta1.JobView.JOB_VIEW_ID_ONLY], the maximum allowed
+ // page size is 1000. Otherwise, the maximum allowed page size is 100.
+ //
+ // Default is 100 if empty or a number < 1 is specified.
+ int32 page_size = 4;
+
+ // The desired job attributes returned for jobs in the
+ // search response. Defaults to [JobView.JOB_VIEW_FULL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_FULL] if no value is
+ // specified.
+ JobView job_view = 5;
+}
+
+// List jobs response.
+message ListJobsResponse {
+ // The Jobs for a given company.
+ //
+ // The maximum number of items returned is based on the limit field
+ // provided in the request.
+ repeated Job jobs = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
+
+// The Request body of the `SearchJobs` call.
+message SearchJobsRequest {
+ // A string-represented enumeration of the job search mode. The service
+ // operate differently for different modes of service.
+ enum SearchMode {
+ // The mode of the search method isn't specified. The default search
+ // behavior is identical to JOB_SEARCH search behavior.
+ SEARCH_MODE_UNSPECIFIED = 0;
+
+ // The job search matches against all jobs, and featured jobs
+ // (jobs with promotionValue > 0) are not specially handled.
+ JOB_SEARCH = 1;
+
+ // The job search matches only against featured jobs (jobs with a
+ // promotionValue > 0). This method doesn't return any jobs having a
+ // promotionValue <= 0. The search results order is determined by the
+ // promotionValue (jobs with a higher promotionValue are returned higher up
+ // in the search results), with relevance being used as a tiebreaker.
+ FEATURED_JOB_SEARCH = 2;
+ }
+
+ // Controls whether highly similar jobs are returned next to each other in
+ // the search results. Jobs are identified as highly similar based on
+ // their titles, job categories, and locations. Highly similar results are
+ // clustered so that only one representative job of the cluster is
+ // displayed to the job seeker higher up in the results, with the other jobs
+ // being displayed lower down in the results.
+ enum DiversificationLevel {
+ // The diversification level isn't specified.
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0;
+
+ // Disables diversification. Jobs that would normally be pushed to the last
+ // page would not have their positions altered. This may result in highly
+ // similar jobs appearing in sequence in the search results.
+ DISABLED = 1;
+
+ // Default diversifying behavior. The result list is ordered so that
+ // highly similar results are pushed to the end of the last page of search
+ // results. If you are using pageToken to page through the result set,
+ // latency might be lower but we can't guarantee that all results are
+ // returned. If you are using page offset, latency might be higher but all
+ // results are returned.
+ SIMPLE = 2;
+ }
+
+ // Controls what keyword matching behavior the search has. When keyword
+ // matching is enabled, a keyword match returns jobs that may not match given
+ // category filters when there are matching keywords. For example, for the
+ // query "program manager" with KeywordMatchMode set to KEYWORD_MATCH_ALL, a
+ // job posting with the title "software developer," which doesn't fall into
+ // "program manager" ontology, and "program manager" appearing in its
+ // description will be surfaced.
+ //
+ // For queries like "cloud" that don't contain title or
+ // location specific ontology, jobs with "cloud" keyword matches are returned
+ // regardless of this enum's value.
+ //
+ // Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes] if
+ // company-specific globally matched custom field/attribute string values are
+ // needed. Enabling keyword match improves recall of subsequent search
+ // requests.
+ enum KeywordMatchMode {
+ // The keyword match option isn't specified. Defaults to
+ // [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL] behavior.
+ KEYWORD_MATCH_MODE_UNSPECIFIED = 0;
+
+ // Disables keyword matching.
+ KEYWORD_MATCH_DISABLED = 1;
+
+ // Enable keyword matching over [Job.title][google.cloud.talent.v4beta1.Job.title],
+ // [Job.description][google.cloud.talent.v4beta1.Job.description], [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name], [Job.addresses][google.cloud.talent.v4beta1.Job.addresses],
+ // [Job.qualifications][google.cloud.talent.v4beta1.Job.qualifications], and keyword searchable [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
+ // fields.
+ KEYWORD_MATCH_ALL = 2;
+
+ // Only enable keyword matching over [Job.title][google.cloud.talent.v4beta1.Job.title].
+ KEYWORD_MATCH_TITLE_ONLY = 3;
+ }
+
+ // Custom ranking information for [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
+ message CustomRankingInfo {
+ // The importance level for [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression].
+ enum ImportanceLevel {
+ // Default value if the importance level isn't specified.
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0;
+
+ // The given ranking expression is of None importance, existing relevance
+ // score (determined by API algorithm) dominates job's final ranking
+ // position.
+ NONE = 1;
+
+ // The given ranking expression is of Low importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ LOW = 2;
+
+ // The given ranking expression is of Mild importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ MILD = 3;
+
+ // The given ranking expression is of Medium importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ MEDIUM = 4;
+
+ // The given ranking expression is of High importance in terms of job's
+ // final ranking position compared to existing relevance
+ // score (determined by API algorithm).
+ HIGH = 5;
+
+ // The given ranking expression is of Extreme importance, and dominates
+ // job's final ranking position with existing relevance
+ // score (determined by API algorithm) ignored.
+ EXTREME = 6;
+ }
+
+ // Required. Controls over how important the score of
+ // [CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] gets applied to job's final
+ // ranking position.
+ //
+ // An error is thrown if not specified.
+ ImportanceLevel importance_level = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Controls over how job documents get ranked on top of existing relevance
+ // score (determined by API algorithm). A combination of the ranking
+ // expression and relevance score is used to determine job's final ranking
+ // position.
+ //
+ // The syntax for this expression is a subset of Google SQL syntax.
+ //
+ // Supported operators are: +, -, *, /, where the left and right side of
+ // the operator is either a numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes] key,
+ // integer/double value or an expression that can be evaluated to a number.
+ //
+ // Parenthesis are supported to adjust calculation precedence. The
+ // expression must be < 200 characters in length.
+ //
+ // The expression is considered invalid for a job if the expression
+ // references custom attributes that are not populated on the job or if the
+ // expression results in a divide by zero. If an expression is invalid for a
+ // job, that job is demoted to the end of the results.
+ //
+ // Sample ranking expression
+ // (year + 25) * 0.25 - (freshness / 0.5)
+ string ranking_expression = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. The resource name of the tenant to search within.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Mode of a search.
+ //
+ // Defaults to [SearchMode.JOB_SEARCH][google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode.JOB_SEARCH].
+ SearchMode search_mode = 2;
+
+ // Required. The meta information collected about the job searcher, used to improve the
+ // search quality of the service. The identifiers (such as `user_id`) are
+ // provided by users, and must be unique and consistent.
+ RequestMetadata request_metadata = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Query used to search against jobs, such as keyword, location filters, etc.
+ JobQuery job_query = 4;
+
+ // Controls whether to broaden the search when it produces sparse results.
+ // Broadened queries append results to the end of the matching results
+ // list.
+ //
+ // Defaults to false.
+ bool enable_broadening = 5;
+
+ // This field is deprecated.
+ bool require_precise_result_size = 6 [deprecated = true];
+
+ // An expression specifies a histogram request against matching jobs.
+ //
+ // Expression syntax is an aggregation function call with histogram facets and
+ // other options.
+ //
+ // Available aggregation function calls are:
+ // * `count(string_histogram_facet)`: Count the number of matching entities,
+ // for each distinct attribute value.
+ // * `count(numeric_histogram_facet, list of buckets)`: Count the number of
+ // matching entities within each bucket.
+ //
+ // A maximum of 200 histogram buckets are supported.
+ //
+ // Data types:
+ //
+ // * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
+ // * String: string like "any string with backslash escape for quote(\")."
+ // * Number: whole number and floating point number like 10, -1 and -0.01.
+ // * List: list of elements with comma(,) separator surrounded by square
+ // brackets, for example, [1, 2, 3] and ["one", "two", "three"].
+ //
+ // Built-in constants:
+ //
+ // * MIN (minimum number similar to java Double.MIN_VALUE)
+ // * MAX (maximum number similar to java Double.MAX_VALUE)
+ //
+ // Built-in functions:
+ //
+ // * bucket(start, end[, label]): bucket built-in function creates a bucket
+ // with range of [start, end). Note that the end is exclusive, for example,
+ // bucket(1, MAX, "positive number") or bucket(1, 10).
+ //
+ // Job histogram facets:
+ //
+ // * company_display_name: histogram by [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name].
+ // * employment_type: histogram by [Job.employment_types][google.cloud.talent.v4beta1.Job.employment_types], for example,
+ // "FULL_TIME", "PART_TIME".
+ // * company_size (DEPRECATED): histogram by [CompanySize][google.cloud.talent.v4beta1.CompanySize], for example,
+ // "SMALL", "MEDIUM", "BIG".
+ // * publish_time_in_day: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
+ // in days.
+ // Must specify list of numeric buckets in spec.
+ // * publish_time_in_month: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
+ // in months.
+ // Must specify list of numeric buckets in spec.
+ // * publish_time_in_year: histogram by the [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
+ // in years.
+ // Must specify list of numeric buckets in spec.
+ // * degree_types: histogram by the [Job.degree_types][google.cloud.talent.v4beta1.Job.degree_types], for example,
+ // "Bachelors", "Masters".
+ // * job_level: histogram by the [Job.job_level][google.cloud.talent.v4beta1.Job.job_level], for example, "Entry
+ // Level".
+ // * country: histogram by the country code of jobs, for example, "US", "FR".
+ // * admin1: histogram by the admin1 code of jobs, which is a global
+ // placeholder referring to the state, province, or the particular term a
+ // country uses to define the geographic structure below the country level,
+ // for example, "CA", "IL".
+ // * city: histogram by a combination of the "city name, admin1 code". For
+ // example, "Mountain View, CA", "New York, NY".
+ // * admin1_country: histogram by a combination of the "admin1 code, country",
+ // for example, "CA, US", "IL, US".
+ // * city_coordinate: histogram by the city center's GPS coordinates (latitude
+ // and longitude), for example, 37.4038522,-122.0987765. Since the
+ // coordinates of a city center can change, customers may need to refresh
+ // them periodically.
+ // * locale: histogram by the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code], for example, "en-US",
+ // "fr-FR".
+ // * language: histogram by the language subtag of the [Job.language_code][google.cloud.talent.v4beta1.Job.language_code],
+ // for example, "en", "fr".
+ // * category: histogram by the [JobCategory][google.cloud.talent.v4beta1.JobCategory], for example,
+ // "COMPUTER_AND_IT", "HEALTHCARE".
+ // * base_compensation_unit: histogram by the
+ // [CompensationInfo.CompensationUnit][google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit] of base
+ // salary, for example, "WEEKLY", "MONTHLY".
+ // * base_compensation: histogram by the base salary. Must specify list of
+ // numeric buckets to group results by.
+ // * annualized_base_compensation: histogram by the base annualized salary.
+ // Must specify list of numeric buckets to group results by.
+ // * annualized_total_compensation: histogram by the total annualized salary.
+ // Must specify list of numeric buckets to group results by.
+ // * string_custom_attribute: histogram by string [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
+ // Values can be accessed via square bracket notations like
+ // string_custom_attribute["key1"].
+ // * numeric_custom_attribute: histogram by numeric [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes].
+ // Values can be accessed via square bracket notations like
+ // numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
+ // group results by.
+ //
+ // Example expressions:
+ //
+ // * `count(admin1)`
+ // * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
+ // bucket(100000, MAX)])`
+ // * `count(string_custom_attribute["some-string-custom-attribute"])`
+ // * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
+ // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
+ repeated HistogramQuery histogram_queries = 7;
+
+ // The desired job attributes returned for jobs in the search response.
+ // Defaults to [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4beta1.JobView.JOB_VIEW_SMALL] if no value is specified.
+ JobView job_view = 8;
+
+ // An integer that specifies the current offset (that is, starting result
+ // location, amongst the jobs deemed by the API as relevant) in search
+ // results. This field is only considered if [page_token][google.cloud.talent.v4beta1.SearchJobsRequest.page_token] is unset.
+ //
+ // The maximum allowed value is 5000. Otherwise an error is thrown.
+ //
+ // For example, 0 means to return results starting from the first matching
+ // job, and 10 means to return from the 11th job. This can be used for
+ // pagination, (for example, pageSize = 10 and offset = 10 means to return
+ // from the second page).
+ int32 offset = 9;
+
+ // A limit on the number of jobs returned in the search results.
+ // Increasing this value above the default value of 10 can increase search
+ // response time. The value can be between 1 and 100.
+ int32 page_size = 10;
+
+ // The token specifying the current offset within
+ // search results. See [SearchJobsResponse.next_page_token][google.cloud.talent.v4beta1.SearchJobsResponse.next_page_token] for
+ // an explanation of how to obtain the next set of query results.
+ string page_token = 11;
+
+ // The criteria determining how search results are sorted. Default is
+ // `"relevance desc"`.
+ //
+ // Supported options are:
+ //
+ // * `"relevance desc"`: By relevance descending, as determined by the API
+ // algorithms. Relevance thresholding of query results is only available
+ // with this ordering.
+ // * `"posting_publish_time desc"`: By [Job.posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
+ // descending.
+ // * `"posting_update_time desc"`: By [Job.posting_update_time][google.cloud.talent.v4beta1.Job.posting_update_time]
+ // descending.
+ // * `"title"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] ascending.
+ // * `"title desc"`: By [Job.title][google.cloud.talent.v4beta1.Job.title] descending.
+ // * `"annualized_base_compensation"`: By job's
+ // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] ascending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_base_compensation desc"`: By job's
+ // [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_base_compensation_range] descending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_total_compensation"`: By job's
+ // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] ascending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"annualized_total_compensation desc"`: By job's
+ // [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4beta1.CompensationInfo.annualized_total_compensation_range] descending. Jobs
+ // whose annualized base compensation is unspecified are put at the end of
+ // search results.
+ // * `"custom_ranking desc"`: By the relevance score adjusted to the
+ // [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ranking_expression] with weight
+ // factor assigned by
+ // [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.importance_level] in descending
+ // order.
+ // * Location sorting: Use the special syntax to order jobs by distance:
+ // `"distance_from('Hawaii')"`: Order by distance from Hawaii.
+ // `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.
+ // `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
+ // multiple locations. See details below.
+ // `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
+ // multiple locations. See details below.
+ // The string can have a maximum of 256 characters. When multiple distance
+ // centers are provided, a job that is close to any of the distance centers
+ // would have a high rank. When a job has multiple locations, the job
+ // location closest to one of the distance centers will be used. Jobs that
+ // don't have locations will be ranked at the bottom. Distance is calculated
+ // with a precision of 11.3 meters (37.4 feet). Diversification strategy is
+ // still applied unless explicitly disabled in
+ // [diversification_level][google.cloud.talent.v4beta1.SearchJobsRequest.diversification_level].
+ string order_by = 12;
+
+ // Controls whether highly similar jobs are returned next to each other in
+ // the search results. Jobs are identified as highly similar based on
+ // their titles, job categories, and locations. Highly similar results are
+ // clustered so that only one representative job of the cluster is
+ // displayed to the job seeker higher up in the results, with the other jobs
+ // being displayed lower down in the results.
+ //
+ // Defaults to [DiversificationLevel.SIMPLE][google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel.SIMPLE] if no value
+ // is specified.
+ DiversificationLevel diversification_level = 13;
+
+ // Controls over how job documents get ranked on top of existing relevance
+ // score (determined by API algorithm).
+ CustomRankingInfo custom_ranking_info = 14;
+
+ // This field is deprecated. Please use
+ // [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode] going forward.
+ //
+ // To migrate, disable_keyword_match set to false maps to
+ // [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL], and disable_keyword_match set to
+ // true maps to [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED]. If
+ // [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4beta1.SearchJobsRequest.keyword_match_mode] is set, this field is ignored.
+ //
+ // Controls whether to disable exact keyword match on [Job.title][google.cloud.talent.v4beta1.Job.title],
+ // [Job.description][google.cloud.talent.v4beta1.Job.description], [Job.company_display_name][google.cloud.talent.v4beta1.Job.company_display_name], [Job.addresses][google.cloud.talent.v4beta1.Job.addresses],
+ // [Job.qualifications][google.cloud.talent.v4beta1.Job.qualifications]. When disable keyword match is turned off, a
+ // keyword match returns jobs that do not match given category filters when
+ // there are matching keywords. For example, for the query "program manager,"
+ // a result is returned even if the job posting has the title "software
+ // developer," which doesn't fall into "program manager" ontology, but does
+ // have "program manager" appearing in its description.
+ //
+ // For queries like "cloud" that don't contain title or
+ // location specific ontology, jobs with "cloud" keyword matches are returned
+ // regardless of this flag's value.
+ //
+ // Use [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4beta1.Company.keyword_searchable_job_custom_attributes] if
+ // company-specific globally matched custom field/attribute string values are
+ // needed. Enabling keyword match improves recall of subsequent search
+ // requests.
+ //
+ // Defaults to false.
+ bool disable_keyword_match = 16;
+
+ // Controls what keyword match options to use.
+ //
+ // Defaults to [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL] if no value
+ // is specified.
+ KeywordMatchMode keyword_match_mode = 18;
+}
+
+// Response for SearchJob method.
+message SearchJobsResponse {
+ // Job entry with metadata inside [SearchJobsResponse][google.cloud.talent.v4beta1.SearchJobsResponse].
+ message MatchingJob {
+ // Job resource that matches the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
+ Job job = 1;
+
+ // A summary of the job with core information that's displayed on the search
+ // results listing page.
+ string job_summary = 2;
+
+ // Contains snippets of text from the [Job.title][google.cloud.talent.v4beta1.Job.title] field most
+ // closely matching a search query's keywords, if available. The matching
+ // query keywords are enclosed in HTML bold tags.
+ string job_title_snippet = 3;
+
+ // Contains snippets of text from the [Job.description][google.cloud.talent.v4beta1.Job.description] and similar
+ // fields that most closely match a search query's keywords, if available.
+ // All HTML tags in the original fields are stripped when returned in this
+ // field, and matching query keywords are enclosed in HTML bold tags.
+ string search_text_snippet = 4;
+
+ // Commute information which is generated based on specified
+ // [CommuteFilter][google.cloud.talent.v4beta1.CommuteFilter].
+ CommuteInfo commute_info = 5;
+ }
+
+ // Commute details related to this job.
+ message CommuteInfo {
+ // Location used as the destination in the commute calculation.
+ Location job_location = 1;
+
+ // The number of seconds required to travel to the job location from the
+ // query location. A duration of 0 seconds indicates that the job isn't
+ // reachable within the requested duration, but was returned as part of an
+ // expanded query.
+ google.protobuf.Duration travel_duration = 2;
+ }
+
+ // The Job entities that match the specified [SearchJobsRequest][google.cloud.talent.v4beta1.SearchJobsRequest].
+ repeated MatchingJob matching_jobs = 1;
+
+ // The histogram results that match with specified
+ // [SearchJobsRequest.histogram_queries][google.cloud.talent.v4beta1.SearchJobsRequest.histogram_queries].
+ repeated HistogramQueryResult histogram_query_results = 2;
+
+ // The token that specifies the starting position of the next page of results.
+ // This field is empty if there are no more results.
+ string next_page_token = 3;
+
+ // The location filters that the service applied to the specified query. If
+ // any filters are lat-lng based, the [Location.location_type][google.cloud.talent.v4beta1.Location.location_type] is
+ // [Location.LocationType.LOCATION_TYPE_UNSPECIFIED][google.cloud.talent.v4beta1.Location.LocationType.LOCATION_TYPE_UNSPECIFIED].
+ repeated Location location_filters = 4;
+
+ // An estimation of the number of jobs that match the specified query.
+ //
+ // This number isn't guaranteed to be accurate. For accurate results,
+ // see [SearchJobsResponse.total_size][google.cloud.talent.v4beta1.SearchJobsResponse.total_size].
+ int32 estimated_total_size = 5;
+
+ // The precise result count with limit 100,000.
+ int32 total_size = 6;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 7;
+
+ // If query broadening is enabled, we may append additional results from the
+ // broadened query. This number indicates how many of the jobs returned in the
+ // jobs field are from the broadened query. These results are always at the
+ // end of the jobs list. In particular, a value of 0, or if the field isn't
+ // set, all the jobs in the jobs list are from the original
+ // (without broadening) query. If this field is non-zero, subsequent requests
+ // with offset after this result set should contain all broadened results.
+ int32 broadened_query_jobs_count = 8;
+
+ // The spell checking result, and correction.
+ SpellingCorrection spell_correction = 9;
+}
+
+// Request to create a batch of jobs.
+message BatchCreateJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The jobs to be created.
+ repeated Job jobs = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to update a batch of jobs.
+message BatchUpdateJobsRequest {
+ // Required. The resource name of the tenant under which the job is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}". For example,
+ // "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
+ // is created. For example, "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "jobs.googleapis.com/Job"
+ }
+ ];
+
+ // Required. The jobs to be updated.
+ repeated Job jobs = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience. Be aware that it will
+ // also increase latency when checking the status of a batch operation.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, only the specified fields in
+ // [Job][google.cloud.talent.v4beta1.Job] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to restrict the fields that are updated. Only
+ // top level fields of [Job][google.cloud.talent.v4beta1.Job] are supported.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.BatchUpdateJobsRequest.update_mask] is provided, The [Job][google.cloud.talent.v4beta1.Job] inside
+ // [JobResult][google.cloud.talent.v4beta1.JobOperationResult.JobResult]
+ // will only contains fields that is updated, plus the Id of the Job.
+ // Otherwise, [Job][google.cloud.talent.v4beta1.Job] will include all fields, which can yield a very
+ // large response.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// The result of [JobService.BatchCreateJobs][google.cloud.talent.v4beta1.JobService.BatchCreateJobs] or
+// [JobService.BatchUpdateJobs][google.cloud.talent.v4beta1.JobService.BatchUpdateJobs] APIs. It's used to
+// replace [google.longrunning.Operation.response][google.longrunning.Operation.response] in case of success.
+message JobOperationResult {
+ // Mutation result of a job.
+ message JobResult {
+ // Here [Job][google.cloud.talent.v4beta1.Job] only contains basic information including [name][google.cloud.talent.v4beta1.Job.name],
+ // [company][google.cloud.talent.v4beta1.Job.company], [language_code][google.cloud.talent.v4beta1.Job.language_code]
+ // and [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id], use getJob method to retrieve
+ // detailed information of the created/updated job.
+ Job job = 1;
+
+ // The status of the job processed. This field is populated if the
+ // processing of the [job][google.cloud.talent.v4beta1.JobOperationResult.JobResult.job] fails.
+ google.rpc.Status status = 2;
+ }
+
+ // List of job mutation results from a batch mutate operation. It can change
+ // until operation status is FINISHED, FAILED or CANCELLED.
+ repeated JobResult job_results = 1;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant.proto
new file mode 100644
index 00000000000..cf376a4b748
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant.proto
@@ -0,0 +1,79 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "TenantResourceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A Tenant resource represents a tenant in the service. A tenant is a group or
+// entity that shares common access with specific privileges for resources like
+// profiles. Customer may create multiple tenants to provide data isolation for
+// different groups.
+message Tenant {
+ option (google.api.resource) = {
+ type: "jobs.googleapis.com/Tenant"
+ pattern: "projects/{project}/tenants/{tenant}"
+ };
+
+ // Enum that represents how user data owned by the tenant is used.
+ enum DataUsageType {
+ // Default value.
+ DATA_USAGE_TYPE_UNSPECIFIED = 0;
+
+ // Data owned by this tenant is used to improve search/recommendation
+ // quality across tenants.
+ AGGREGATED = 1;
+
+ // Data owned by this tenant is used to improve search/recommendation
+ // quality for this tenant only.
+ ISOLATED = 2;
+ }
+
+ // Required during tenant update.
+ //
+ // The resource name for a tenant. This is generated by the service when a
+ // tenant is created.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1;
+
+ // Required. Client side tenant identifier, used to uniquely identify the tenant.
+ //
+ // The maximum number of allowed characters is 255.
+ string external_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates whether data owned by this tenant may be used to provide product
+ // improvements across other tenants.
+ //
+ // Defaults behavior is [DataUsageType.ISOLATED][google.cloud.talent.v4beta1.Tenant.DataUsageType.ISOLATED] if it's unset.
+ DataUsageType usage_type = 3;
+
+ // A list of keys of filterable [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes], whose
+ // corresponding `string_values` are used in keyword searches. Profiles with
+ // `string_values` under these specified field keys are returned if any
+ // of the values match the search keyword. Custom field values with
+ // parenthesis, brackets and special symbols are not searchable as-is,
+ // and must be surrounded by quotes.
+ repeated string keyword_searchable_profile_custom_attributes = 4;
+}
diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant_service.proto
new file mode 100644
index 00000000000..3e40df91405
--- /dev/null
+++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4beta1/tenant_service.proto
@@ -0,0 +1,176 @@
+// Copyright 2022 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.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/cloud/talent/v4beta1/tenant.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "TenantServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service that handles tenant management, including CRUD and enumeration.
+service TenantService {
+ option (google.api.default_host) = "jobs.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/jobs";
+
+ // Creates a new tenant entity.
+ rpc CreateTenant(CreateTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ post: "/v4beta1/{parent=projects/*}/tenants"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,tenant";
+ }
+
+ // Retrieves specified tenant.
+ rpc GetTenant(GetTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ get: "/v4beta1/{name=projects/*/tenants/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates specified tenant.
+ rpc UpdateTenant(UpdateTenantRequest) returns (Tenant) {
+ option (google.api.http) = {
+ patch: "/v4beta1/{tenant.name=projects/*/tenants/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "tenant";
+ }
+
+ // Deletes specified tenant.
+ rpc DeleteTenant(DeleteTenantRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v4beta1/{name=projects/*/tenants/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all tenants associated with the project.
+ rpc ListTenants(ListTenantsRequest) returns (ListTenantsResponse) {
+ option (google.api.http) = {
+ get: "/v4beta1/{parent=projects/*}/tenants"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// The Request of the CreateTenant method.
+message CreateTenantRequest {
+ // Required. Resource name of the project under which the tenant is created.
+ //
+ // The format is "projects/{project_id}", for example,
+ // "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The tenant to be created.
+ Tenant tenant = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for getting a tenant by name.
+message GetTenantRequest {
+ // Required. The resource name of the tenant to be retrieved.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+}
+
+// Request for updating a specified tenant.
+message UpdateTenantRequest {
+ // Required. The tenant resource to replace the current resource in the system.
+ Tenant tenant = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Strongly recommended for the best service experience.
+ //
+ // If [update_mask][google.cloud.talent.v4beta1.UpdateTenantRequest.update_mask] is provided, only the specified fields in
+ // [tenant][google.cloud.talent.v4beta1.UpdateTenantRequest.tenant] are updated. Otherwise all the fields are updated.
+ //
+ // A field mask to specify the tenant fields to be updated. Only
+ // top level fields of [Tenant][google.cloud.talent.v4beta1.Tenant] are supported.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a tenant.
+message DeleteTenantRequest {
+ // Required. The resource name of the tenant to be deleted.
+ //
+ // The format is "projects/{project_id}/tenants/{tenant_id}", for example,
+ // "projects/foo/tenants/bar".
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "jobs.googleapis.com/Tenant"
+ }
+ ];
+}
+
+// List tenants for which the client has ACL visibility.
+message ListTenantsRequest {
+ // Required. Resource name of the project under which the tenant is created.
+ //
+ // The format is "projects/{project_id}", for example,
+ // "projects/foo".
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // The starting indicator from which to return results.
+ string page_token = 2;
+
+ // The maximum number of tenants to be returned, at most 100.
+ // Default is 100 if a non-positive number is provided.
+ int32 page_size = 3;
+}
+
+// The List tenants response object.
+message ListTenantsResponse {
+ // Tenants for the current client.
+ repeated Tenant tenants = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+
+ // Additional information for the API invocation, such as the request
+ // tracking id.
+ ResponseMetadata metadata = 3;
+}
diff --git a/packages/google-cloud-talent/protos/protos.d.ts b/packages/google-cloud-talent/protos/protos.d.ts
new file mode 100644
index 00000000000..7c02193dc97
--- /dev/null
+++ b/packages/google-cloud-talent/protos/protos.d.ts
@@ -0,0 +1,22347 @@
+// Copyright 2022 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 cloud. */
+ namespace cloud {
+
+ /** Namespace talent. */
+ namespace talent {
+
+ /** Namespace v4. */
+ namespace v4 {
+
+ /** Properties of a TimestampRange. */
+ interface ITimestampRange {
+
+ /** TimestampRange startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimestampRange endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimestampRange. */
+ class TimestampRange implements ITimestampRange {
+
+ /**
+ * Constructs a new TimestampRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ITimestampRange);
+
+ /** TimestampRange startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimestampRange endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimestampRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimestampRange instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ITimestampRange): google.cloud.talent.v4.TimestampRange;
+
+ /**
+ * Encodes the specified TimestampRange message. Does not implicitly {@link google.cloud.talent.v4.TimestampRange.verify|verify} messages.
+ * @param message TimestampRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ITimestampRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimestampRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4.TimestampRange.verify|verify} messages.
+ * @param message TimestampRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ITimestampRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimestampRange
+ * @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.cloud.talent.v4.TimestampRange;
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimestampRange
+ * @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.cloud.talent.v4.TimestampRange;
+
+ /**
+ * Verifies a TimestampRange 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 TimestampRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimestampRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.TimestampRange;
+
+ /**
+ * Creates a plain object from a TimestampRange message. Also converts values to other types if specified.
+ * @param message TimestampRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.TimestampRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimestampRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimestampRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** CompanySize enum. */
+ enum CompanySize {
+ COMPANY_SIZE_UNSPECIFIED = 0,
+ MINI = 1,
+ SMALL = 2,
+ SMEDIUM = 3,
+ MEDIUM = 4,
+ BIG = 5,
+ BIGGER = 6,
+ GIANT = 7
+ }
+
+ /** JobBenefit enum. */
+ enum JobBenefit {
+ JOB_BENEFIT_UNSPECIFIED = 0,
+ CHILD_CARE = 1,
+ DENTAL = 2,
+ DOMESTIC_PARTNER = 3,
+ FLEXIBLE_HOURS = 4,
+ MEDICAL = 5,
+ LIFE_INSURANCE = 6,
+ PARENTAL_LEAVE = 7,
+ RETIREMENT_PLAN = 8,
+ SICK_DAYS = 9,
+ VACATION = 10,
+ VISION = 11
+ }
+
+ /** DegreeType enum. */
+ enum DegreeType {
+ DEGREE_TYPE_UNSPECIFIED = 0,
+ PRIMARY_EDUCATION = 1,
+ LOWER_SECONDARY_EDUCATION = 2,
+ UPPER_SECONDARY_EDUCATION = 3,
+ ADULT_REMEDIAL_EDUCATION = 4,
+ ASSOCIATES_OR_EQUIVALENT = 5,
+ BACHELORS_OR_EQUIVALENT = 6,
+ MASTERS_OR_EQUIVALENT = 7,
+ DOCTORAL_OR_EQUIVALENT = 8
+ }
+
+ /** EmploymentType enum. */
+ enum EmploymentType {
+ EMPLOYMENT_TYPE_UNSPECIFIED = 0,
+ FULL_TIME = 1,
+ PART_TIME = 2,
+ CONTRACTOR = 3,
+ CONTRACT_TO_HIRE = 4,
+ TEMPORARY = 5,
+ INTERN = 6,
+ VOLUNTEER = 7,
+ PER_DIEM = 8,
+ FLY_IN_FLY_OUT = 9,
+ OTHER_EMPLOYMENT_TYPE = 10
+ }
+
+ /** JobLevel enum. */
+ enum JobLevel {
+ JOB_LEVEL_UNSPECIFIED = 0,
+ ENTRY_LEVEL = 1,
+ EXPERIENCED = 2,
+ MANAGER = 3,
+ DIRECTOR = 4,
+ EXECUTIVE = 5
+ }
+
+ /** JobCategory enum. */
+ enum JobCategory {
+ JOB_CATEGORY_UNSPECIFIED = 0,
+ ACCOUNTING_AND_FINANCE = 1,
+ ADMINISTRATIVE_AND_OFFICE = 2,
+ ADVERTISING_AND_MARKETING = 3,
+ ANIMAL_CARE = 4,
+ ART_FASHION_AND_DESIGN = 5,
+ BUSINESS_OPERATIONS = 6,
+ CLEANING_AND_FACILITIES = 7,
+ COMPUTER_AND_IT = 8,
+ CONSTRUCTION = 9,
+ CUSTOMER_SERVICE = 10,
+ EDUCATION = 11,
+ ENTERTAINMENT_AND_TRAVEL = 12,
+ FARMING_AND_OUTDOORS = 13,
+ HEALTHCARE = 14,
+ HUMAN_RESOURCES = 15,
+ INSTALLATION_MAINTENANCE_AND_REPAIR = 16,
+ LEGAL = 17,
+ MANAGEMENT = 18,
+ MANUFACTURING_AND_WAREHOUSE = 19,
+ MEDIA_COMMUNICATIONS_AND_WRITING = 20,
+ OIL_GAS_AND_MINING = 21,
+ PERSONAL_CARE_AND_SERVICES = 22,
+ PROTECTIVE_SERVICES = 23,
+ REAL_ESTATE = 24,
+ RESTAURANT_AND_HOSPITALITY = 25,
+ SALES_AND_RETAIL = 26,
+ SCIENCE_AND_ENGINEERING = 27,
+ SOCIAL_SERVICES_AND_NON_PROFIT = 28,
+ SPORTS_FITNESS_AND_RECREATION = 29,
+ TRANSPORTATION_AND_LOGISTICS = 30
+ }
+
+ /** PostingRegion enum. */
+ enum PostingRegion {
+ POSTING_REGION_UNSPECIFIED = 0,
+ ADMINISTRATIVE_AREA = 1,
+ NATION = 2,
+ TELECOMMUTE = 3
+ }
+
+ /** Visibility enum. */
+ enum Visibility {
+ VISIBILITY_UNSPECIFIED = 0,
+ ACCOUNT_ONLY = 1,
+ SHARED_WITH_GOOGLE = 2,
+ SHARED_WITH_PUBLIC = 3
+ }
+
+ /** HtmlSanitization enum. */
+ enum HtmlSanitization {
+ HTML_SANITIZATION_UNSPECIFIED = 0,
+ HTML_SANITIZATION_DISABLED = 1,
+ SIMPLE_FORMATTING_ONLY = 2
+ }
+
+ /** CommuteMethod enum. */
+ enum CommuteMethod {
+ COMMUTE_METHOD_UNSPECIFIED = 0,
+ DRIVING = 1,
+ TRANSIT = 2,
+ WALKING = 3,
+ CYCLING = 4,
+ TRANSIT_ACCESSIBLE = 5
+ }
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location locationType */
+ locationType?: (google.cloud.talent.v4.Location.LocationType|keyof typeof google.cloud.talent.v4.Location.LocationType|null);
+
+ /** Location postalAddress */
+ postalAddress?: (google.type.IPostalAddress|null);
+
+ /** Location latLng */
+ latLng?: (google.type.ILatLng|null);
+
+ /** Location radiusMiles */
+ radiusMiles?: (number|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ILocation);
+
+ /** Location locationType. */
+ public locationType: (google.cloud.talent.v4.Location.LocationType|keyof typeof google.cloud.talent.v4.Location.LocationType);
+
+ /** Location postalAddress. */
+ public postalAddress?: (google.type.IPostalAddress|null);
+
+ /** Location latLng. */
+ public latLng?: (google.type.ILatLng|null);
+
+ /** Location radiusMiles. */
+ public radiusMiles: number;
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ILocation): google.cloud.talent.v4.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.cloud.talent.v4.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.cloud.talent.v4.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.cloud.talent.v4.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.cloud.talent.v4.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.cloud.talent.v4.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.cloud.talent.v4.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.cloud.talent.v4.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.cloud.talent.v4.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;
+ }
+
+ namespace Location {
+
+ /** LocationType enum. */
+ enum LocationType {
+ LOCATION_TYPE_UNSPECIFIED = 0,
+ COUNTRY = 1,
+ ADMINISTRATIVE_AREA = 2,
+ SUB_ADMINISTRATIVE_AREA = 3,
+ LOCALITY = 4,
+ POSTAL_CODE = 5,
+ SUB_LOCALITY = 6,
+ SUB_LOCALITY_1 = 7,
+ SUB_LOCALITY_2 = 8,
+ NEIGHBORHOOD = 9,
+ STREET_ADDRESS = 10
+ }
+ }
+
+ /** Properties of a RequestMetadata. */
+ interface IRequestMetadata {
+
+ /** RequestMetadata domain */
+ domain?: (string|null);
+
+ /** RequestMetadata sessionId */
+ sessionId?: (string|null);
+
+ /** RequestMetadata userId */
+ userId?: (string|null);
+
+ /** RequestMetadata allowMissingIds */
+ allowMissingIds?: (boolean|null);
+
+ /** RequestMetadata deviceInfo */
+ deviceInfo?: (google.cloud.talent.v4.IDeviceInfo|null);
+ }
+
+ /** Represents a RequestMetadata. */
+ class RequestMetadata implements IRequestMetadata {
+
+ /**
+ * Constructs a new RequestMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IRequestMetadata);
+
+ /** RequestMetadata domain. */
+ public domain: string;
+
+ /** RequestMetadata sessionId. */
+ public sessionId: string;
+
+ /** RequestMetadata userId. */
+ public userId: string;
+
+ /** RequestMetadata allowMissingIds. */
+ public allowMissingIds: boolean;
+
+ /** RequestMetadata deviceInfo. */
+ public deviceInfo?: (google.cloud.talent.v4.IDeviceInfo|null);
+
+ /**
+ * Creates a new RequestMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RequestMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IRequestMetadata): google.cloud.talent.v4.RequestMetadata;
+
+ /**
+ * Encodes the specified RequestMetadata message. Does not implicitly {@link google.cloud.talent.v4.RequestMetadata.verify|verify} messages.
+ * @param message RequestMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IRequestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RequestMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.RequestMetadata.verify|verify} messages.
+ * @param message RequestMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IRequestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RequestMetadata
+ * @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.cloud.talent.v4.RequestMetadata;
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RequestMetadata
+ * @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.cloud.talent.v4.RequestMetadata;
+
+ /**
+ * Verifies a RequestMetadata 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 RequestMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RequestMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.RequestMetadata;
+
+ /**
+ * Creates a plain object from a RequestMetadata message. Also converts values to other types if specified.
+ * @param message RequestMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.RequestMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RequestMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RequestMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResponseMetadata. */
+ interface IResponseMetadata {
+
+ /** ResponseMetadata requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a ResponseMetadata. */
+ class ResponseMetadata implements IResponseMetadata {
+
+ /**
+ * Constructs a new ResponseMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IResponseMetadata);
+
+ /** ResponseMetadata requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ResponseMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResponseMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IResponseMetadata): google.cloud.talent.v4.ResponseMetadata;
+
+ /**
+ * Encodes the specified ResponseMetadata message. Does not implicitly {@link google.cloud.talent.v4.ResponseMetadata.verify|verify} messages.
+ * @param message ResponseMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IResponseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResponseMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ResponseMetadata.verify|verify} messages.
+ * @param message ResponseMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IResponseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResponseMetadata
+ * @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.cloud.talent.v4.ResponseMetadata;
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResponseMetadata
+ * @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.cloud.talent.v4.ResponseMetadata;
+
+ /**
+ * Verifies a ResponseMetadata 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 ResponseMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResponseMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ResponseMetadata;
+
+ /**
+ * Creates a plain object from a ResponseMetadata message. Also converts values to other types if specified.
+ * @param message ResponseMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ResponseMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResponseMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResponseMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeviceInfo. */
+ interface IDeviceInfo {
+
+ /** DeviceInfo deviceType */
+ deviceType?: (google.cloud.talent.v4.DeviceInfo.DeviceType|keyof typeof google.cloud.talent.v4.DeviceInfo.DeviceType|null);
+
+ /** DeviceInfo id */
+ id?: (string|null);
+ }
+
+ /** Represents a DeviceInfo. */
+ class DeviceInfo implements IDeviceInfo {
+
+ /**
+ * Constructs a new DeviceInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IDeviceInfo);
+
+ /** DeviceInfo deviceType. */
+ public deviceType: (google.cloud.talent.v4.DeviceInfo.DeviceType|keyof typeof google.cloud.talent.v4.DeviceInfo.DeviceType);
+
+ /** DeviceInfo id. */
+ public id: string;
+
+ /**
+ * Creates a new DeviceInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeviceInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IDeviceInfo): google.cloud.talent.v4.DeviceInfo;
+
+ /**
+ * Encodes the specified DeviceInfo message. Does not implicitly {@link google.cloud.talent.v4.DeviceInfo.verify|verify} messages.
+ * @param message DeviceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IDeviceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeviceInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeviceInfo.verify|verify} messages.
+ * @param message DeviceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IDeviceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeviceInfo
+ * @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.cloud.talent.v4.DeviceInfo;
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeviceInfo
+ * @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.cloud.talent.v4.DeviceInfo;
+
+ /**
+ * Verifies a DeviceInfo 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 DeviceInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeviceInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.DeviceInfo;
+
+ /**
+ * Creates a plain object from a DeviceInfo message. Also converts values to other types if specified.
+ * @param message DeviceInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.DeviceInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeviceInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeviceInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DeviceInfo {
+
+ /** DeviceType enum. */
+ enum DeviceType {
+ DEVICE_TYPE_UNSPECIFIED = 0,
+ WEB = 1,
+ MOBILE_WEB = 2,
+ ANDROID = 3,
+ IOS = 4,
+ BOT = 5,
+ OTHER = 6
+ }
+ }
+
+ /** Properties of a CustomAttribute. */
+ interface ICustomAttribute {
+
+ /** CustomAttribute stringValues */
+ stringValues?: (string[]|null);
+
+ /** CustomAttribute longValues */
+ longValues?: ((number|Long|string)[]|null);
+
+ /** CustomAttribute filterable */
+ filterable?: (boolean|null);
+
+ /** CustomAttribute keywordSearchable */
+ keywordSearchable?: (boolean|null);
+ }
+
+ /** Represents a CustomAttribute. */
+ class CustomAttribute implements ICustomAttribute {
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICustomAttribute);
+
+ /** CustomAttribute stringValues. */
+ public stringValues: string[];
+
+ /** CustomAttribute longValues. */
+ public longValues: (number|Long|string)[];
+
+ /** CustomAttribute filterable. */
+ public filterable: boolean;
+
+ /** CustomAttribute keywordSearchable. */
+ public keywordSearchable: boolean;
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomAttribute instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICustomAttribute): google.cloud.talent.v4.CustomAttribute;
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.talent.v4.CustomAttribute.verify|verify} messages.
+ * @param message CustomAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CustomAttribute.verify|verify} messages.
+ * @param message CustomAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomAttribute
+ * @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.cloud.talent.v4.CustomAttribute;
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomAttribute
+ * @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.cloud.talent.v4.CustomAttribute;
+
+ /**
+ * Verifies a CustomAttribute 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 CustomAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CustomAttribute;
+
+ /**
+ * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified.
+ * @param message CustomAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CustomAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpellingCorrection. */
+ interface ISpellingCorrection {
+
+ /** SpellingCorrection corrected */
+ corrected?: (boolean|null);
+
+ /** SpellingCorrection correctedText */
+ correctedText?: (string|null);
+
+ /** SpellingCorrection correctedHtml */
+ correctedHtml?: (string|null);
+ }
+
+ /** Represents a SpellingCorrection. */
+ class SpellingCorrection implements ISpellingCorrection {
+
+ /**
+ * Constructs a new SpellingCorrection.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ISpellingCorrection);
+
+ /** SpellingCorrection corrected. */
+ public corrected: boolean;
+
+ /** SpellingCorrection correctedText. */
+ public correctedText: string;
+
+ /** SpellingCorrection correctedHtml. */
+ public correctedHtml: string;
+
+ /**
+ * Creates a new SpellingCorrection instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpellingCorrection instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ISpellingCorrection): google.cloud.talent.v4.SpellingCorrection;
+
+ /**
+ * Encodes the specified SpellingCorrection message. Does not implicitly {@link google.cloud.talent.v4.SpellingCorrection.verify|verify} messages.
+ * @param message SpellingCorrection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ISpellingCorrection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpellingCorrection message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SpellingCorrection.verify|verify} messages.
+ * @param message SpellingCorrection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ISpellingCorrection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpellingCorrection
+ * @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.cloud.talent.v4.SpellingCorrection;
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpellingCorrection
+ * @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.cloud.talent.v4.SpellingCorrection;
+
+ /**
+ * Verifies a SpellingCorrection 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 SpellingCorrection message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpellingCorrection
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SpellingCorrection;
+
+ /**
+ * Creates a plain object from a SpellingCorrection message. Also converts values to other types if specified.
+ * @param message SpellingCorrection
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SpellingCorrection, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpellingCorrection to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpellingCorrection
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompensationInfo. */
+ interface ICompensationInfo {
+
+ /** CompensationInfo entries */
+ entries?: (google.cloud.talent.v4.CompensationInfo.ICompensationEntry[]|null);
+
+ /** CompensationInfo annualizedBaseCompensationRange */
+ annualizedBaseCompensationRange?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationInfo annualizedTotalCompensationRange */
+ annualizedTotalCompensationRange?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+ }
+
+ /** Represents a CompensationInfo. */
+ class CompensationInfo implements ICompensationInfo {
+
+ /**
+ * Constructs a new CompensationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICompensationInfo);
+
+ /** CompensationInfo entries. */
+ public entries: google.cloud.talent.v4.CompensationInfo.ICompensationEntry[];
+
+ /** CompensationInfo annualizedBaseCompensationRange. */
+ public annualizedBaseCompensationRange?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationInfo annualizedTotalCompensationRange. */
+ public annualizedTotalCompensationRange?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /**
+ * Creates a new CompensationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICompensationInfo): google.cloud.talent.v4.CompensationInfo;
+
+ /**
+ * Encodes the specified CompensationInfo message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.verify|verify} messages.
+ * @param message CompensationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICompensationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.verify|verify} messages.
+ * @param message CompensationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICompensationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationInfo
+ * @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.cloud.talent.v4.CompensationInfo;
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationInfo
+ * @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.cloud.talent.v4.CompensationInfo;
+
+ /**
+ * Verifies a CompensationInfo 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 CompensationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompensationInfo;
+
+ /**
+ * Creates a plain object from a CompensationInfo message. Also converts values to other types if specified.
+ * @param message CompensationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompensationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompensationInfo {
+
+ /** Properties of a CompensationEntry. */
+ interface ICompensationEntry {
+
+ /** CompensationEntry type */
+ type?: (google.cloud.talent.v4.CompensationInfo.CompensationType|keyof typeof google.cloud.talent.v4.CompensationInfo.CompensationType|null);
+
+ /** CompensationEntry unit */
+ unit?: (google.cloud.talent.v4.CompensationInfo.CompensationUnit|keyof typeof google.cloud.talent.v4.CompensationInfo.CompensationUnit|null);
+
+ /** CompensationEntry amount */
+ amount?: (google.type.IMoney|null);
+
+ /** CompensationEntry range */
+ range?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationEntry description */
+ description?: (string|null);
+
+ /** CompensationEntry expectedUnitsPerYear */
+ expectedUnitsPerYear?: (google.protobuf.IDoubleValue|null);
+ }
+
+ /** Represents a CompensationEntry. */
+ class CompensationEntry implements ICompensationEntry {
+
+ /**
+ * Constructs a new CompensationEntry.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.CompensationInfo.ICompensationEntry);
+
+ /** CompensationEntry type. */
+ public type: (google.cloud.talent.v4.CompensationInfo.CompensationType|keyof typeof google.cloud.talent.v4.CompensationInfo.CompensationType);
+
+ /** CompensationEntry unit. */
+ public unit: (google.cloud.talent.v4.CompensationInfo.CompensationUnit|keyof typeof google.cloud.talent.v4.CompensationInfo.CompensationUnit);
+
+ /** CompensationEntry amount. */
+ public amount?: (google.type.IMoney|null);
+
+ /** CompensationEntry range. */
+ public range?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationEntry description. */
+ public description: string;
+
+ /** CompensationEntry expectedUnitsPerYear. */
+ public expectedUnitsPerYear?: (google.protobuf.IDoubleValue|null);
+
+ /** CompensationEntry compensationAmount. */
+ public compensationAmount?: ("amount"|"range");
+
+ /**
+ * Creates a new CompensationEntry instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationEntry instance
+ */
+ public static create(properties?: google.cloud.talent.v4.CompensationInfo.ICompensationEntry): google.cloud.talent.v4.CompensationInfo.CompensationEntry;
+
+ /**
+ * Encodes the specified CompensationEntry message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @param message CompensationEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.CompensationInfo.ICompensationEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationEntry message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @param message CompensationEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.CompensationInfo.ICompensationEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationEntry
+ * @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.cloud.talent.v4.CompensationInfo.CompensationEntry;
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationEntry
+ * @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.cloud.talent.v4.CompensationInfo.CompensationEntry;
+
+ /**
+ * Verifies a CompensationEntry 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 CompensationEntry message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationEntry
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompensationInfo.CompensationEntry;
+
+ /**
+ * Creates a plain object from a CompensationEntry message. Also converts values to other types if specified.
+ * @param message CompensationEntry
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompensationInfo.CompensationEntry, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationEntry to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationEntry
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** CompensationType enum. */
+ enum CompensationType {
+ COMPENSATION_TYPE_UNSPECIFIED = 0,
+ BASE = 1,
+ BONUS = 2,
+ SIGNING_BONUS = 3,
+ EQUITY = 4,
+ PROFIT_SHARING = 5,
+ COMMISSIONS = 6,
+ TIPS = 7,
+ OTHER_COMPENSATION_TYPE = 8
+ }
+
+ /** CompensationUnit enum. */
+ enum CompensationUnit {
+ COMPENSATION_UNIT_UNSPECIFIED = 0,
+ HOURLY = 1,
+ DAILY = 2,
+ WEEKLY = 3,
+ MONTHLY = 4,
+ YEARLY = 5,
+ ONE_TIME = 6,
+ OTHER_COMPENSATION_UNIT = 7
+ }
+
+ /** Properties of a CompensationRange. */
+ interface ICompensationRange {
+
+ /** CompensationRange maxCompensation */
+ maxCompensation?: (google.type.IMoney|null);
+
+ /** CompensationRange minCompensation */
+ minCompensation?: (google.type.IMoney|null);
+ }
+
+ /** Represents a CompensationRange. */
+ class CompensationRange implements ICompensationRange {
+
+ /**
+ * Constructs a new CompensationRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.CompensationInfo.ICompensationRange);
+
+ /** CompensationRange maxCompensation. */
+ public maxCompensation?: (google.type.IMoney|null);
+
+ /** CompensationRange minCompensation. */
+ public minCompensation?: (google.type.IMoney|null);
+
+ /**
+ * Creates a new CompensationRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationRange instance
+ */
+ public static create(properties?: google.cloud.talent.v4.CompensationInfo.ICompensationRange): google.cloud.talent.v4.CompensationInfo.CompensationRange;
+
+ /**
+ * Encodes the specified CompensationRange message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @param message CompensationRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.CompensationInfo.ICompensationRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @param message CompensationRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.CompensationInfo.ICompensationRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationRange
+ * @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.cloud.talent.v4.CompensationInfo.CompensationRange;
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationRange
+ * @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.cloud.talent.v4.CompensationInfo.CompensationRange;
+
+ /**
+ * Verifies a CompensationRange 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 CompensationRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompensationInfo.CompensationRange;
+
+ /**
+ * Creates a plain object from a CompensationRange message. Also converts values to other types if specified.
+ * @param message CompensationRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompensationInfo.CompensationRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a BatchOperationMetadata. */
+ interface IBatchOperationMetadata {
+
+ /** BatchOperationMetadata state */
+ state?: (google.cloud.talent.v4.BatchOperationMetadata.State|keyof typeof google.cloud.talent.v4.BatchOperationMetadata.State|null);
+
+ /** BatchOperationMetadata stateDescription */
+ stateDescription?: (string|null);
+
+ /** BatchOperationMetadata successCount */
+ successCount?: (number|null);
+
+ /** BatchOperationMetadata failureCount */
+ failureCount?: (number|null);
+
+ /** BatchOperationMetadata totalCount */
+ totalCount?: (number|null);
+
+ /** BatchOperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a BatchOperationMetadata. */
+ class BatchOperationMetadata implements IBatchOperationMetadata {
+
+ /**
+ * Constructs a new BatchOperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchOperationMetadata);
+
+ /** BatchOperationMetadata state. */
+ public state: (google.cloud.talent.v4.BatchOperationMetadata.State|keyof typeof google.cloud.talent.v4.BatchOperationMetadata.State);
+
+ /** BatchOperationMetadata stateDescription. */
+ public stateDescription: string;
+
+ /** BatchOperationMetadata successCount. */
+ public successCount: number;
+
+ /** BatchOperationMetadata failureCount. */
+ public failureCount: number;
+
+ /** BatchOperationMetadata totalCount. */
+ public totalCount: number;
+
+ /** BatchOperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new BatchOperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchOperationMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchOperationMetadata): google.cloud.talent.v4.BatchOperationMetadata;
+
+ /**
+ * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.talent.v4.BatchOperationMetadata.verify|verify} messages.
+ * @param message BatchOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchOperationMetadata.verify|verify} messages.
+ * @param message BatchOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchOperationMetadata
+ * @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.cloud.talent.v4.BatchOperationMetadata;
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchOperationMetadata
+ * @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.cloud.talent.v4.BatchOperationMetadata;
+
+ /**
+ * Verifies a BatchOperationMetadata 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 BatchOperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchOperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchOperationMetadata;
+
+ /**
+ * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified.
+ * @param message BatchOperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchOperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchOperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BatchOperationMetadata {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ INITIALIZING = 1,
+ PROCESSING = 2,
+ SUCCEEDED = 3,
+ FAILED = 4,
+ CANCELLING = 5,
+ CANCELLED = 6
+ }
+ }
+
+ /** Properties of a Company. */
+ interface ICompany {
+
+ /** Company name */
+ name?: (string|null);
+
+ /** Company displayName */
+ displayName?: (string|null);
+
+ /** Company externalId */
+ externalId?: (string|null);
+
+ /** Company size */
+ size?: (google.cloud.talent.v4.CompanySize|keyof typeof google.cloud.talent.v4.CompanySize|null);
+
+ /** Company headquartersAddress */
+ headquartersAddress?: (string|null);
+
+ /** Company hiringAgency */
+ hiringAgency?: (boolean|null);
+
+ /** Company eeoText */
+ eeoText?: (string|null);
+
+ /** Company websiteUri */
+ websiteUri?: (string|null);
+
+ /** Company careerSiteUri */
+ careerSiteUri?: (string|null);
+
+ /** Company imageUri */
+ imageUri?: (string|null);
+
+ /** Company keywordSearchableJobCustomAttributes */
+ keywordSearchableJobCustomAttributes?: (string[]|null);
+
+ /** Company derivedInfo */
+ derivedInfo?: (google.cloud.talent.v4.Company.IDerivedInfo|null);
+
+ /** Company suspended */
+ suspended?: (boolean|null);
+ }
+
+ /** Represents a Company. */
+ class Company implements ICompany {
+
+ /**
+ * Constructs a new Company.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICompany);
+
+ /** Company name. */
+ public name: string;
+
+ /** Company displayName. */
+ public displayName: string;
+
+ /** Company externalId. */
+ public externalId: string;
+
+ /** Company size. */
+ public size: (google.cloud.talent.v4.CompanySize|keyof typeof google.cloud.talent.v4.CompanySize);
+
+ /** Company headquartersAddress. */
+ public headquartersAddress: string;
+
+ /** Company hiringAgency. */
+ public hiringAgency: boolean;
+
+ /** Company eeoText. */
+ public eeoText: string;
+
+ /** Company websiteUri. */
+ public websiteUri: string;
+
+ /** Company careerSiteUri. */
+ public careerSiteUri: string;
+
+ /** Company imageUri. */
+ public imageUri: string;
+
+ /** Company keywordSearchableJobCustomAttributes. */
+ public keywordSearchableJobCustomAttributes: string[];
+
+ /** Company derivedInfo. */
+ public derivedInfo?: (google.cloud.talent.v4.Company.IDerivedInfo|null);
+
+ /** Company suspended. */
+ public suspended: boolean;
+
+ /**
+ * Creates a new Company instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Company instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICompany): google.cloud.talent.v4.Company;
+
+ /**
+ * Encodes the specified Company message. Does not implicitly {@link google.cloud.talent.v4.Company.verify|verify} messages.
+ * @param message Company message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Company message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Company.verify|verify} messages.
+ * @param message Company message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Company message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Company
+ * @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.cloud.talent.v4.Company;
+
+ /**
+ * Decodes a Company message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Company
+ * @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.cloud.talent.v4.Company;
+
+ /**
+ * Verifies a Company 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 Company message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Company
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Company;
+
+ /**
+ * Creates a plain object from a Company message. Also converts values to other types if specified.
+ * @param message Company
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Company, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Company to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Company
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Company {
+
+ /** Properties of a DerivedInfo. */
+ interface IDerivedInfo {
+
+ /** DerivedInfo headquartersLocation */
+ headquartersLocation?: (google.cloud.talent.v4.ILocation|null);
+ }
+
+ /** Represents a DerivedInfo. */
+ class DerivedInfo implements IDerivedInfo {
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.Company.IDerivedInfo);
+
+ /** DerivedInfo headquartersLocation. */
+ public headquartersLocation?: (google.cloud.talent.v4.ILocation|null);
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DerivedInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.Company.IDerivedInfo): google.cloud.talent.v4.Company.DerivedInfo;
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4.Company.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.Company.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Company.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.Company.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4.Company.DerivedInfo;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4.Company.DerivedInfo;
+
+ /**
+ * Verifies a DerivedInfo 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 DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DerivedInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Company.DerivedInfo;
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @param message DerivedInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Company.DerivedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a CompanyService */
+ class CompanyService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CompanyService 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 CompanyService 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): CompanyService;
+
+ /**
+ * Calls CreateCompany.
+ * @param request CreateCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public createCompany(request: google.cloud.talent.v4.ICreateCompanyRequest, callback: google.cloud.talent.v4.CompanyService.CreateCompanyCallback): void;
+
+ /**
+ * Calls CreateCompany.
+ * @param request CreateCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public createCompany(request: google.cloud.talent.v4.ICreateCompanyRequest): Promise;
+
+ /**
+ * Calls GetCompany.
+ * @param request GetCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public getCompany(request: google.cloud.talent.v4.IGetCompanyRequest, callback: google.cloud.talent.v4.CompanyService.GetCompanyCallback): void;
+
+ /**
+ * Calls GetCompany.
+ * @param request GetCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public getCompany(request: google.cloud.talent.v4.IGetCompanyRequest): Promise;
+
+ /**
+ * Calls UpdateCompany.
+ * @param request UpdateCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public updateCompany(request: google.cloud.talent.v4.IUpdateCompanyRequest, callback: google.cloud.talent.v4.CompanyService.UpdateCompanyCallback): void;
+
+ /**
+ * Calls UpdateCompany.
+ * @param request UpdateCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public updateCompany(request: google.cloud.talent.v4.IUpdateCompanyRequest): Promise;
+
+ /**
+ * Calls DeleteCompany.
+ * @param request DeleteCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteCompany(request: google.cloud.talent.v4.IDeleteCompanyRequest, callback: google.cloud.talent.v4.CompanyService.DeleteCompanyCallback): void;
+
+ /**
+ * Calls DeleteCompany.
+ * @param request DeleteCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCompany(request: google.cloud.talent.v4.IDeleteCompanyRequest): Promise;
+
+ /**
+ * Calls ListCompanies.
+ * @param request ListCompaniesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCompaniesResponse
+ */
+ public listCompanies(request: google.cloud.talent.v4.IListCompaniesRequest, callback: google.cloud.talent.v4.CompanyService.ListCompaniesCallback): void;
+
+ /**
+ * Calls ListCompanies.
+ * @param request ListCompaniesRequest message or plain object
+ * @returns Promise
+ */
+ public listCompanies(request: google.cloud.talent.v4.IListCompaniesRequest): Promise;
+ }
+
+ namespace CompanyService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|createCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type CreateCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|getCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type GetCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|updateCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type UpdateCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|deleteCompany}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteCompanyCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|listCompanies}.
+ * @param error Error, if any
+ * @param [response] ListCompaniesResponse
+ */
+ type ListCompaniesCallback = (error: (Error|null), response?: google.cloud.talent.v4.ListCompaniesResponse) => void;
+ }
+
+ /** Properties of a CreateCompanyRequest. */
+ interface ICreateCompanyRequest {
+
+ /** CreateCompanyRequest parent */
+ parent?: (string|null);
+
+ /** CreateCompanyRequest company */
+ company?: (google.cloud.talent.v4.ICompany|null);
+ }
+
+ /** Represents a CreateCompanyRequest. */
+ class CreateCompanyRequest implements ICreateCompanyRequest {
+
+ /**
+ * Constructs a new CreateCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICreateCompanyRequest);
+
+ /** CreateCompanyRequest parent. */
+ public parent: string;
+
+ /** CreateCompanyRequest company. */
+ public company?: (google.cloud.talent.v4.ICompany|null);
+
+ /**
+ * Creates a new CreateCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICreateCompanyRequest): google.cloud.talent.v4.CreateCompanyRequest;
+
+ /**
+ * Encodes the specified CreateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateCompanyRequest.verify|verify} messages.
+ * @param message CreateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICreateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateCompanyRequest.verify|verify} messages.
+ * @param message CreateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICreateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCompanyRequest
+ * @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.cloud.talent.v4.CreateCompanyRequest;
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCompanyRequest
+ * @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.cloud.talent.v4.CreateCompanyRequest;
+
+ /**
+ * Verifies a CreateCompanyRequest 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 CreateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CreateCompanyRequest;
+
+ /**
+ * Creates a plain object from a CreateCompanyRequest message. Also converts values to other types if specified.
+ * @param message CreateCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CreateCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCompanyRequest. */
+ interface IGetCompanyRequest {
+
+ /** GetCompanyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCompanyRequest. */
+ class GetCompanyRequest implements IGetCompanyRequest {
+
+ /**
+ * Constructs a new GetCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IGetCompanyRequest);
+
+ /** GetCompanyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IGetCompanyRequest): google.cloud.talent.v4.GetCompanyRequest;
+
+ /**
+ * Encodes the specified GetCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.GetCompanyRequest.verify|verify} messages.
+ * @param message GetCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.GetCompanyRequest.verify|verify} messages.
+ * @param message GetCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCompanyRequest
+ * @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.cloud.talent.v4.GetCompanyRequest;
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCompanyRequest
+ * @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.cloud.talent.v4.GetCompanyRequest;
+
+ /**
+ * Verifies a GetCompanyRequest 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 GetCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.GetCompanyRequest;
+
+ /**
+ * Creates a plain object from a GetCompanyRequest message. Also converts values to other types if specified.
+ * @param message GetCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.GetCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCompanyRequest. */
+ interface IUpdateCompanyRequest {
+
+ /** UpdateCompanyRequest company */
+ company?: (google.cloud.talent.v4.ICompany|null);
+
+ /** UpdateCompanyRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCompanyRequest. */
+ class UpdateCompanyRequest implements IUpdateCompanyRequest {
+
+ /**
+ * Constructs a new UpdateCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IUpdateCompanyRequest);
+
+ /** UpdateCompanyRequest company. */
+ public company?: (google.cloud.talent.v4.ICompany|null);
+
+ /** UpdateCompanyRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IUpdateCompanyRequest): google.cloud.talent.v4.UpdateCompanyRequest;
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.UpdateCompanyRequest.verify|verify} messages.
+ * @param message UpdateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IUpdateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.UpdateCompanyRequest.verify|verify} messages.
+ * @param message UpdateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IUpdateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCompanyRequest
+ * @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.cloud.talent.v4.UpdateCompanyRequest;
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCompanyRequest
+ * @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.cloud.talent.v4.UpdateCompanyRequest;
+
+ /**
+ * Verifies an UpdateCompanyRequest 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 UpdateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.UpdateCompanyRequest;
+
+ /**
+ * Creates a plain object from an UpdateCompanyRequest message. Also converts values to other types if specified.
+ * @param message UpdateCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.UpdateCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCompanyRequest. */
+ interface IDeleteCompanyRequest {
+
+ /** DeleteCompanyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteCompanyRequest. */
+ class DeleteCompanyRequest implements IDeleteCompanyRequest {
+
+ /**
+ * Constructs a new DeleteCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IDeleteCompanyRequest);
+
+ /** DeleteCompanyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IDeleteCompanyRequest): google.cloud.talent.v4.DeleteCompanyRequest;
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.DeleteCompanyRequest.verify|verify} messages.
+ * @param message DeleteCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IDeleteCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeleteCompanyRequest.verify|verify} messages.
+ * @param message DeleteCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IDeleteCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCompanyRequest
+ * @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.cloud.talent.v4.DeleteCompanyRequest;
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCompanyRequest
+ * @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.cloud.talent.v4.DeleteCompanyRequest;
+
+ /**
+ * Verifies a DeleteCompanyRequest 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 DeleteCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.DeleteCompanyRequest;
+
+ /**
+ * Creates a plain object from a DeleteCompanyRequest message. Also converts values to other types if specified.
+ * @param message DeleteCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.DeleteCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCompaniesRequest. */
+ interface IListCompaniesRequest {
+
+ /** ListCompaniesRequest parent */
+ parent?: (string|null);
+
+ /** ListCompaniesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCompaniesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCompaniesRequest requireOpenJobs */
+ requireOpenJobs?: (boolean|null);
+ }
+
+ /** Represents a ListCompaniesRequest. */
+ class ListCompaniesRequest implements IListCompaniesRequest {
+
+ /**
+ * Constructs a new ListCompaniesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListCompaniesRequest);
+
+ /** ListCompaniesRequest parent. */
+ public parent: string;
+
+ /** ListCompaniesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCompaniesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCompaniesRequest requireOpenJobs. */
+ public requireOpenJobs: boolean;
+
+ /**
+ * Creates a new ListCompaniesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCompaniesRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListCompaniesRequest): google.cloud.talent.v4.ListCompaniesRequest;
+
+ /**
+ * Encodes the specified ListCompaniesRequest message. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesRequest.verify|verify} messages.
+ * @param message ListCompaniesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCompaniesRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesRequest.verify|verify} messages.
+ * @param message ListCompaniesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCompaniesRequest
+ * @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.cloud.talent.v4.ListCompaniesRequest;
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCompaniesRequest
+ * @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.cloud.talent.v4.ListCompaniesRequest;
+
+ /**
+ * Verifies a ListCompaniesRequest 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 ListCompaniesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCompaniesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListCompaniesRequest;
+
+ /**
+ * Creates a plain object from a ListCompaniesRequest message. Also converts values to other types if specified.
+ * @param message ListCompaniesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListCompaniesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCompaniesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCompaniesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCompaniesResponse. */
+ interface IListCompaniesResponse {
+
+ /** ListCompaniesResponse companies */
+ companies?: (google.cloud.talent.v4.ICompany[]|null);
+
+ /** ListCompaniesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCompaniesResponse metadata */
+ metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+ }
+
+ /** Represents a ListCompaniesResponse. */
+ class ListCompaniesResponse implements IListCompaniesResponse {
+
+ /**
+ * Constructs a new ListCompaniesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListCompaniesResponse);
+
+ /** ListCompaniesResponse companies. */
+ public companies: google.cloud.talent.v4.ICompany[];
+
+ /** ListCompaniesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCompaniesResponse metadata. */
+ public metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListCompaniesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCompaniesResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListCompaniesResponse): google.cloud.talent.v4.ListCompaniesResponse;
+
+ /**
+ * Encodes the specified ListCompaniesResponse message. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesResponse.verify|verify} messages.
+ * @param message ListCompaniesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCompaniesResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesResponse.verify|verify} messages.
+ * @param message ListCompaniesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCompaniesResponse
+ * @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.cloud.talent.v4.ListCompaniesResponse;
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCompaniesResponse
+ * @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.cloud.talent.v4.ListCompaniesResponse;
+
+ /**
+ * Verifies a ListCompaniesResponse 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 ListCompaniesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCompaniesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListCompaniesResponse;
+
+ /**
+ * Creates a plain object from a ListCompaniesResponse message. Also converts values to other types if specified.
+ * @param message ListCompaniesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListCompaniesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCompaniesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCompaniesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a Completion */
+ class Completion extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Completion 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 Completion 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): Completion;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompleteQueryResponse
+ */
+ public completeQuery(request: google.cloud.talent.v4.ICompleteQueryRequest, callback: google.cloud.talent.v4.Completion.CompleteQueryCallback): void;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @returns Promise
+ */
+ public completeQuery(request: google.cloud.talent.v4.ICompleteQueryRequest): Promise;
+ }
+
+ namespace Completion {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.Completion|completeQuery}.
+ * @param error Error, if any
+ * @param [response] CompleteQueryResponse
+ */
+ type CompleteQueryCallback = (error: (Error|null), response?: google.cloud.talent.v4.CompleteQueryResponse) => void;
+ }
+
+ /** Properties of a CompleteQueryRequest. */
+ interface ICompleteQueryRequest {
+
+ /** CompleteQueryRequest tenant */
+ tenant?: (string|null);
+
+ /** CompleteQueryRequest query */
+ query?: (string|null);
+
+ /** CompleteQueryRequest languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** CompleteQueryRequest pageSize */
+ pageSize?: (number|null);
+
+ /** CompleteQueryRequest company */
+ company?: (string|null);
+
+ /** CompleteQueryRequest scope */
+ scope?: (google.cloud.talent.v4.CompleteQueryRequest.CompletionScope|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionScope|null);
+
+ /** CompleteQueryRequest type */
+ type?: (google.cloud.talent.v4.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionType|null);
+ }
+
+ /** Represents a CompleteQueryRequest. */
+ class CompleteQueryRequest implements ICompleteQueryRequest {
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICompleteQueryRequest);
+
+ /** CompleteQueryRequest tenant. */
+ public tenant: string;
+
+ /** CompleteQueryRequest query. */
+ public query: string;
+
+ /** CompleteQueryRequest languageCodes. */
+ public languageCodes: string[];
+
+ /** CompleteQueryRequest pageSize. */
+ public pageSize: number;
+
+ /** CompleteQueryRequest company. */
+ public company: string;
+
+ /** CompleteQueryRequest scope. */
+ public scope: (google.cloud.talent.v4.CompleteQueryRequest.CompletionScope|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionScope);
+
+ /** CompleteQueryRequest type. */
+ public type: (google.cloud.talent.v4.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionType);
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICompleteQueryRequest): google.cloud.talent.v4.CompleteQueryRequest;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryRequest.verify|verify} messages.
+ * @param message CompleteQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryRequest.verify|verify} messages.
+ * @param message CompleteQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompleteQueryRequest
+ * @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.cloud.talent.v4.CompleteQueryRequest;
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompleteQueryRequest
+ * @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.cloud.talent.v4.CompleteQueryRequest;
+
+ /**
+ * Verifies a CompleteQueryRequest 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 CompleteQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompleteQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompleteQueryRequest;
+
+ /**
+ * Creates a plain object from a CompleteQueryRequest message. Also converts values to other types if specified.
+ * @param message CompleteQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompleteQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompleteQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompleteQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompleteQueryRequest {
+
+ /** CompletionScope enum. */
+ enum CompletionScope {
+ COMPLETION_SCOPE_UNSPECIFIED = 0,
+ TENANT = 1,
+ PUBLIC = 2
+ }
+
+ /** CompletionType enum. */
+ enum CompletionType {
+ COMPLETION_TYPE_UNSPECIFIED = 0,
+ JOB_TITLE = 1,
+ COMPANY_NAME = 2,
+ COMBINED = 3
+ }
+ }
+
+ /** Properties of a CompleteQueryResponse. */
+ interface ICompleteQueryResponse {
+
+ /** CompleteQueryResponse completionResults */
+ completionResults?: (google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult[]|null);
+
+ /** CompleteQueryResponse metadata */
+ metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+ }
+
+ /** Represents a CompleteQueryResponse. */
+ class CompleteQueryResponse implements ICompleteQueryResponse {
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICompleteQueryResponse);
+
+ /** CompleteQueryResponse completionResults. */
+ public completionResults: google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult[];
+
+ /** CompleteQueryResponse metadata. */
+ public metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICompleteQueryResponse): google.cloud.talent.v4.CompleteQueryResponse;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.verify|verify} messages.
+ * @param message CompleteQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.verify|verify} messages.
+ * @param message CompleteQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompleteQueryResponse
+ * @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.cloud.talent.v4.CompleteQueryResponse;
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompleteQueryResponse
+ * @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.cloud.talent.v4.CompleteQueryResponse;
+
+ /**
+ * Verifies a CompleteQueryResponse 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 CompleteQueryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompleteQueryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompleteQueryResponse;
+
+ /**
+ * Creates a plain object from a CompleteQueryResponse message. Also converts values to other types if specified.
+ * @param message CompleteQueryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompleteQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompleteQueryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompleteQueryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompleteQueryResponse {
+
+ /** Properties of a CompletionResult. */
+ interface ICompletionResult {
+
+ /** CompletionResult suggestion */
+ suggestion?: (string|null);
+
+ /** CompletionResult type */
+ type?: (google.cloud.talent.v4.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionType|null);
+
+ /** CompletionResult imageUri */
+ imageUri?: (string|null);
+ }
+
+ /** Represents a CompletionResult. */
+ class CompletionResult implements ICompletionResult {
+
+ /**
+ * Constructs a new CompletionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult);
+
+ /** CompletionResult suggestion. */
+ public suggestion: string;
+
+ /** CompletionResult type. */
+ public type: (google.cloud.talent.v4.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4.CompleteQueryRequest.CompletionType);
+
+ /** CompletionResult imageUri. */
+ public imageUri: string;
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult): google.cloud.talent.v4.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @param message CompletionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @param message CompletionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionResult
+ * @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.cloud.talent.v4.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionResult
+ * @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.cloud.talent.v4.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Verifies a CompletionResult 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 CompletionResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Creates a plain object from a CompletionResult message. Also converts values to other types if specified.
+ * @param message CompletionResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompleteQueryResponse.CompletionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ClientEvent. */
+ interface IClientEvent {
+
+ /** ClientEvent requestId */
+ requestId?: (string|null);
+
+ /** ClientEvent eventId */
+ eventId?: (string|null);
+
+ /** ClientEvent createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ClientEvent jobEvent */
+ jobEvent?: (google.cloud.talent.v4.IJobEvent|null);
+
+ /** ClientEvent eventNotes */
+ eventNotes?: (string|null);
+ }
+
+ /** Represents a ClientEvent. */
+ class ClientEvent implements IClientEvent {
+
+ /**
+ * Constructs a new ClientEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IClientEvent);
+
+ /** ClientEvent requestId. */
+ public requestId: string;
+
+ /** ClientEvent eventId. */
+ public eventId: string;
+
+ /** ClientEvent createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ClientEvent jobEvent. */
+ public jobEvent?: (google.cloud.talent.v4.IJobEvent|null);
+
+ /** ClientEvent eventNotes. */
+ public eventNotes: string;
+
+ /** ClientEvent event. */
+ public event?: "jobEvent";
+
+ /**
+ * Creates a new ClientEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ClientEvent instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IClientEvent): google.cloud.talent.v4.ClientEvent;
+
+ /**
+ * Encodes the specified ClientEvent message. Does not implicitly {@link google.cloud.talent.v4.ClientEvent.verify|verify} messages.
+ * @param message ClientEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IClientEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ClientEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ClientEvent.verify|verify} messages.
+ * @param message ClientEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IClientEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ClientEvent
+ * @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.cloud.talent.v4.ClientEvent;
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ClientEvent
+ * @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.cloud.talent.v4.ClientEvent;
+
+ /**
+ * Verifies a ClientEvent 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 ClientEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ClientEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ClientEvent;
+
+ /**
+ * Creates a plain object from a ClientEvent message. Also converts values to other types if specified.
+ * @param message ClientEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ClientEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ClientEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ClientEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobEvent. */
+ interface IJobEvent {
+
+ /** JobEvent type */
+ type?: (google.cloud.talent.v4.JobEvent.JobEventType|keyof typeof google.cloud.talent.v4.JobEvent.JobEventType|null);
+
+ /** JobEvent jobs */
+ jobs?: (string[]|null);
+ }
+
+ /** Represents a JobEvent. */
+ class JobEvent implements IJobEvent {
+
+ /**
+ * Constructs a new JobEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IJobEvent);
+
+ /** JobEvent type. */
+ public type: (google.cloud.talent.v4.JobEvent.JobEventType|keyof typeof google.cloud.talent.v4.JobEvent.JobEventType);
+
+ /** JobEvent jobs. */
+ public jobs: string[];
+
+ /**
+ * Creates a new JobEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobEvent instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IJobEvent): google.cloud.talent.v4.JobEvent;
+
+ /**
+ * Encodes the specified JobEvent message. Does not implicitly {@link google.cloud.talent.v4.JobEvent.verify|verify} messages.
+ * @param message JobEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IJobEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4.JobEvent.verify|verify} messages.
+ * @param message JobEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IJobEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobEvent
+ * @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.cloud.talent.v4.JobEvent;
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobEvent
+ * @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.cloud.talent.v4.JobEvent;
+
+ /**
+ * Verifies a JobEvent 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 JobEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.JobEvent;
+
+ /**
+ * Creates a plain object from a JobEvent message. Also converts values to other types if specified.
+ * @param message JobEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.JobEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace JobEvent {
+
+ /** JobEventType enum. */
+ enum JobEventType {
+ JOB_EVENT_TYPE_UNSPECIFIED = 0,
+ IMPRESSION = 1,
+ VIEW = 2,
+ VIEW_REDIRECT = 3,
+ APPLICATION_START = 4,
+ APPLICATION_FINISH = 5,
+ APPLICATION_QUICK_SUBMISSION = 6,
+ APPLICATION_REDIRECT = 7,
+ APPLICATION_START_FROM_SEARCH = 8,
+ APPLICATION_REDIRECT_FROM_SEARCH = 9,
+ APPLICATION_COMPANY_SUBMIT = 10,
+ BOOKMARK = 11,
+ NOTIFICATION = 12,
+ HIRED = 13,
+ SENT_CV = 14,
+ INTERVIEW_GRANTED = 15
+ }
+ }
+
+ /** Represents an EventService */
+ class EventService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new EventService 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 EventService 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): EventService;
+
+ /**
+ * Calls CreateClientEvent.
+ * @param request CreateClientEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ClientEvent
+ */
+ public createClientEvent(request: google.cloud.talent.v4.ICreateClientEventRequest, callback: google.cloud.talent.v4.EventService.CreateClientEventCallback): void;
+
+ /**
+ * Calls CreateClientEvent.
+ * @param request CreateClientEventRequest message or plain object
+ * @returns Promise
+ */
+ public createClientEvent(request: google.cloud.talent.v4.ICreateClientEventRequest): Promise;
+ }
+
+ namespace EventService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.EventService|createClientEvent}.
+ * @param error Error, if any
+ * @param [response] ClientEvent
+ */
+ type CreateClientEventCallback = (error: (Error|null), response?: google.cloud.talent.v4.ClientEvent) => void;
+ }
+
+ /** Properties of a CreateClientEventRequest. */
+ interface ICreateClientEventRequest {
+
+ /** CreateClientEventRequest parent */
+ parent?: (string|null);
+
+ /** CreateClientEventRequest clientEvent */
+ clientEvent?: (google.cloud.talent.v4.IClientEvent|null);
+ }
+
+ /** Represents a CreateClientEventRequest. */
+ class CreateClientEventRequest implements ICreateClientEventRequest {
+
+ /**
+ * Constructs a new CreateClientEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICreateClientEventRequest);
+
+ /** CreateClientEventRequest parent. */
+ public parent: string;
+
+ /** CreateClientEventRequest clientEvent. */
+ public clientEvent?: (google.cloud.talent.v4.IClientEvent|null);
+
+ /**
+ * Creates a new CreateClientEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateClientEventRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICreateClientEventRequest): google.cloud.talent.v4.CreateClientEventRequest;
+
+ /**
+ * Encodes the specified CreateClientEventRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateClientEventRequest.verify|verify} messages.
+ * @param message CreateClientEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICreateClientEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateClientEventRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateClientEventRequest.verify|verify} messages.
+ * @param message CreateClientEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICreateClientEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateClientEventRequest
+ * @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.cloud.talent.v4.CreateClientEventRequest;
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateClientEventRequest
+ * @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.cloud.talent.v4.CreateClientEventRequest;
+
+ /**
+ * Verifies a CreateClientEventRequest 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 CreateClientEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateClientEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CreateClientEventRequest;
+
+ /**
+ * Creates a plain object from a CreateClientEventRequest message. Also converts values to other types if specified.
+ * @param message CreateClientEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CreateClientEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateClientEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateClientEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobQuery. */
+ interface IJobQuery {
+
+ /** JobQuery query */
+ query?: (string|null);
+
+ /** JobQuery queryLanguageCode */
+ queryLanguageCode?: (string|null);
+
+ /** JobQuery companies */
+ companies?: (string[]|null);
+
+ /** JobQuery locationFilters */
+ locationFilters?: (google.cloud.talent.v4.ILocationFilter[]|null);
+
+ /** JobQuery jobCategories */
+ jobCategories?: (google.cloud.talent.v4.JobCategory[]|null);
+
+ /** JobQuery commuteFilter */
+ commuteFilter?: (google.cloud.talent.v4.ICommuteFilter|null);
+
+ /** JobQuery companyDisplayNames */
+ companyDisplayNames?: (string[]|null);
+
+ /** JobQuery compensationFilter */
+ compensationFilter?: (google.cloud.talent.v4.ICompensationFilter|null);
+
+ /** JobQuery customAttributeFilter */
+ customAttributeFilter?: (string|null);
+
+ /** JobQuery disableSpellCheck */
+ disableSpellCheck?: (boolean|null);
+
+ /** JobQuery employmentTypes */
+ employmentTypes?: (google.cloud.talent.v4.EmploymentType[]|null);
+
+ /** JobQuery languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** JobQuery publishTimeRange */
+ publishTimeRange?: (google.cloud.talent.v4.ITimestampRange|null);
+
+ /** JobQuery excludedJobs */
+ excludedJobs?: (string[]|null);
+ }
+
+ /** Represents a JobQuery. */
+ class JobQuery implements IJobQuery {
+
+ /**
+ * Constructs a new JobQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IJobQuery);
+
+ /** JobQuery query. */
+ public query: string;
+
+ /** JobQuery queryLanguageCode. */
+ public queryLanguageCode: string;
+
+ /** JobQuery companies. */
+ public companies: string[];
+
+ /** JobQuery locationFilters. */
+ public locationFilters: google.cloud.talent.v4.ILocationFilter[];
+
+ /** JobQuery jobCategories. */
+ public jobCategories: google.cloud.talent.v4.JobCategory[];
+
+ /** JobQuery commuteFilter. */
+ public commuteFilter?: (google.cloud.talent.v4.ICommuteFilter|null);
+
+ /** JobQuery companyDisplayNames. */
+ public companyDisplayNames: string[];
+
+ /** JobQuery compensationFilter. */
+ public compensationFilter?: (google.cloud.talent.v4.ICompensationFilter|null);
+
+ /** JobQuery customAttributeFilter. */
+ public customAttributeFilter: string;
+
+ /** JobQuery disableSpellCheck. */
+ public disableSpellCheck: boolean;
+
+ /** JobQuery employmentTypes. */
+ public employmentTypes: google.cloud.talent.v4.EmploymentType[];
+
+ /** JobQuery languageCodes. */
+ public languageCodes: string[];
+
+ /** JobQuery publishTimeRange. */
+ public publishTimeRange?: (google.cloud.talent.v4.ITimestampRange|null);
+
+ /** JobQuery excludedJobs. */
+ public excludedJobs: string[];
+
+ /**
+ * Creates a new JobQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobQuery instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IJobQuery): google.cloud.talent.v4.JobQuery;
+
+ /**
+ * Encodes the specified JobQuery message. Does not implicitly {@link google.cloud.talent.v4.JobQuery.verify|verify} messages.
+ * @param message JobQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IJobQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4.JobQuery.verify|verify} messages.
+ * @param message JobQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IJobQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobQuery
+ * @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.cloud.talent.v4.JobQuery;
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobQuery
+ * @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.cloud.talent.v4.JobQuery;
+
+ /**
+ * Verifies a JobQuery 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 JobQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.JobQuery;
+
+ /**
+ * Creates a plain object from a JobQuery message. Also converts values to other types if specified.
+ * @param message JobQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.JobQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocationFilter. */
+ interface ILocationFilter {
+
+ /** LocationFilter address */
+ address?: (string|null);
+
+ /** LocationFilter regionCode */
+ regionCode?: (string|null);
+
+ /** LocationFilter latLng */
+ latLng?: (google.type.ILatLng|null);
+
+ /** LocationFilter distanceInMiles */
+ distanceInMiles?: (number|null);
+
+ /** LocationFilter telecommutePreference */
+ telecommutePreference?: (google.cloud.talent.v4.LocationFilter.TelecommutePreference|keyof typeof google.cloud.talent.v4.LocationFilter.TelecommutePreference|null);
+ }
+
+ /** Represents a LocationFilter. */
+ class LocationFilter implements ILocationFilter {
+
+ /**
+ * Constructs a new LocationFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ILocationFilter);
+
+ /** LocationFilter address. */
+ public address: string;
+
+ /** LocationFilter regionCode. */
+ public regionCode: string;
+
+ /** LocationFilter latLng. */
+ public latLng?: (google.type.ILatLng|null);
+
+ /** LocationFilter distanceInMiles. */
+ public distanceInMiles: number;
+
+ /** LocationFilter telecommutePreference. */
+ public telecommutePreference: (google.cloud.talent.v4.LocationFilter.TelecommutePreference|keyof typeof google.cloud.talent.v4.LocationFilter.TelecommutePreference);
+
+ /**
+ * Creates a new LocationFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ILocationFilter): google.cloud.talent.v4.LocationFilter;
+
+ /**
+ * Encodes the specified LocationFilter message. Does not implicitly {@link google.cloud.talent.v4.LocationFilter.verify|verify} messages.
+ * @param message LocationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ILocationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.LocationFilter.verify|verify} messages.
+ * @param message LocationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ILocationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationFilter
+ * @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.cloud.talent.v4.LocationFilter;
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationFilter
+ * @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.cloud.talent.v4.LocationFilter;
+
+ /**
+ * Verifies a LocationFilter 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 LocationFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.LocationFilter;
+
+ /**
+ * Creates a plain object from a LocationFilter message. Also converts values to other types if specified.
+ * @param message LocationFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.LocationFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LocationFilter {
+
+ /** TelecommutePreference enum. */
+ enum TelecommutePreference {
+ TELECOMMUTE_PREFERENCE_UNSPECIFIED = 0,
+ TELECOMMUTE_EXCLUDED = 1,
+ TELECOMMUTE_ALLOWED = 2,
+ TELECOMMUTE_JOBS_EXCLUDED = 3
+ }
+ }
+
+ /** Properties of a CompensationFilter. */
+ interface ICompensationFilter {
+
+ /** CompensationFilter type */
+ type?: (google.cloud.talent.v4.CompensationFilter.FilterType|keyof typeof google.cloud.talent.v4.CompensationFilter.FilterType|null);
+
+ /** CompensationFilter units */
+ units?: (google.cloud.talent.v4.CompensationInfo.CompensationUnit[]|null);
+
+ /** CompensationFilter range */
+ range?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationFilter includeJobsWithUnspecifiedCompensationRange */
+ includeJobsWithUnspecifiedCompensationRange?: (boolean|null);
+ }
+
+ /** Represents a CompensationFilter. */
+ class CompensationFilter implements ICompensationFilter {
+
+ /**
+ * Constructs a new CompensationFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICompensationFilter);
+
+ /** CompensationFilter type. */
+ public type: (google.cloud.talent.v4.CompensationFilter.FilterType|keyof typeof google.cloud.talent.v4.CompensationFilter.FilterType);
+
+ /** CompensationFilter units. */
+ public units: google.cloud.talent.v4.CompensationInfo.CompensationUnit[];
+
+ /** CompensationFilter range. */
+ public range?: (google.cloud.talent.v4.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationFilter includeJobsWithUnspecifiedCompensationRange. */
+ public includeJobsWithUnspecifiedCompensationRange: boolean;
+
+ /**
+ * Creates a new CompensationFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICompensationFilter): google.cloud.talent.v4.CompensationFilter;
+
+ /**
+ * Encodes the specified CompensationFilter message. Does not implicitly {@link google.cloud.talent.v4.CompensationFilter.verify|verify} messages.
+ * @param message CompensationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICompensationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationFilter.verify|verify} messages.
+ * @param message CompensationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICompensationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationFilter
+ * @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.cloud.talent.v4.CompensationFilter;
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationFilter
+ * @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.cloud.talent.v4.CompensationFilter;
+
+ /**
+ * Verifies a CompensationFilter 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 CompensationFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CompensationFilter;
+
+ /**
+ * Creates a plain object from a CompensationFilter message. Also converts values to other types if specified.
+ * @param message CompensationFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CompensationFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompensationFilter {
+
+ /** FilterType enum. */
+ enum FilterType {
+ FILTER_TYPE_UNSPECIFIED = 0,
+ UNIT_ONLY = 1,
+ UNIT_AND_AMOUNT = 2,
+ ANNUALIZED_BASE_AMOUNT = 3,
+ ANNUALIZED_TOTAL_AMOUNT = 4
+ }
+ }
+
+ /** Properties of a CommuteFilter. */
+ interface ICommuteFilter {
+
+ /** CommuteFilter commuteMethod */
+ commuteMethod?: (google.cloud.talent.v4.CommuteMethod|keyof typeof google.cloud.talent.v4.CommuteMethod|null);
+
+ /** CommuteFilter startCoordinates */
+ startCoordinates?: (google.type.ILatLng|null);
+
+ /** CommuteFilter travelDuration */
+ travelDuration?: (google.protobuf.IDuration|null);
+
+ /** CommuteFilter allowImpreciseAddresses */
+ allowImpreciseAddresses?: (boolean|null);
+
+ /** CommuteFilter roadTraffic */
+ roadTraffic?: (google.cloud.talent.v4.CommuteFilter.RoadTraffic|keyof typeof google.cloud.talent.v4.CommuteFilter.RoadTraffic|null);
+
+ /** CommuteFilter departureTime */
+ departureTime?: (google.type.ITimeOfDay|null);
+ }
+
+ /** Represents a CommuteFilter. */
+ class CommuteFilter implements ICommuteFilter {
+
+ /**
+ * Constructs a new CommuteFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICommuteFilter);
+
+ /** CommuteFilter commuteMethod. */
+ public commuteMethod: (google.cloud.talent.v4.CommuteMethod|keyof typeof google.cloud.talent.v4.CommuteMethod);
+
+ /** CommuteFilter startCoordinates. */
+ public startCoordinates?: (google.type.ILatLng|null);
+
+ /** CommuteFilter travelDuration. */
+ public travelDuration?: (google.protobuf.IDuration|null);
+
+ /** CommuteFilter allowImpreciseAddresses. */
+ public allowImpreciseAddresses: boolean;
+
+ /** CommuteFilter roadTraffic. */
+ public roadTraffic?: (google.cloud.talent.v4.CommuteFilter.RoadTraffic|keyof typeof google.cloud.talent.v4.CommuteFilter.RoadTraffic|null);
+
+ /** CommuteFilter departureTime. */
+ public departureTime?: (google.type.ITimeOfDay|null);
+
+ /** CommuteFilter trafficOption. */
+ public trafficOption?: ("roadTraffic"|"departureTime");
+
+ /**
+ * Creates a new CommuteFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommuteFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICommuteFilter): google.cloud.talent.v4.CommuteFilter;
+
+ /**
+ * Encodes the specified CommuteFilter message. Does not implicitly {@link google.cloud.talent.v4.CommuteFilter.verify|verify} messages.
+ * @param message CommuteFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICommuteFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommuteFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CommuteFilter.verify|verify} messages.
+ * @param message CommuteFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICommuteFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommuteFilter
+ * @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.cloud.talent.v4.CommuteFilter;
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommuteFilter
+ * @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.cloud.talent.v4.CommuteFilter;
+
+ /**
+ * Verifies a CommuteFilter 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 CommuteFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommuteFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CommuteFilter;
+
+ /**
+ * Creates a plain object from a CommuteFilter message. Also converts values to other types if specified.
+ * @param message CommuteFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CommuteFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommuteFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommuteFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CommuteFilter {
+
+ /** RoadTraffic enum. */
+ enum RoadTraffic {
+ ROAD_TRAFFIC_UNSPECIFIED = 0,
+ TRAFFIC_FREE = 1,
+ BUSY_HOUR = 2
+ }
+ }
+
+ /** Properties of a HistogramQuery. */
+ interface IHistogramQuery {
+
+ /** HistogramQuery histogramQuery */
+ histogramQuery?: (string|null);
+ }
+
+ /** Represents a HistogramQuery. */
+ class HistogramQuery implements IHistogramQuery {
+
+ /**
+ * Constructs a new HistogramQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IHistogramQuery);
+
+ /** HistogramQuery histogramQuery. */
+ public histogramQuery: string;
+
+ /**
+ * Creates a new HistogramQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HistogramQuery instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IHistogramQuery): google.cloud.talent.v4.HistogramQuery;
+
+ /**
+ * Encodes the specified HistogramQuery message. Does not implicitly {@link google.cloud.talent.v4.HistogramQuery.verify|verify} messages.
+ * @param message HistogramQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IHistogramQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HistogramQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4.HistogramQuery.verify|verify} messages.
+ * @param message HistogramQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IHistogramQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HistogramQuery
+ * @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.cloud.talent.v4.HistogramQuery;
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HistogramQuery
+ * @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.cloud.talent.v4.HistogramQuery;
+
+ /**
+ * Verifies a HistogramQuery 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 HistogramQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HistogramQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.HistogramQuery;
+
+ /**
+ * Creates a plain object from a HistogramQuery message. Also converts values to other types if specified.
+ * @param message HistogramQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.HistogramQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HistogramQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HistogramQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HistogramQueryResult. */
+ interface IHistogramQueryResult {
+
+ /** HistogramQueryResult histogramQuery */
+ histogramQuery?: (string|null);
+
+ /** HistogramQueryResult histogram */
+ histogram?: ({ [k: string]: (number|Long|string) }|null);
+ }
+
+ /** Represents a HistogramQueryResult. */
+ class HistogramQueryResult implements IHistogramQueryResult {
+
+ /**
+ * Constructs a new HistogramQueryResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IHistogramQueryResult);
+
+ /** HistogramQueryResult histogramQuery. */
+ public histogramQuery: string;
+
+ /** HistogramQueryResult histogram. */
+ public histogram: { [k: string]: (number|Long|string) };
+
+ /**
+ * Creates a new HistogramQueryResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HistogramQueryResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IHistogramQueryResult): google.cloud.talent.v4.HistogramQueryResult;
+
+ /**
+ * Encodes the specified HistogramQueryResult message. Does not implicitly {@link google.cloud.talent.v4.HistogramQueryResult.verify|verify} messages.
+ * @param message HistogramQueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IHistogramQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HistogramQueryResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4.HistogramQueryResult.verify|verify} messages.
+ * @param message HistogramQueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IHistogramQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HistogramQueryResult
+ * @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.cloud.talent.v4.HistogramQueryResult;
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HistogramQueryResult
+ * @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.cloud.talent.v4.HistogramQueryResult;
+
+ /**
+ * Verifies a HistogramQueryResult 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 HistogramQueryResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HistogramQueryResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.HistogramQueryResult;
+
+ /**
+ * Creates a plain object from a HistogramQueryResult message. Also converts values to other types if specified.
+ * @param message HistogramQueryResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.HistogramQueryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HistogramQueryResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HistogramQueryResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Job. */
+ interface IJob {
+
+ /** Job name */
+ name?: (string|null);
+
+ /** Job company */
+ company?: (string|null);
+
+ /** Job requisitionId */
+ requisitionId?: (string|null);
+
+ /** Job title */
+ title?: (string|null);
+
+ /** Job description */
+ description?: (string|null);
+
+ /** Job addresses */
+ addresses?: (string[]|null);
+
+ /** Job applicationInfo */
+ applicationInfo?: (google.cloud.talent.v4.Job.IApplicationInfo|null);
+
+ /** Job jobBenefits */
+ jobBenefits?: (google.cloud.talent.v4.JobBenefit[]|null);
+
+ /** Job compensationInfo */
+ compensationInfo?: (google.cloud.talent.v4.ICompensationInfo|null);
+
+ /** Job customAttributes */
+ customAttributes?: ({ [k: string]: google.cloud.talent.v4.ICustomAttribute }|null);
+
+ /** Job degreeTypes */
+ degreeTypes?: (google.cloud.talent.v4.DegreeType[]|null);
+
+ /** Job department */
+ department?: (string|null);
+
+ /** Job employmentTypes */
+ employmentTypes?: (google.cloud.talent.v4.EmploymentType[]|null);
+
+ /** Job incentives */
+ incentives?: (string|null);
+
+ /** Job languageCode */
+ languageCode?: (string|null);
+
+ /** Job jobLevel */
+ jobLevel?: (google.cloud.talent.v4.JobLevel|keyof typeof google.cloud.talent.v4.JobLevel|null);
+
+ /** Job promotionValue */
+ promotionValue?: (number|null);
+
+ /** Job qualifications */
+ qualifications?: (string|null);
+
+ /** Job responsibilities */
+ responsibilities?: (string|null);
+
+ /** Job postingRegion */
+ postingRegion?: (google.cloud.talent.v4.PostingRegion|keyof typeof google.cloud.talent.v4.PostingRegion|null);
+
+ /** Job visibility */
+ visibility?: (google.cloud.talent.v4.Visibility|keyof typeof google.cloud.talent.v4.Visibility|null);
+
+ /** Job jobStartTime */
+ jobStartTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job jobEndTime */
+ jobEndTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingPublishTime */
+ postingPublishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingExpireTime */
+ postingExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingCreateTime */
+ postingCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingUpdateTime */
+ postingUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job companyDisplayName */
+ companyDisplayName?: (string|null);
+
+ /** Job derivedInfo */
+ derivedInfo?: (google.cloud.talent.v4.Job.IDerivedInfo|null);
+
+ /** Job processingOptions */
+ processingOptions?: (google.cloud.talent.v4.Job.IProcessingOptions|null);
+ }
+
+ /** Represents a Job. */
+ class Job implements IJob {
+
+ /**
+ * Constructs a new Job.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IJob);
+
+ /** Job name. */
+ public name: string;
+
+ /** Job company. */
+ public company: string;
+
+ /** Job requisitionId. */
+ public requisitionId: string;
+
+ /** Job title. */
+ public title: string;
+
+ /** Job description. */
+ public description: string;
+
+ /** Job addresses. */
+ public addresses: string[];
+
+ /** Job applicationInfo. */
+ public applicationInfo?: (google.cloud.talent.v4.Job.IApplicationInfo|null);
+
+ /** Job jobBenefits. */
+ public jobBenefits: google.cloud.talent.v4.JobBenefit[];
+
+ /** Job compensationInfo. */
+ public compensationInfo?: (google.cloud.talent.v4.ICompensationInfo|null);
+
+ /** Job customAttributes. */
+ public customAttributes: { [k: string]: google.cloud.talent.v4.ICustomAttribute };
+
+ /** Job degreeTypes. */
+ public degreeTypes: google.cloud.talent.v4.DegreeType[];
+
+ /** Job department. */
+ public department: string;
+
+ /** Job employmentTypes. */
+ public employmentTypes: google.cloud.talent.v4.EmploymentType[];
+
+ /** Job incentives. */
+ public incentives: string;
+
+ /** Job languageCode. */
+ public languageCode: string;
+
+ /** Job jobLevel. */
+ public jobLevel: (google.cloud.talent.v4.JobLevel|keyof typeof google.cloud.talent.v4.JobLevel);
+
+ /** Job promotionValue. */
+ public promotionValue: number;
+
+ /** Job qualifications. */
+ public qualifications: string;
+
+ /** Job responsibilities. */
+ public responsibilities: string;
+
+ /** Job postingRegion. */
+ public postingRegion: (google.cloud.talent.v4.PostingRegion|keyof typeof google.cloud.talent.v4.PostingRegion);
+
+ /** Job visibility. */
+ public visibility: (google.cloud.talent.v4.Visibility|keyof typeof google.cloud.talent.v4.Visibility);
+
+ /** Job jobStartTime. */
+ public jobStartTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job jobEndTime. */
+ public jobEndTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingPublishTime. */
+ public postingPublishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingExpireTime. */
+ public postingExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingCreateTime. */
+ public postingCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingUpdateTime. */
+ public postingUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job companyDisplayName. */
+ public companyDisplayName: string;
+
+ /** Job derivedInfo. */
+ public derivedInfo?: (google.cloud.talent.v4.Job.IDerivedInfo|null);
+
+ /** Job processingOptions. */
+ public processingOptions?: (google.cloud.talent.v4.Job.IProcessingOptions|null);
+
+ /**
+ * Creates a new Job instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Job instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IJob): google.cloud.talent.v4.Job;
+
+ /**
+ * Encodes the specified Job message. Does not implicitly {@link google.cloud.talent.v4.Job.verify|verify} messages.
+ * @param message Job message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Job message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.verify|verify} messages.
+ * @param message Job message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Job message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Job
+ * @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.cloud.talent.v4.Job;
+
+ /**
+ * Decodes a Job message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Job
+ * @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.cloud.talent.v4.Job;
+
+ /**
+ * Verifies a Job 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 Job message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Job
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Job;
+
+ /**
+ * Creates a plain object from a Job message. Also converts values to other types if specified.
+ * @param message Job
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Job, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Job to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Job
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Job {
+
+ /** Properties of an ApplicationInfo. */
+ interface IApplicationInfo {
+
+ /** ApplicationInfo emails */
+ emails?: (string[]|null);
+
+ /** ApplicationInfo instruction */
+ instruction?: (string|null);
+
+ /** ApplicationInfo uris */
+ uris?: (string[]|null);
+ }
+
+ /** Represents an ApplicationInfo. */
+ class ApplicationInfo implements IApplicationInfo {
+
+ /**
+ * Constructs a new ApplicationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.Job.IApplicationInfo);
+
+ /** ApplicationInfo emails. */
+ public emails: string[];
+
+ /** ApplicationInfo instruction. */
+ public instruction: string;
+
+ /** ApplicationInfo uris. */
+ public uris: string[];
+
+ /**
+ * Creates a new ApplicationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ApplicationInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.Job.IApplicationInfo): google.cloud.talent.v4.Job.ApplicationInfo;
+
+ /**
+ * Encodes the specified ApplicationInfo message. Does not implicitly {@link google.cloud.talent.v4.Job.ApplicationInfo.verify|verify} messages.
+ * @param message ApplicationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.Job.IApplicationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ApplicationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.ApplicationInfo.verify|verify} messages.
+ * @param message ApplicationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.Job.IApplicationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ApplicationInfo
+ * @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.cloud.talent.v4.Job.ApplicationInfo;
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ApplicationInfo
+ * @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.cloud.talent.v4.Job.ApplicationInfo;
+
+ /**
+ * Verifies an ApplicationInfo 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 ApplicationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ApplicationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Job.ApplicationInfo;
+
+ /**
+ * Creates a plain object from an ApplicationInfo message. Also converts values to other types if specified.
+ * @param message ApplicationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Job.ApplicationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ApplicationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ApplicationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DerivedInfo. */
+ interface IDerivedInfo {
+
+ /** DerivedInfo locations */
+ locations?: (google.cloud.talent.v4.ILocation[]|null);
+
+ /** DerivedInfo jobCategories */
+ jobCategories?: (google.cloud.talent.v4.JobCategory[]|null);
+ }
+
+ /** Represents a DerivedInfo. */
+ class DerivedInfo implements IDerivedInfo {
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.Job.IDerivedInfo);
+
+ /** DerivedInfo locations. */
+ public locations: google.cloud.talent.v4.ILocation[];
+
+ /** DerivedInfo jobCategories. */
+ public jobCategories: google.cloud.talent.v4.JobCategory[];
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DerivedInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.Job.IDerivedInfo): google.cloud.talent.v4.Job.DerivedInfo;
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4.Job.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.Job.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.Job.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4.Job.DerivedInfo;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4.Job.DerivedInfo;
+
+ /**
+ * Verifies a DerivedInfo 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 DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DerivedInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Job.DerivedInfo;
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @param message DerivedInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Job.DerivedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProcessingOptions. */
+ interface IProcessingOptions {
+
+ /** ProcessingOptions disableStreetAddressResolution */
+ disableStreetAddressResolution?: (boolean|null);
+
+ /** ProcessingOptions htmlSanitization */
+ htmlSanitization?: (google.cloud.talent.v4.HtmlSanitization|keyof typeof google.cloud.talent.v4.HtmlSanitization|null);
+ }
+
+ /** Represents a ProcessingOptions. */
+ class ProcessingOptions implements IProcessingOptions {
+
+ /**
+ * Constructs a new ProcessingOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.Job.IProcessingOptions);
+
+ /** ProcessingOptions disableStreetAddressResolution. */
+ public disableStreetAddressResolution: boolean;
+
+ /** ProcessingOptions htmlSanitization. */
+ public htmlSanitization: (google.cloud.talent.v4.HtmlSanitization|keyof typeof google.cloud.talent.v4.HtmlSanitization);
+
+ /**
+ * Creates a new ProcessingOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProcessingOptions instance
+ */
+ public static create(properties?: google.cloud.talent.v4.Job.IProcessingOptions): google.cloud.talent.v4.Job.ProcessingOptions;
+
+ /**
+ * Encodes the specified ProcessingOptions message. Does not implicitly {@link google.cloud.talent.v4.Job.ProcessingOptions.verify|verify} messages.
+ * @param message ProcessingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.Job.IProcessingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProcessingOptions message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.ProcessingOptions.verify|verify} messages.
+ * @param message ProcessingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.Job.IProcessingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProcessingOptions
+ * @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.cloud.talent.v4.Job.ProcessingOptions;
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProcessingOptions
+ * @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.cloud.talent.v4.Job.ProcessingOptions;
+
+ /**
+ * Verifies a ProcessingOptions 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 ProcessingOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProcessingOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Job.ProcessingOptions;
+
+ /**
+ * Creates a plain object from a ProcessingOptions message. Also converts values to other types if specified.
+ * @param message ProcessingOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Job.ProcessingOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProcessingOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProcessingOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a JobService */
+ class JobService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new JobService 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 JobService 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): JobService;
+
+ /**
+ * Calls CreateJob.
+ * @param request CreateJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public createJob(request: google.cloud.talent.v4.ICreateJobRequest, callback: google.cloud.talent.v4.JobService.CreateJobCallback): void;
+
+ /**
+ * Calls CreateJob.
+ * @param request CreateJobRequest message or plain object
+ * @returns Promise
+ */
+ public createJob(request: google.cloud.talent.v4.ICreateJobRequest): Promise;
+
+ /**
+ * Calls BatchCreateJobs.
+ * @param request BatchCreateJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public batchCreateJobs(request: google.cloud.talent.v4.IBatchCreateJobsRequest, callback: google.cloud.talent.v4.JobService.BatchCreateJobsCallback): void;
+
+ /**
+ * Calls BatchCreateJobs.
+ * @param request BatchCreateJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchCreateJobs(request: google.cloud.talent.v4.IBatchCreateJobsRequest): Promise;
+
+ /**
+ * Calls GetJob.
+ * @param request GetJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public getJob(request: google.cloud.talent.v4.IGetJobRequest, callback: google.cloud.talent.v4.JobService.GetJobCallback): void;
+
+ /**
+ * Calls GetJob.
+ * @param request GetJobRequest message or plain object
+ * @returns Promise
+ */
+ public getJob(request: google.cloud.talent.v4.IGetJobRequest): Promise;
+
+ /**
+ * Calls UpdateJob.
+ * @param request UpdateJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public updateJob(request: google.cloud.talent.v4.IUpdateJobRequest, callback: google.cloud.talent.v4.JobService.UpdateJobCallback): void;
+
+ /**
+ * Calls UpdateJob.
+ * @param request UpdateJobRequest message or plain object
+ * @returns Promise
+ */
+ public updateJob(request: google.cloud.talent.v4.IUpdateJobRequest): Promise;
+
+ /**
+ * Calls BatchUpdateJobs.
+ * @param request BatchUpdateJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public batchUpdateJobs(request: google.cloud.talent.v4.IBatchUpdateJobsRequest, callback: google.cloud.talent.v4.JobService.BatchUpdateJobsCallback): void;
+
+ /**
+ * Calls BatchUpdateJobs.
+ * @param request BatchUpdateJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchUpdateJobs(request: google.cloud.talent.v4.IBatchUpdateJobsRequest): Promise;
+
+ /**
+ * Calls DeleteJob.
+ * @param request DeleteJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteJob(request: google.cloud.talent.v4.IDeleteJobRequest, callback: google.cloud.talent.v4.JobService.DeleteJobCallback): void;
+
+ /**
+ * Calls DeleteJob.
+ * @param request DeleteJobRequest message or plain object
+ * @returns Promise
+ */
+ public deleteJob(request: google.cloud.talent.v4.IDeleteJobRequest): Promise;
+
+ /**
+ * Calls BatchDeleteJobs.
+ * @param request BatchDeleteJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public batchDeleteJobs(request: google.cloud.talent.v4.IBatchDeleteJobsRequest, callback: google.cloud.talent.v4.JobService.BatchDeleteJobsCallback): void;
+
+ /**
+ * Calls BatchDeleteJobs.
+ * @param request BatchDeleteJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchDeleteJobs(request: google.cloud.talent.v4.IBatchDeleteJobsRequest): Promise;
+
+ /**
+ * Calls ListJobs.
+ * @param request ListJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListJobsResponse
+ */
+ public listJobs(request: google.cloud.talent.v4.IListJobsRequest, callback: google.cloud.talent.v4.JobService.ListJobsCallback): void;
+
+ /**
+ * Calls ListJobs.
+ * @param request ListJobsRequest message or plain object
+ * @returns Promise
+ */
+ public listJobs(request: google.cloud.talent.v4.IListJobsRequest): Promise;
+
+ /**
+ * Calls SearchJobs.
+ * @param request SearchJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchJobsResponse
+ */
+ public searchJobs(request: google.cloud.talent.v4.ISearchJobsRequest, callback: google.cloud.talent.v4.JobService.SearchJobsCallback): void;
+
+ /**
+ * Calls SearchJobs.
+ * @param request SearchJobsRequest message or plain object
+ * @returns Promise
+ */
+ public searchJobs(request: google.cloud.talent.v4.ISearchJobsRequest): Promise;
+
+ /**
+ * Calls SearchJobsForAlert.
+ * @param request SearchJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchJobsResponse
+ */
+ public searchJobsForAlert(request: google.cloud.talent.v4.ISearchJobsRequest, callback: google.cloud.talent.v4.JobService.SearchJobsForAlertCallback): void;
+
+ /**
+ * Calls SearchJobsForAlert.
+ * @param request SearchJobsRequest message or plain object
+ * @returns Promise
+ */
+ public searchJobsForAlert(request: google.cloud.talent.v4.ISearchJobsRequest): Promise;
+ }
+
+ namespace JobService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|createJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type CreateJobCallback = (error: (Error|null), response?: google.cloud.talent.v4.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|batchCreateJobs}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type BatchCreateJobsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|getJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type GetJobCallback = (error: (Error|null), response?: google.cloud.talent.v4.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|updateJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type UpdateJobCallback = (error: (Error|null), response?: google.cloud.talent.v4.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|batchUpdateJobs}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type BatchUpdateJobsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|deleteJob}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteJobCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|batchDeleteJobs}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type BatchDeleteJobsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|listJobs}.
+ * @param error Error, if any
+ * @param [response] ListJobsResponse
+ */
+ type ListJobsCallback = (error: (Error|null), response?: google.cloud.talent.v4.ListJobsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|searchJobs}.
+ * @param error Error, if any
+ * @param [response] SearchJobsResponse
+ */
+ type SearchJobsCallback = (error: (Error|null), response?: google.cloud.talent.v4.SearchJobsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.JobService|searchJobsForAlert}.
+ * @param error Error, if any
+ * @param [response] SearchJobsResponse
+ */
+ type SearchJobsForAlertCallback = (error: (Error|null), response?: google.cloud.talent.v4.SearchJobsResponse) => void;
+ }
+
+ /** Properties of a CreateJobRequest. */
+ interface ICreateJobRequest {
+
+ /** CreateJobRequest parent */
+ parent?: (string|null);
+
+ /** CreateJobRequest job */
+ job?: (google.cloud.talent.v4.IJob|null);
+ }
+
+ /** Represents a CreateJobRequest. */
+ class CreateJobRequest implements ICreateJobRequest {
+
+ /**
+ * Constructs a new CreateJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICreateJobRequest);
+
+ /** CreateJobRequest parent. */
+ public parent: string;
+
+ /** CreateJobRequest job. */
+ public job?: (google.cloud.talent.v4.IJob|null);
+
+ /**
+ * Creates a new CreateJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICreateJobRequest): google.cloud.talent.v4.CreateJobRequest;
+
+ /**
+ * Encodes the specified CreateJobRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateJobRequest.verify|verify} messages.
+ * @param message CreateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICreateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateJobRequest.verify|verify} messages.
+ * @param message CreateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICreateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateJobRequest
+ * @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.cloud.talent.v4.CreateJobRequest;
+
+ /**
+ * Decodes a CreateJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateJobRequest
+ * @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.cloud.talent.v4.CreateJobRequest;
+
+ /**
+ * Verifies a CreateJobRequest 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 CreateJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CreateJobRequest;
+
+ /**
+ * Creates a plain object from a CreateJobRequest message. Also converts values to other types if specified.
+ * @param message CreateJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CreateJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetJobRequest. */
+ interface IGetJobRequest {
+
+ /** GetJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetJobRequest. */
+ class GetJobRequest implements IGetJobRequest {
+
+ /**
+ * Constructs a new GetJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IGetJobRequest);
+
+ /** GetJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IGetJobRequest): google.cloud.talent.v4.GetJobRequest;
+
+ /**
+ * Encodes the specified GetJobRequest message. Does not implicitly {@link google.cloud.talent.v4.GetJobRequest.verify|verify} messages.
+ * @param message GetJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IGetJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.GetJobRequest.verify|verify} messages.
+ * @param message GetJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IGetJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetJobRequest
+ * @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.cloud.talent.v4.GetJobRequest;
+
+ /**
+ * Decodes a GetJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetJobRequest
+ * @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.cloud.talent.v4.GetJobRequest;
+
+ /**
+ * Verifies a GetJobRequest 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 GetJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.GetJobRequest;
+
+ /**
+ * Creates a plain object from a GetJobRequest message. Also converts values to other types if specified.
+ * @param message GetJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.GetJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateJobRequest. */
+ interface IUpdateJobRequest {
+
+ /** UpdateJobRequest job */
+ job?: (google.cloud.talent.v4.IJob|null);
+
+ /** UpdateJobRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateJobRequest. */
+ class UpdateJobRequest implements IUpdateJobRequest {
+
+ /**
+ * Constructs a new UpdateJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IUpdateJobRequest);
+
+ /** UpdateJobRequest job. */
+ public job?: (google.cloud.talent.v4.IJob|null);
+
+ /** UpdateJobRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IUpdateJobRequest): google.cloud.talent.v4.UpdateJobRequest;
+
+ /**
+ * Encodes the specified UpdateJobRequest message. Does not implicitly {@link google.cloud.talent.v4.UpdateJobRequest.verify|verify} messages.
+ * @param message UpdateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IUpdateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.UpdateJobRequest.verify|verify} messages.
+ * @param message UpdateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IUpdateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateJobRequest
+ * @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.cloud.talent.v4.UpdateJobRequest;
+
+ /**
+ * Decodes an UpdateJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateJobRequest
+ * @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.cloud.talent.v4.UpdateJobRequest;
+
+ /**
+ * Verifies an UpdateJobRequest 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 UpdateJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.UpdateJobRequest;
+
+ /**
+ * Creates a plain object from an UpdateJobRequest message. Also converts values to other types if specified.
+ * @param message UpdateJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.UpdateJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteJobRequest. */
+ interface IDeleteJobRequest {
+
+ /** DeleteJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteJobRequest. */
+ class DeleteJobRequest implements IDeleteJobRequest {
+
+ /**
+ * Constructs a new DeleteJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IDeleteJobRequest);
+
+ /** DeleteJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IDeleteJobRequest): google.cloud.talent.v4.DeleteJobRequest;
+
+ /**
+ * Encodes the specified DeleteJobRequest message. Does not implicitly {@link google.cloud.talent.v4.DeleteJobRequest.verify|verify} messages.
+ * @param message DeleteJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IDeleteJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeleteJobRequest.verify|verify} messages.
+ * @param message DeleteJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IDeleteJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteJobRequest
+ * @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.cloud.talent.v4.DeleteJobRequest;
+
+ /**
+ * Decodes a DeleteJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteJobRequest
+ * @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.cloud.talent.v4.DeleteJobRequest;
+
+ /**
+ * Verifies a DeleteJobRequest 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 DeleteJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.DeleteJobRequest;
+
+ /**
+ * Creates a plain object from a DeleteJobRequest message. Also converts values to other types if specified.
+ * @param message DeleteJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.DeleteJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** JobView enum. */
+ enum JobView {
+ JOB_VIEW_UNSPECIFIED = 0,
+ JOB_VIEW_ID_ONLY = 1,
+ JOB_VIEW_MINIMAL = 2,
+ JOB_VIEW_SMALL = 3,
+ JOB_VIEW_FULL = 4
+ }
+
+ /** Properties of a ListJobsRequest. */
+ interface IListJobsRequest {
+
+ /** ListJobsRequest parent */
+ parent?: (string|null);
+
+ /** ListJobsRequest filter */
+ filter?: (string|null);
+
+ /** ListJobsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListJobsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListJobsRequest jobView */
+ jobView?: (google.cloud.talent.v4.JobView|keyof typeof google.cloud.talent.v4.JobView|null);
+ }
+
+ /** Represents a ListJobsRequest. */
+ class ListJobsRequest implements IListJobsRequest {
+
+ /**
+ * Constructs a new ListJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListJobsRequest);
+
+ /** ListJobsRequest parent. */
+ public parent: string;
+
+ /** ListJobsRequest filter. */
+ public filter: string;
+
+ /** ListJobsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListJobsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListJobsRequest jobView. */
+ public jobView: (google.cloud.talent.v4.JobView|keyof typeof google.cloud.talent.v4.JobView);
+
+ /**
+ * Creates a new ListJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListJobsRequest): google.cloud.talent.v4.ListJobsRequest;
+
+ /**
+ * Encodes the specified ListJobsRequest message. Does not implicitly {@link google.cloud.talent.v4.ListJobsRequest.verify|verify} messages.
+ * @param message ListJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListJobsRequest.verify|verify} messages.
+ * @param message ListJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobsRequest
+ * @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.cloud.talent.v4.ListJobsRequest;
+
+ /**
+ * Decodes a ListJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobsRequest
+ * @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.cloud.talent.v4.ListJobsRequest;
+
+ /**
+ * Verifies a ListJobsRequest 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 ListJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListJobsRequest;
+
+ /**
+ * Creates a plain object from a ListJobsRequest message. Also converts values to other types if specified.
+ * @param message ListJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListJobsResponse. */
+ interface IListJobsResponse {
+
+ /** ListJobsResponse jobs */
+ jobs?: (google.cloud.talent.v4.IJob[]|null);
+
+ /** ListJobsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListJobsResponse metadata */
+ metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+ }
+
+ /** Represents a ListJobsResponse. */
+ class ListJobsResponse implements IListJobsResponse {
+
+ /**
+ * Constructs a new ListJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListJobsResponse);
+
+ /** ListJobsResponse jobs. */
+ public jobs: google.cloud.talent.v4.IJob[];
+
+ /** ListJobsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListJobsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListJobsResponse): google.cloud.talent.v4.ListJobsResponse;
+
+ /**
+ * Encodes the specified ListJobsResponse message. Does not implicitly {@link google.cloud.talent.v4.ListJobsResponse.verify|verify} messages.
+ * @param message ListJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListJobsResponse.verify|verify} messages.
+ * @param message ListJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobsResponse
+ * @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.cloud.talent.v4.ListJobsResponse;
+
+ /**
+ * Decodes a ListJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobsResponse
+ * @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.cloud.talent.v4.ListJobsResponse;
+
+ /**
+ * Verifies a ListJobsResponse 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 ListJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListJobsResponse;
+
+ /**
+ * Creates a plain object from a ListJobsResponse message. Also converts values to other types if specified.
+ * @param message ListJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchJobsRequest. */
+ interface ISearchJobsRequest {
+
+ /** SearchJobsRequest parent */
+ parent?: (string|null);
+
+ /** SearchJobsRequest searchMode */
+ searchMode?: (google.cloud.talent.v4.SearchJobsRequest.SearchMode|keyof typeof google.cloud.talent.v4.SearchJobsRequest.SearchMode|null);
+
+ /** SearchJobsRequest requestMetadata */
+ requestMetadata?: (google.cloud.talent.v4.IRequestMetadata|null);
+
+ /** SearchJobsRequest jobQuery */
+ jobQuery?: (google.cloud.talent.v4.IJobQuery|null);
+
+ /** SearchJobsRequest enableBroadening */
+ enableBroadening?: (boolean|null);
+
+ /** SearchJobsRequest histogramQueries */
+ histogramQueries?: (google.cloud.talent.v4.IHistogramQuery[]|null);
+
+ /** SearchJobsRequest jobView */
+ jobView?: (google.cloud.talent.v4.JobView|keyof typeof google.cloud.talent.v4.JobView|null);
+
+ /** SearchJobsRequest offset */
+ offset?: (number|null);
+
+ /** SearchJobsRequest maxPageSize */
+ maxPageSize?: (number|null);
+
+ /** SearchJobsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchJobsRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchJobsRequest diversificationLevel */
+ diversificationLevel?: (google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel|keyof typeof google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel|null);
+
+ /** SearchJobsRequest customRankingInfo */
+ customRankingInfo?: (google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo|null);
+
+ /** SearchJobsRequest disableKeywordMatch */
+ disableKeywordMatch?: (boolean|null);
+
+ /** SearchJobsRequest keywordMatchMode */
+ keywordMatchMode?: (google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode|keyof typeof google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode|null);
+ }
+
+ /** Represents a SearchJobsRequest. */
+ class SearchJobsRequest implements ISearchJobsRequest {
+
+ /**
+ * Constructs a new SearchJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ISearchJobsRequest);
+
+ /** SearchJobsRequest parent. */
+ public parent: string;
+
+ /** SearchJobsRequest searchMode. */
+ public searchMode: (google.cloud.talent.v4.SearchJobsRequest.SearchMode|keyof typeof google.cloud.talent.v4.SearchJobsRequest.SearchMode);
+
+ /** SearchJobsRequest requestMetadata. */
+ public requestMetadata?: (google.cloud.talent.v4.IRequestMetadata|null);
+
+ /** SearchJobsRequest jobQuery. */
+ public jobQuery?: (google.cloud.talent.v4.IJobQuery|null);
+
+ /** SearchJobsRequest enableBroadening. */
+ public enableBroadening: boolean;
+
+ /** SearchJobsRequest histogramQueries. */
+ public histogramQueries: google.cloud.talent.v4.IHistogramQuery[];
+
+ /** SearchJobsRequest jobView. */
+ public jobView: (google.cloud.talent.v4.JobView|keyof typeof google.cloud.talent.v4.JobView);
+
+ /** SearchJobsRequest offset. */
+ public offset: number;
+
+ /** SearchJobsRequest maxPageSize. */
+ public maxPageSize: number;
+
+ /** SearchJobsRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchJobsRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchJobsRequest diversificationLevel. */
+ public diversificationLevel: (google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel|keyof typeof google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel);
+
+ /** SearchJobsRequest customRankingInfo. */
+ public customRankingInfo?: (google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo|null);
+
+ /** SearchJobsRequest disableKeywordMatch. */
+ public disableKeywordMatch: boolean;
+
+ /** SearchJobsRequest keywordMatchMode. */
+ public keywordMatchMode: (google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode|keyof typeof google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode);
+
+ /**
+ * Creates a new SearchJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ISearchJobsRequest): google.cloud.talent.v4.SearchJobsRequest;
+
+ /**
+ * Encodes the specified SearchJobsRequest message. Does not implicitly {@link google.cloud.talent.v4.SearchJobsRequest.verify|verify} messages.
+ * @param message SearchJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ISearchJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SearchJobsRequest.verify|verify} messages.
+ * @param message SearchJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ISearchJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchJobsRequest
+ * @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.cloud.talent.v4.SearchJobsRequest;
+
+ /**
+ * Decodes a SearchJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchJobsRequest
+ * @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.cloud.talent.v4.SearchJobsRequest;
+
+ /**
+ * Verifies a SearchJobsRequest 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 SearchJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SearchJobsRequest;
+
+ /**
+ * Creates a plain object from a SearchJobsRequest message. Also converts values to other types if specified.
+ * @param message SearchJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SearchJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchJobsRequest {
+
+ /** SearchMode enum. */
+ enum SearchMode {
+ SEARCH_MODE_UNSPECIFIED = 0,
+ JOB_SEARCH = 1,
+ FEATURED_JOB_SEARCH = 2
+ }
+
+ /** DiversificationLevel enum. */
+ enum DiversificationLevel {
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0,
+ DISABLED = 1,
+ SIMPLE = 2,
+ ONE_PER_COMPANY = 3,
+ TWO_PER_COMPANY = 4,
+ DIVERSIFY_BY_LOOSER_SIMILARITY = 5
+ }
+
+ /** KeywordMatchMode enum. */
+ enum KeywordMatchMode {
+ KEYWORD_MATCH_MODE_UNSPECIFIED = 0,
+ KEYWORD_MATCH_DISABLED = 1,
+ KEYWORD_MATCH_ALL = 2,
+ KEYWORD_MATCH_TITLE_ONLY = 3
+ }
+
+ /** Properties of a CustomRankingInfo. */
+ interface ICustomRankingInfo {
+
+ /** CustomRankingInfo importanceLevel */
+ importanceLevel?: (google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|keyof typeof google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|null);
+
+ /** CustomRankingInfo rankingExpression */
+ rankingExpression?: (string|null);
+ }
+
+ /** Represents a CustomRankingInfo. */
+ class CustomRankingInfo implements ICustomRankingInfo {
+
+ /**
+ * Constructs a new CustomRankingInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo);
+
+ /** CustomRankingInfo importanceLevel. */
+ public importanceLevel: (google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|keyof typeof google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel);
+
+ /** CustomRankingInfo rankingExpression. */
+ public rankingExpression: string;
+
+ /**
+ * Creates a new CustomRankingInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomRankingInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo): google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Encodes the specified CustomRankingInfo message. Does not implicitly {@link google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.verify|verify} messages.
+ * @param message CustomRankingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomRankingInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.verify|verify} messages.
+ * @param message CustomRankingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.SearchJobsRequest.ICustomRankingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomRankingInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomRankingInfo
+ * @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.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Decodes a CustomRankingInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomRankingInfo
+ * @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.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Verifies a CustomRankingInfo 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 CustomRankingInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomRankingInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Creates a plain object from a CustomRankingInfo message. Also converts values to other types if specified.
+ * @param message CustomRankingInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomRankingInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomRankingInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CustomRankingInfo {
+
+ /** ImportanceLevel enum. */
+ enum ImportanceLevel {
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0,
+ NONE = 1,
+ LOW = 2,
+ MILD = 3,
+ MEDIUM = 4,
+ HIGH = 5,
+ EXTREME = 6
+ }
+ }
+ }
+
+ /** Properties of a SearchJobsResponse. */
+ interface ISearchJobsResponse {
+
+ /** SearchJobsResponse matchingJobs */
+ matchingJobs?: (google.cloud.talent.v4.SearchJobsResponse.IMatchingJob[]|null);
+
+ /** SearchJobsResponse histogramQueryResults */
+ histogramQueryResults?: (google.cloud.talent.v4.IHistogramQueryResult[]|null);
+
+ /** SearchJobsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** SearchJobsResponse locationFilters */
+ locationFilters?: (google.cloud.talent.v4.ILocation[]|null);
+
+ /** SearchJobsResponse totalSize */
+ totalSize?: (number|null);
+
+ /** SearchJobsResponse metadata */
+ metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /** SearchJobsResponse broadenedQueryJobsCount */
+ broadenedQueryJobsCount?: (number|null);
+
+ /** SearchJobsResponse spellCorrection */
+ spellCorrection?: (google.cloud.talent.v4.ISpellingCorrection|null);
+ }
+
+ /** Represents a SearchJobsResponse. */
+ class SearchJobsResponse implements ISearchJobsResponse {
+
+ /**
+ * Constructs a new SearchJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ISearchJobsResponse);
+
+ /** SearchJobsResponse matchingJobs. */
+ public matchingJobs: google.cloud.talent.v4.SearchJobsResponse.IMatchingJob[];
+
+ /** SearchJobsResponse histogramQueryResults. */
+ public histogramQueryResults: google.cloud.talent.v4.IHistogramQueryResult[];
+
+ /** SearchJobsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** SearchJobsResponse locationFilters. */
+ public locationFilters: google.cloud.talent.v4.ILocation[];
+
+ /** SearchJobsResponse totalSize. */
+ public totalSize: number;
+
+ /** SearchJobsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /** SearchJobsResponse broadenedQueryJobsCount. */
+ public broadenedQueryJobsCount: number;
+
+ /** SearchJobsResponse spellCorrection. */
+ public spellCorrection?: (google.cloud.talent.v4.ISpellingCorrection|null);
+
+ /**
+ * Creates a new SearchJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ISearchJobsResponse): google.cloud.talent.v4.SearchJobsResponse;
+
+ /**
+ * Encodes the specified SearchJobsResponse message. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.verify|verify} messages.
+ * @param message SearchJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ISearchJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.verify|verify} messages.
+ * @param message SearchJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ISearchJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchJobsResponse
+ * @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.cloud.talent.v4.SearchJobsResponse;
+
+ /**
+ * Decodes a SearchJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchJobsResponse
+ * @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.cloud.talent.v4.SearchJobsResponse;
+
+ /**
+ * Verifies a SearchJobsResponse 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 SearchJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SearchJobsResponse;
+
+ /**
+ * Creates a plain object from a SearchJobsResponse message. Also converts values to other types if specified.
+ * @param message SearchJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SearchJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchJobsResponse {
+
+ /** Properties of a MatchingJob. */
+ interface IMatchingJob {
+
+ /** MatchingJob job */
+ job?: (google.cloud.talent.v4.IJob|null);
+
+ /** MatchingJob jobSummary */
+ jobSummary?: (string|null);
+
+ /** MatchingJob jobTitleSnippet */
+ jobTitleSnippet?: (string|null);
+
+ /** MatchingJob searchTextSnippet */
+ searchTextSnippet?: (string|null);
+
+ /** MatchingJob commuteInfo */
+ commuteInfo?: (google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo|null);
+ }
+
+ /** Represents a MatchingJob. */
+ class MatchingJob implements IMatchingJob {
+
+ /**
+ * Constructs a new MatchingJob.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.SearchJobsResponse.IMatchingJob);
+
+ /** MatchingJob job. */
+ public job?: (google.cloud.talent.v4.IJob|null);
+
+ /** MatchingJob jobSummary. */
+ public jobSummary: string;
+
+ /** MatchingJob jobTitleSnippet. */
+ public jobTitleSnippet: string;
+
+ /** MatchingJob searchTextSnippet. */
+ public searchTextSnippet: string;
+
+ /** MatchingJob commuteInfo. */
+ public commuteInfo?: (google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo|null);
+
+ /**
+ * Creates a new MatchingJob instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MatchingJob instance
+ */
+ public static create(properties?: google.cloud.talent.v4.SearchJobsResponse.IMatchingJob): google.cloud.talent.v4.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Encodes the specified MatchingJob message. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.MatchingJob.verify|verify} messages.
+ * @param message MatchingJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.SearchJobsResponse.IMatchingJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MatchingJob message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.MatchingJob.verify|verify} messages.
+ * @param message MatchingJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.SearchJobsResponse.IMatchingJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MatchingJob message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MatchingJob
+ * @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.cloud.talent.v4.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Decodes a MatchingJob message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MatchingJob
+ * @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.cloud.talent.v4.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Verifies a MatchingJob 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 MatchingJob message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MatchingJob
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Creates a plain object from a MatchingJob message. Also converts values to other types if specified.
+ * @param message MatchingJob
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SearchJobsResponse.MatchingJob, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MatchingJob to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MatchingJob
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommuteInfo. */
+ interface ICommuteInfo {
+
+ /** CommuteInfo jobLocation */
+ jobLocation?: (google.cloud.talent.v4.ILocation|null);
+
+ /** CommuteInfo travelDuration */
+ travelDuration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a CommuteInfo. */
+ class CommuteInfo implements ICommuteInfo {
+
+ /**
+ * Constructs a new CommuteInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo);
+
+ /** CommuteInfo jobLocation. */
+ public jobLocation?: (google.cloud.talent.v4.ILocation|null);
+
+ /** CommuteInfo travelDuration. */
+ public travelDuration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new CommuteInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommuteInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo): google.cloud.talent.v4.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Encodes the specified CommuteInfo message. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.CommuteInfo.verify|verify} messages.
+ * @param message CommuteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommuteInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SearchJobsResponse.CommuteInfo.verify|verify} messages.
+ * @param message CommuteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.SearchJobsResponse.ICommuteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommuteInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommuteInfo
+ * @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.cloud.talent.v4.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Decodes a CommuteInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommuteInfo
+ * @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.cloud.talent.v4.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Verifies a CommuteInfo 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 CommuteInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommuteInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Creates a plain object from a CommuteInfo message. Also converts values to other types if specified.
+ * @param message CommuteInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.SearchJobsResponse.CommuteInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommuteInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommuteInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a BatchCreateJobsRequest. */
+ interface IBatchCreateJobsRequest {
+
+ /** BatchCreateJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchCreateJobsRequest jobs */
+ jobs?: (google.cloud.talent.v4.IJob[]|null);
+ }
+
+ /** Represents a BatchCreateJobsRequest. */
+ class BatchCreateJobsRequest implements IBatchCreateJobsRequest {
+
+ /**
+ * Constructs a new BatchCreateJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchCreateJobsRequest);
+
+ /** BatchCreateJobsRequest parent. */
+ public parent: string;
+
+ /** BatchCreateJobsRequest jobs. */
+ public jobs: google.cloud.talent.v4.IJob[];
+
+ /**
+ * Creates a new BatchCreateJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchCreateJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchCreateJobsRequest): google.cloud.talent.v4.BatchCreateJobsRequest;
+
+ /**
+ * Encodes the specified BatchCreateJobsRequest message. Does not implicitly {@link google.cloud.talent.v4.BatchCreateJobsRequest.verify|verify} messages.
+ * @param message BatchCreateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchCreateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchCreateJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchCreateJobsRequest.verify|verify} messages.
+ * @param message BatchCreateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchCreateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchCreateJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchCreateJobsRequest
+ * @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.cloud.talent.v4.BatchCreateJobsRequest;
+
+ /**
+ * Decodes a BatchCreateJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchCreateJobsRequest
+ * @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.cloud.talent.v4.BatchCreateJobsRequest;
+
+ /**
+ * Verifies a BatchCreateJobsRequest 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 BatchCreateJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchCreateJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchCreateJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchCreateJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchCreateJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchCreateJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchCreateJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchCreateJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchUpdateJobsRequest. */
+ interface IBatchUpdateJobsRequest {
+
+ /** BatchUpdateJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchUpdateJobsRequest jobs */
+ jobs?: (google.cloud.talent.v4.IJob[]|null);
+
+ /** BatchUpdateJobsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a BatchUpdateJobsRequest. */
+ class BatchUpdateJobsRequest implements IBatchUpdateJobsRequest {
+
+ /**
+ * Constructs a new BatchUpdateJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchUpdateJobsRequest);
+
+ /** BatchUpdateJobsRequest parent. */
+ public parent: string;
+
+ /** BatchUpdateJobsRequest jobs. */
+ public jobs: google.cloud.talent.v4.IJob[];
+
+ /** BatchUpdateJobsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new BatchUpdateJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchUpdateJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchUpdateJobsRequest): google.cloud.talent.v4.BatchUpdateJobsRequest;
+
+ /**
+ * Encodes the specified BatchUpdateJobsRequest message. Does not implicitly {@link google.cloud.talent.v4.BatchUpdateJobsRequest.verify|verify} messages.
+ * @param message BatchUpdateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchUpdateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchUpdateJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchUpdateJobsRequest.verify|verify} messages.
+ * @param message BatchUpdateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchUpdateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchUpdateJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchUpdateJobsRequest
+ * @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.cloud.talent.v4.BatchUpdateJobsRequest;
+
+ /**
+ * Decodes a BatchUpdateJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchUpdateJobsRequest
+ * @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.cloud.talent.v4.BatchUpdateJobsRequest;
+
+ /**
+ * Verifies a BatchUpdateJobsRequest 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 BatchUpdateJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchUpdateJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchUpdateJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchUpdateJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchUpdateJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchUpdateJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchUpdateJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchUpdateJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchDeleteJobsRequest. */
+ interface IBatchDeleteJobsRequest {
+
+ /** BatchDeleteJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchDeleteJobsRequest names */
+ names?: (string[]|null);
+ }
+
+ /** Represents a BatchDeleteJobsRequest. */
+ class BatchDeleteJobsRequest implements IBatchDeleteJobsRequest {
+
+ /**
+ * Constructs a new BatchDeleteJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchDeleteJobsRequest);
+
+ /** BatchDeleteJobsRequest parent. */
+ public parent: string;
+
+ /** BatchDeleteJobsRequest names. */
+ public names: string[];
+
+ /**
+ * Creates a new BatchDeleteJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchDeleteJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchDeleteJobsRequest): google.cloud.talent.v4.BatchDeleteJobsRequest;
+
+ /**
+ * Encodes the specified BatchDeleteJobsRequest message. Does not implicitly {@link google.cloud.talent.v4.BatchDeleteJobsRequest.verify|verify} messages.
+ * @param message BatchDeleteJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchDeleteJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchDeleteJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchDeleteJobsRequest.verify|verify} messages.
+ * @param message BatchDeleteJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchDeleteJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchDeleteJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchDeleteJobsRequest
+ * @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.cloud.talent.v4.BatchDeleteJobsRequest;
+
+ /**
+ * Decodes a BatchDeleteJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchDeleteJobsRequest
+ * @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.cloud.talent.v4.BatchDeleteJobsRequest;
+
+ /**
+ * Verifies a BatchDeleteJobsRequest 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 BatchDeleteJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchDeleteJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchDeleteJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchDeleteJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchDeleteJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchDeleteJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchDeleteJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchDeleteJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobResult. */
+ interface IJobResult {
+
+ /** JobResult job */
+ job?: (google.cloud.talent.v4.IJob|null);
+
+ /** JobResult status */
+ status?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a JobResult. */
+ class JobResult implements IJobResult {
+
+ /**
+ * Constructs a new JobResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IJobResult);
+
+ /** JobResult job. */
+ public job?: (google.cloud.talent.v4.IJob|null);
+
+ /** JobResult status. */
+ public status?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new JobResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IJobResult): google.cloud.talent.v4.JobResult;
+
+ /**
+ * Encodes the specified JobResult message. Does not implicitly {@link google.cloud.talent.v4.JobResult.verify|verify} messages.
+ * @param message JobResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IJobResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4.JobResult.verify|verify} messages.
+ * @param message JobResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IJobResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobResult
+ * @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.cloud.talent.v4.JobResult;
+
+ /**
+ * Decodes a JobResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobResult
+ * @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.cloud.talent.v4.JobResult;
+
+ /**
+ * Verifies a JobResult 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 JobResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.JobResult;
+
+ /**
+ * Creates a plain object from a JobResult message. Also converts values to other types if specified.
+ * @param message JobResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.JobResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchCreateJobsResponse. */
+ interface IBatchCreateJobsResponse {
+
+ /** BatchCreateJobsResponse jobResults */
+ jobResults?: (google.cloud.talent.v4.IJobResult[]|null);
+ }
+
+ /** Represents a BatchCreateJobsResponse. */
+ class BatchCreateJobsResponse implements IBatchCreateJobsResponse {
+
+ /**
+ * Constructs a new BatchCreateJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchCreateJobsResponse);
+
+ /** BatchCreateJobsResponse jobResults. */
+ public jobResults: google.cloud.talent.v4.IJobResult[];
+
+ /**
+ * Creates a new BatchCreateJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchCreateJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchCreateJobsResponse): google.cloud.talent.v4.BatchCreateJobsResponse;
+
+ /**
+ * Encodes the specified BatchCreateJobsResponse message. Does not implicitly {@link google.cloud.talent.v4.BatchCreateJobsResponse.verify|verify} messages.
+ * @param message BatchCreateJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchCreateJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchCreateJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchCreateJobsResponse.verify|verify} messages.
+ * @param message BatchCreateJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchCreateJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchCreateJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchCreateJobsResponse
+ * @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.cloud.talent.v4.BatchCreateJobsResponse;
+
+ /**
+ * Decodes a BatchCreateJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchCreateJobsResponse
+ * @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.cloud.talent.v4.BatchCreateJobsResponse;
+
+ /**
+ * Verifies a BatchCreateJobsResponse 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 BatchCreateJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchCreateJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchCreateJobsResponse;
+
+ /**
+ * Creates a plain object from a BatchCreateJobsResponse message. Also converts values to other types if specified.
+ * @param message BatchCreateJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchCreateJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchCreateJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchCreateJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchUpdateJobsResponse. */
+ interface IBatchUpdateJobsResponse {
+
+ /** BatchUpdateJobsResponse jobResults */
+ jobResults?: (google.cloud.talent.v4.IJobResult[]|null);
+ }
+
+ /** Represents a BatchUpdateJobsResponse. */
+ class BatchUpdateJobsResponse implements IBatchUpdateJobsResponse {
+
+ /**
+ * Constructs a new BatchUpdateJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchUpdateJobsResponse);
+
+ /** BatchUpdateJobsResponse jobResults. */
+ public jobResults: google.cloud.talent.v4.IJobResult[];
+
+ /**
+ * Creates a new BatchUpdateJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchUpdateJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchUpdateJobsResponse): google.cloud.talent.v4.BatchUpdateJobsResponse;
+
+ /**
+ * Encodes the specified BatchUpdateJobsResponse message. Does not implicitly {@link google.cloud.talent.v4.BatchUpdateJobsResponse.verify|verify} messages.
+ * @param message BatchUpdateJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchUpdateJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchUpdateJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchUpdateJobsResponse.verify|verify} messages.
+ * @param message BatchUpdateJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchUpdateJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchUpdateJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchUpdateJobsResponse
+ * @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.cloud.talent.v4.BatchUpdateJobsResponse;
+
+ /**
+ * Decodes a BatchUpdateJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchUpdateJobsResponse
+ * @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.cloud.talent.v4.BatchUpdateJobsResponse;
+
+ /**
+ * Verifies a BatchUpdateJobsResponse 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 BatchUpdateJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchUpdateJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchUpdateJobsResponse;
+
+ /**
+ * Creates a plain object from a BatchUpdateJobsResponse message. Also converts values to other types if specified.
+ * @param message BatchUpdateJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchUpdateJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchUpdateJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchUpdateJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchDeleteJobsResponse. */
+ interface IBatchDeleteJobsResponse {
+
+ /** BatchDeleteJobsResponse jobResults */
+ jobResults?: (google.cloud.talent.v4.IJobResult[]|null);
+ }
+
+ /** Represents a BatchDeleteJobsResponse. */
+ class BatchDeleteJobsResponse implements IBatchDeleteJobsResponse {
+
+ /**
+ * Constructs a new BatchDeleteJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IBatchDeleteJobsResponse);
+
+ /** BatchDeleteJobsResponse jobResults. */
+ public jobResults: google.cloud.talent.v4.IJobResult[];
+
+ /**
+ * Creates a new BatchDeleteJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchDeleteJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IBatchDeleteJobsResponse): google.cloud.talent.v4.BatchDeleteJobsResponse;
+
+ /**
+ * Encodes the specified BatchDeleteJobsResponse message. Does not implicitly {@link google.cloud.talent.v4.BatchDeleteJobsResponse.verify|verify} messages.
+ * @param message BatchDeleteJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IBatchDeleteJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchDeleteJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchDeleteJobsResponse.verify|verify} messages.
+ * @param message BatchDeleteJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IBatchDeleteJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchDeleteJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchDeleteJobsResponse
+ * @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.cloud.talent.v4.BatchDeleteJobsResponse;
+
+ /**
+ * Decodes a BatchDeleteJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchDeleteJobsResponse
+ * @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.cloud.talent.v4.BatchDeleteJobsResponse;
+
+ /**
+ * Verifies a BatchDeleteJobsResponse 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 BatchDeleteJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchDeleteJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.BatchDeleteJobsResponse;
+
+ /**
+ * Creates a plain object from a BatchDeleteJobsResponse message. Also converts values to other types if specified.
+ * @param message BatchDeleteJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.BatchDeleteJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchDeleteJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchDeleteJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Tenant. */
+ interface ITenant {
+
+ /** Tenant name */
+ name?: (string|null);
+
+ /** Tenant externalId */
+ externalId?: (string|null);
+ }
+
+ /** Represents a Tenant. */
+ class Tenant implements ITenant {
+
+ /**
+ * Constructs a new Tenant.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ITenant);
+
+ /** Tenant name. */
+ public name: string;
+
+ /** Tenant externalId. */
+ public externalId: string;
+
+ /**
+ * Creates a new Tenant instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Tenant instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ITenant): google.cloud.talent.v4.Tenant;
+
+ /**
+ * Encodes the specified Tenant message. Does not implicitly {@link google.cloud.talent.v4.Tenant.verify|verify} messages.
+ * @param message Tenant message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ITenant, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Tenant message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Tenant.verify|verify} messages.
+ * @param message Tenant message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ITenant, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Tenant message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Tenant
+ * @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.cloud.talent.v4.Tenant;
+
+ /**
+ * Decodes a Tenant message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Tenant
+ * @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.cloud.talent.v4.Tenant;
+
+ /**
+ * Verifies a Tenant 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 Tenant message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Tenant
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.Tenant;
+
+ /**
+ * Creates a plain object from a Tenant message. Also converts values to other types if specified.
+ * @param message Tenant
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.Tenant, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Tenant to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Tenant
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a TenantService */
+ class TenantService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new TenantService 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 TenantService 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): TenantService;
+
+ /**
+ * Calls CreateTenant.
+ * @param request CreateTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public createTenant(request: google.cloud.talent.v4.ICreateTenantRequest, callback: google.cloud.talent.v4.TenantService.CreateTenantCallback): void;
+
+ /**
+ * Calls CreateTenant.
+ * @param request CreateTenantRequest message or plain object
+ * @returns Promise
+ */
+ public createTenant(request: google.cloud.talent.v4.ICreateTenantRequest): Promise;
+
+ /**
+ * Calls GetTenant.
+ * @param request GetTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public getTenant(request: google.cloud.talent.v4.IGetTenantRequest, callback: google.cloud.talent.v4.TenantService.GetTenantCallback): void;
+
+ /**
+ * Calls GetTenant.
+ * @param request GetTenantRequest message or plain object
+ * @returns Promise
+ */
+ public getTenant(request: google.cloud.talent.v4.IGetTenantRequest): Promise;
+
+ /**
+ * Calls UpdateTenant.
+ * @param request UpdateTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public updateTenant(request: google.cloud.talent.v4.IUpdateTenantRequest, callback: google.cloud.talent.v4.TenantService.UpdateTenantCallback): void;
+
+ /**
+ * Calls UpdateTenant.
+ * @param request UpdateTenantRequest message or plain object
+ * @returns Promise
+ */
+ public updateTenant(request: google.cloud.talent.v4.IUpdateTenantRequest): Promise;
+
+ /**
+ * Calls DeleteTenant.
+ * @param request DeleteTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteTenant(request: google.cloud.talent.v4.IDeleteTenantRequest, callback: google.cloud.talent.v4.TenantService.DeleteTenantCallback): void;
+
+ /**
+ * Calls DeleteTenant.
+ * @param request DeleteTenantRequest message or plain object
+ * @returns Promise
+ */
+ public deleteTenant(request: google.cloud.talent.v4.IDeleteTenantRequest): Promise;
+
+ /**
+ * Calls ListTenants.
+ * @param request ListTenantsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTenantsResponse
+ */
+ public listTenants(request: google.cloud.talent.v4.IListTenantsRequest, callback: google.cloud.talent.v4.TenantService.ListTenantsCallback): void;
+
+ /**
+ * Calls ListTenants.
+ * @param request ListTenantsRequest message or plain object
+ * @returns Promise
+ */
+ public listTenants(request: google.cloud.talent.v4.IListTenantsRequest): Promise;
+ }
+
+ namespace TenantService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.TenantService|createTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type CreateTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.TenantService|getTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type GetTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.TenantService|updateTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type UpdateTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.TenantService|deleteTenant}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteTenantCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.TenantService|listTenants}.
+ * @param error Error, if any
+ * @param [response] ListTenantsResponse
+ */
+ type ListTenantsCallback = (error: (Error|null), response?: google.cloud.talent.v4.ListTenantsResponse) => void;
+ }
+
+ /** Properties of a CreateTenantRequest. */
+ interface ICreateTenantRequest {
+
+ /** CreateTenantRequest parent */
+ parent?: (string|null);
+
+ /** CreateTenantRequest tenant */
+ tenant?: (google.cloud.talent.v4.ITenant|null);
+ }
+
+ /** Represents a CreateTenantRequest. */
+ class CreateTenantRequest implements ICreateTenantRequest {
+
+ /**
+ * Constructs a new CreateTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.ICreateTenantRequest);
+
+ /** CreateTenantRequest parent. */
+ public parent: string;
+
+ /** CreateTenantRequest tenant. */
+ public tenant?: (google.cloud.talent.v4.ITenant|null);
+
+ /**
+ * Creates a new CreateTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.ICreateTenantRequest): google.cloud.talent.v4.CreateTenantRequest;
+
+ /**
+ * Encodes the specified CreateTenantRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateTenantRequest.verify|verify} messages.
+ * @param message CreateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.ICreateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateTenantRequest.verify|verify} messages.
+ * @param message CreateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.ICreateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateTenantRequest
+ * @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.cloud.talent.v4.CreateTenantRequest;
+
+ /**
+ * Decodes a CreateTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateTenantRequest
+ * @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.cloud.talent.v4.CreateTenantRequest;
+
+ /**
+ * Verifies a CreateTenantRequest 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 CreateTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.CreateTenantRequest;
+
+ /**
+ * Creates a plain object from a CreateTenantRequest message. Also converts values to other types if specified.
+ * @param message CreateTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.CreateTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetTenantRequest. */
+ interface IGetTenantRequest {
+
+ /** GetTenantRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetTenantRequest. */
+ class GetTenantRequest implements IGetTenantRequest {
+
+ /**
+ * Constructs a new GetTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IGetTenantRequest);
+
+ /** GetTenantRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IGetTenantRequest): google.cloud.talent.v4.GetTenantRequest;
+
+ /**
+ * Encodes the specified GetTenantRequest message. Does not implicitly {@link google.cloud.talent.v4.GetTenantRequest.verify|verify} messages.
+ * @param message GetTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IGetTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.GetTenantRequest.verify|verify} messages.
+ * @param message GetTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IGetTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetTenantRequest
+ * @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.cloud.talent.v4.GetTenantRequest;
+
+ /**
+ * Decodes a GetTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetTenantRequest
+ * @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.cloud.talent.v4.GetTenantRequest;
+
+ /**
+ * Verifies a GetTenantRequest 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 GetTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.GetTenantRequest;
+
+ /**
+ * Creates a plain object from a GetTenantRequest message. Also converts values to other types if specified.
+ * @param message GetTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.GetTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateTenantRequest. */
+ interface IUpdateTenantRequest {
+
+ /** UpdateTenantRequest tenant */
+ tenant?: (google.cloud.talent.v4.ITenant|null);
+
+ /** UpdateTenantRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateTenantRequest. */
+ class UpdateTenantRequest implements IUpdateTenantRequest {
+
+ /**
+ * Constructs a new UpdateTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IUpdateTenantRequest);
+
+ /** UpdateTenantRequest tenant. */
+ public tenant?: (google.cloud.talent.v4.ITenant|null);
+
+ /** UpdateTenantRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IUpdateTenantRequest): google.cloud.talent.v4.UpdateTenantRequest;
+
+ /**
+ * Encodes the specified UpdateTenantRequest message. Does not implicitly {@link google.cloud.talent.v4.UpdateTenantRequest.verify|verify} messages.
+ * @param message UpdateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IUpdateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.UpdateTenantRequest.verify|verify} messages.
+ * @param message UpdateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IUpdateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateTenantRequest
+ * @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.cloud.talent.v4.UpdateTenantRequest;
+
+ /**
+ * Decodes an UpdateTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateTenantRequest
+ * @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.cloud.talent.v4.UpdateTenantRequest;
+
+ /**
+ * Verifies an UpdateTenantRequest 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 UpdateTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.UpdateTenantRequest;
+
+ /**
+ * Creates a plain object from an UpdateTenantRequest message. Also converts values to other types if specified.
+ * @param message UpdateTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.UpdateTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteTenantRequest. */
+ interface IDeleteTenantRequest {
+
+ /** DeleteTenantRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteTenantRequest. */
+ class DeleteTenantRequest implements IDeleteTenantRequest {
+
+ /**
+ * Constructs a new DeleteTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IDeleteTenantRequest);
+
+ /** DeleteTenantRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IDeleteTenantRequest): google.cloud.talent.v4.DeleteTenantRequest;
+
+ /**
+ * Encodes the specified DeleteTenantRequest message. Does not implicitly {@link google.cloud.talent.v4.DeleteTenantRequest.verify|verify} messages.
+ * @param message DeleteTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IDeleteTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeleteTenantRequest.verify|verify} messages.
+ * @param message DeleteTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IDeleteTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteTenantRequest
+ * @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.cloud.talent.v4.DeleteTenantRequest;
+
+ /**
+ * Decodes a DeleteTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteTenantRequest
+ * @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.cloud.talent.v4.DeleteTenantRequest;
+
+ /**
+ * Verifies a DeleteTenantRequest 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 DeleteTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.DeleteTenantRequest;
+
+ /**
+ * Creates a plain object from a DeleteTenantRequest message. Also converts values to other types if specified.
+ * @param message DeleteTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.DeleteTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTenantsRequest. */
+ interface IListTenantsRequest {
+
+ /** ListTenantsRequest parent */
+ parent?: (string|null);
+
+ /** ListTenantsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListTenantsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListTenantsRequest. */
+ class ListTenantsRequest implements IListTenantsRequest {
+
+ /**
+ * Constructs a new ListTenantsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListTenantsRequest);
+
+ /** ListTenantsRequest parent. */
+ public parent: string;
+
+ /** ListTenantsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListTenantsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListTenantsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTenantsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListTenantsRequest): google.cloud.talent.v4.ListTenantsRequest;
+
+ /**
+ * Encodes the specified ListTenantsRequest message. Does not implicitly {@link google.cloud.talent.v4.ListTenantsRequest.verify|verify} messages.
+ * @param message ListTenantsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListTenantsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTenantsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListTenantsRequest.verify|verify} messages.
+ * @param message ListTenantsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListTenantsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTenantsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTenantsRequest
+ * @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.cloud.talent.v4.ListTenantsRequest;
+
+ /**
+ * Decodes a ListTenantsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTenantsRequest
+ * @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.cloud.talent.v4.ListTenantsRequest;
+
+ /**
+ * Verifies a ListTenantsRequest 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 ListTenantsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTenantsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListTenantsRequest;
+
+ /**
+ * Creates a plain object from a ListTenantsRequest message. Also converts values to other types if specified.
+ * @param message ListTenantsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListTenantsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTenantsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTenantsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTenantsResponse. */
+ interface IListTenantsResponse {
+
+ /** ListTenantsResponse tenants */
+ tenants?: (google.cloud.talent.v4.ITenant[]|null);
+
+ /** ListTenantsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListTenantsResponse metadata */
+ metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+ }
+
+ /** Represents a ListTenantsResponse. */
+ class ListTenantsResponse implements IListTenantsResponse {
+
+ /**
+ * Constructs a new ListTenantsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4.IListTenantsResponse);
+
+ /** ListTenantsResponse tenants. */
+ public tenants: google.cloud.talent.v4.ITenant[];
+
+ /** ListTenantsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListTenantsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListTenantsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTenantsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4.IListTenantsResponse): google.cloud.talent.v4.ListTenantsResponse;
+
+ /**
+ * Encodes the specified ListTenantsResponse message. Does not implicitly {@link google.cloud.talent.v4.ListTenantsResponse.verify|verify} messages.
+ * @param message ListTenantsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4.IListTenantsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTenantsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListTenantsResponse.verify|verify} messages.
+ * @param message ListTenantsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4.IListTenantsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTenantsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTenantsResponse
+ * @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.cloud.talent.v4.ListTenantsResponse;
+
+ /**
+ * Decodes a ListTenantsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTenantsResponse
+ * @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.cloud.talent.v4.ListTenantsResponse;
+
+ /**
+ * Verifies a ListTenantsResponse 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 ListTenantsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTenantsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4.ListTenantsResponse;
+
+ /**
+ * Creates a plain object from a ListTenantsResponse message. Also converts values to other types if specified.
+ * @param message ListTenantsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4.ListTenantsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTenantsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTenantsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v4beta1. */
+ namespace v4beta1 {
+
+ /** Properties of a TimestampRange. */
+ interface ITimestampRange {
+
+ /** TimestampRange startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimestampRange endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimestampRange. */
+ class TimestampRange implements ITimestampRange {
+
+ /**
+ * Constructs a new TimestampRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ITimestampRange);
+
+ /** TimestampRange startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimestampRange endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimestampRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimestampRange instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ITimestampRange): google.cloud.talent.v4beta1.TimestampRange;
+
+ /**
+ * Encodes the specified TimestampRange message. Does not implicitly {@link google.cloud.talent.v4beta1.TimestampRange.verify|verify} messages.
+ * @param message TimestampRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ITimestampRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimestampRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.TimestampRange.verify|verify} messages.
+ * @param message TimestampRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ITimestampRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimestampRange
+ * @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.cloud.talent.v4beta1.TimestampRange;
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimestampRange
+ * @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.cloud.talent.v4beta1.TimestampRange;
+
+ /**
+ * Verifies a TimestampRange 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 TimestampRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimestampRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.TimestampRange;
+
+ /**
+ * Creates a plain object from a TimestampRange message. Also converts values to other types if specified.
+ * @param message TimestampRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.TimestampRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimestampRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimestampRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** CompanySize enum. */
+ enum CompanySize {
+ COMPANY_SIZE_UNSPECIFIED = 0,
+ MINI = 1,
+ SMALL = 2,
+ SMEDIUM = 3,
+ MEDIUM = 4,
+ BIG = 5,
+ BIGGER = 6,
+ GIANT = 7
+ }
+
+ /** JobBenefit enum. */
+ enum JobBenefit {
+ JOB_BENEFIT_UNSPECIFIED = 0,
+ CHILD_CARE = 1,
+ DENTAL = 2,
+ DOMESTIC_PARTNER = 3,
+ FLEXIBLE_HOURS = 4,
+ MEDICAL = 5,
+ LIFE_INSURANCE = 6,
+ PARENTAL_LEAVE = 7,
+ RETIREMENT_PLAN = 8,
+ SICK_DAYS = 9,
+ VACATION = 10,
+ VISION = 11
+ }
+
+ /** DegreeType enum. */
+ enum DegreeType {
+ DEGREE_TYPE_UNSPECIFIED = 0,
+ PRIMARY_EDUCATION = 1,
+ LOWER_SECONDARY_EDUCATION = 2,
+ UPPER_SECONDARY_EDUCATION = 3,
+ ADULT_REMEDIAL_EDUCATION = 4,
+ ASSOCIATES_OR_EQUIVALENT = 5,
+ BACHELORS_OR_EQUIVALENT = 6,
+ MASTERS_OR_EQUIVALENT = 7,
+ DOCTORAL_OR_EQUIVALENT = 8
+ }
+
+ /** EmploymentType enum. */
+ enum EmploymentType {
+ EMPLOYMENT_TYPE_UNSPECIFIED = 0,
+ FULL_TIME = 1,
+ PART_TIME = 2,
+ CONTRACTOR = 3,
+ CONTRACT_TO_HIRE = 4,
+ TEMPORARY = 5,
+ INTERN = 6,
+ VOLUNTEER = 7,
+ PER_DIEM = 8,
+ FLY_IN_FLY_OUT = 9,
+ OTHER_EMPLOYMENT_TYPE = 10
+ }
+
+ /** JobLevel enum. */
+ enum JobLevel {
+ JOB_LEVEL_UNSPECIFIED = 0,
+ ENTRY_LEVEL = 1,
+ EXPERIENCED = 2,
+ MANAGER = 3,
+ DIRECTOR = 4,
+ EXECUTIVE = 5
+ }
+
+ /** JobCategory enum. */
+ enum JobCategory {
+ JOB_CATEGORY_UNSPECIFIED = 0,
+ ACCOUNTING_AND_FINANCE = 1,
+ ADMINISTRATIVE_AND_OFFICE = 2,
+ ADVERTISING_AND_MARKETING = 3,
+ ANIMAL_CARE = 4,
+ ART_FASHION_AND_DESIGN = 5,
+ BUSINESS_OPERATIONS = 6,
+ CLEANING_AND_FACILITIES = 7,
+ COMPUTER_AND_IT = 8,
+ CONSTRUCTION = 9,
+ CUSTOMER_SERVICE = 10,
+ EDUCATION = 11,
+ ENTERTAINMENT_AND_TRAVEL = 12,
+ FARMING_AND_OUTDOORS = 13,
+ HEALTHCARE = 14,
+ HUMAN_RESOURCES = 15,
+ INSTALLATION_MAINTENANCE_AND_REPAIR = 16,
+ LEGAL = 17,
+ MANAGEMENT = 18,
+ MANUFACTURING_AND_WAREHOUSE = 19,
+ MEDIA_COMMUNICATIONS_AND_WRITING = 20,
+ OIL_GAS_AND_MINING = 21,
+ PERSONAL_CARE_AND_SERVICES = 22,
+ PROTECTIVE_SERVICES = 23,
+ REAL_ESTATE = 24,
+ RESTAURANT_AND_HOSPITALITY = 25,
+ SALES_AND_RETAIL = 26,
+ SCIENCE_AND_ENGINEERING = 27,
+ SOCIAL_SERVICES_AND_NON_PROFIT = 28,
+ SPORTS_FITNESS_AND_RECREATION = 29,
+ TRANSPORTATION_AND_LOGISTICS = 30
+ }
+
+ /** PostingRegion enum. */
+ enum PostingRegion {
+ POSTING_REGION_UNSPECIFIED = 0,
+ ADMINISTRATIVE_AREA = 1,
+ NATION = 2,
+ TELECOMMUTE = 3
+ }
+
+ /** Visibility enum. */
+ enum Visibility {
+ VISIBILITY_UNSPECIFIED = 0,
+ ACCOUNT_ONLY = 1,
+ SHARED_WITH_GOOGLE = 2,
+ SHARED_WITH_PUBLIC = 3
+ }
+
+ /** HtmlSanitization enum. */
+ enum HtmlSanitization {
+ HTML_SANITIZATION_UNSPECIFIED = 0,
+ HTML_SANITIZATION_DISABLED = 1,
+ SIMPLE_FORMATTING_ONLY = 2
+ }
+
+ /** CommuteMethod enum. */
+ enum CommuteMethod {
+ COMMUTE_METHOD_UNSPECIFIED = 0,
+ DRIVING = 1,
+ TRANSIT = 2,
+ WALKING = 3,
+ CYCLING = 4
+ }
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location locationType */
+ locationType?: (google.cloud.talent.v4beta1.Location.LocationType|keyof typeof google.cloud.talent.v4beta1.Location.LocationType|null);
+
+ /** Location postalAddress */
+ postalAddress?: (google.type.IPostalAddress|null);
+
+ /** Location latLng */
+ latLng?: (google.type.ILatLng|null);
+
+ /** Location radiusMiles */
+ radiusMiles?: (number|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ILocation);
+
+ /** Location locationType. */
+ public locationType: (google.cloud.talent.v4beta1.Location.LocationType|keyof typeof google.cloud.talent.v4beta1.Location.LocationType);
+
+ /** Location postalAddress. */
+ public postalAddress?: (google.type.IPostalAddress|null);
+
+ /** Location latLng. */
+ public latLng?: (google.type.ILatLng|null);
+
+ /** Location radiusMiles. */
+ public radiusMiles: number;
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ILocation): google.cloud.talent.v4beta1.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.cloud.talent.v4beta1.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.cloud.talent.v4beta1.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.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.cloud.talent.v4beta1.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.cloud.talent.v4beta1.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.cloud.talent.v4beta1.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.cloud.talent.v4beta1.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.cloud.talent.v4beta1.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;
+ }
+
+ namespace Location {
+
+ /** LocationType enum. */
+ enum LocationType {
+ LOCATION_TYPE_UNSPECIFIED = 0,
+ COUNTRY = 1,
+ ADMINISTRATIVE_AREA = 2,
+ SUB_ADMINISTRATIVE_AREA = 3,
+ LOCALITY = 4,
+ POSTAL_CODE = 5,
+ SUB_LOCALITY = 6,
+ SUB_LOCALITY_1 = 7,
+ SUB_LOCALITY_2 = 8,
+ NEIGHBORHOOD = 9,
+ STREET_ADDRESS = 10
+ }
+ }
+
+ /** Properties of a RequestMetadata. */
+ interface IRequestMetadata {
+
+ /** RequestMetadata domain */
+ domain?: (string|null);
+
+ /** RequestMetadata sessionId */
+ sessionId?: (string|null);
+
+ /** RequestMetadata userId */
+ userId?: (string|null);
+
+ /** RequestMetadata allowMissingIds */
+ allowMissingIds?: (boolean|null);
+
+ /** RequestMetadata deviceInfo */
+ deviceInfo?: (google.cloud.talent.v4beta1.IDeviceInfo|null);
+ }
+
+ /** Represents a RequestMetadata. */
+ class RequestMetadata implements IRequestMetadata {
+
+ /**
+ * Constructs a new RequestMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IRequestMetadata);
+
+ /** RequestMetadata domain. */
+ public domain: string;
+
+ /** RequestMetadata sessionId. */
+ public sessionId: string;
+
+ /** RequestMetadata userId. */
+ public userId: string;
+
+ /** RequestMetadata allowMissingIds. */
+ public allowMissingIds: boolean;
+
+ /** RequestMetadata deviceInfo. */
+ public deviceInfo?: (google.cloud.talent.v4beta1.IDeviceInfo|null);
+
+ /**
+ * Creates a new RequestMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RequestMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IRequestMetadata): google.cloud.talent.v4beta1.RequestMetadata;
+
+ /**
+ * Encodes the specified RequestMetadata message. Does not implicitly {@link google.cloud.talent.v4beta1.RequestMetadata.verify|verify} messages.
+ * @param message RequestMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IRequestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RequestMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.RequestMetadata.verify|verify} messages.
+ * @param message RequestMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IRequestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RequestMetadata
+ * @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.cloud.talent.v4beta1.RequestMetadata;
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RequestMetadata
+ * @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.cloud.talent.v4beta1.RequestMetadata;
+
+ /**
+ * Verifies a RequestMetadata 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 RequestMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RequestMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.RequestMetadata;
+
+ /**
+ * Creates a plain object from a RequestMetadata message. Also converts values to other types if specified.
+ * @param message RequestMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.RequestMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RequestMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RequestMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResponseMetadata. */
+ interface IResponseMetadata {
+
+ /** ResponseMetadata requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a ResponseMetadata. */
+ class ResponseMetadata implements IResponseMetadata {
+
+ /**
+ * Constructs a new ResponseMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IResponseMetadata);
+
+ /** ResponseMetadata requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ResponseMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResponseMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IResponseMetadata): google.cloud.talent.v4beta1.ResponseMetadata;
+
+ /**
+ * Encodes the specified ResponseMetadata message. Does not implicitly {@link google.cloud.talent.v4beta1.ResponseMetadata.verify|verify} messages.
+ * @param message ResponseMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IResponseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResponseMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ResponseMetadata.verify|verify} messages.
+ * @param message ResponseMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IResponseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResponseMetadata
+ * @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.cloud.talent.v4beta1.ResponseMetadata;
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResponseMetadata
+ * @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.cloud.talent.v4beta1.ResponseMetadata;
+
+ /**
+ * Verifies a ResponseMetadata 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 ResponseMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResponseMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ResponseMetadata;
+
+ /**
+ * Creates a plain object from a ResponseMetadata message. Also converts values to other types if specified.
+ * @param message ResponseMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ResponseMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResponseMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResponseMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeviceInfo. */
+ interface IDeviceInfo {
+
+ /** DeviceInfo deviceType */
+ deviceType?: (google.cloud.talent.v4beta1.DeviceInfo.DeviceType|keyof typeof google.cloud.talent.v4beta1.DeviceInfo.DeviceType|null);
+
+ /** DeviceInfo id */
+ id?: (string|null);
+ }
+
+ /** Represents a DeviceInfo. */
+ class DeviceInfo implements IDeviceInfo {
+
+ /**
+ * Constructs a new DeviceInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IDeviceInfo);
+
+ /** DeviceInfo deviceType. */
+ public deviceType: (google.cloud.talent.v4beta1.DeviceInfo.DeviceType|keyof typeof google.cloud.talent.v4beta1.DeviceInfo.DeviceType);
+
+ /** DeviceInfo id. */
+ public id: string;
+
+ /**
+ * Creates a new DeviceInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeviceInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IDeviceInfo): google.cloud.talent.v4beta1.DeviceInfo;
+
+ /**
+ * Encodes the specified DeviceInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.DeviceInfo.verify|verify} messages.
+ * @param message DeviceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IDeviceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeviceInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.DeviceInfo.verify|verify} messages.
+ * @param message DeviceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IDeviceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeviceInfo
+ * @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.cloud.talent.v4beta1.DeviceInfo;
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeviceInfo
+ * @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.cloud.talent.v4beta1.DeviceInfo;
+
+ /**
+ * Verifies a DeviceInfo 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 DeviceInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeviceInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.DeviceInfo;
+
+ /**
+ * Creates a plain object from a DeviceInfo message. Also converts values to other types if specified.
+ * @param message DeviceInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.DeviceInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeviceInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeviceInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DeviceInfo {
+
+ /** DeviceType enum. */
+ enum DeviceType {
+ DEVICE_TYPE_UNSPECIFIED = 0,
+ WEB = 1,
+ MOBILE_WEB = 2,
+ ANDROID = 3,
+ IOS = 4,
+ BOT = 5,
+ OTHER = 6
+ }
+ }
+
+ /** Properties of a CustomAttribute. */
+ interface ICustomAttribute {
+
+ /** CustomAttribute stringValues */
+ stringValues?: (string[]|null);
+
+ /** CustomAttribute longValues */
+ longValues?: ((number|Long|string)[]|null);
+
+ /** CustomAttribute filterable */
+ filterable?: (boolean|null);
+
+ /** CustomAttribute keywordSearchable */
+ keywordSearchable?: (boolean|null);
+ }
+
+ /** Represents a CustomAttribute. */
+ class CustomAttribute implements ICustomAttribute {
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICustomAttribute);
+
+ /** CustomAttribute stringValues. */
+ public stringValues: string[];
+
+ /** CustomAttribute longValues. */
+ public longValues: (number|Long|string)[];
+
+ /** CustomAttribute filterable. */
+ public filterable: boolean;
+
+ /** CustomAttribute keywordSearchable. */
+ public keywordSearchable: boolean;
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomAttribute instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICustomAttribute): google.cloud.talent.v4beta1.CustomAttribute;
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.talent.v4beta1.CustomAttribute.verify|verify} messages.
+ * @param message CustomAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CustomAttribute.verify|verify} messages.
+ * @param message CustomAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomAttribute
+ * @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.cloud.talent.v4beta1.CustomAttribute;
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomAttribute
+ * @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.cloud.talent.v4beta1.CustomAttribute;
+
+ /**
+ * Verifies a CustomAttribute 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 CustomAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CustomAttribute;
+
+ /**
+ * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified.
+ * @param message CustomAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CustomAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpellingCorrection. */
+ interface ISpellingCorrection {
+
+ /** SpellingCorrection corrected */
+ corrected?: (boolean|null);
+
+ /** SpellingCorrection correctedText */
+ correctedText?: (string|null);
+
+ /** SpellingCorrection correctedHtml */
+ correctedHtml?: (string|null);
+ }
+
+ /** Represents a SpellingCorrection. */
+ class SpellingCorrection implements ISpellingCorrection {
+
+ /**
+ * Constructs a new SpellingCorrection.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ISpellingCorrection);
+
+ /** SpellingCorrection corrected. */
+ public corrected: boolean;
+
+ /** SpellingCorrection correctedText. */
+ public correctedText: string;
+
+ /** SpellingCorrection correctedHtml. */
+ public correctedHtml: string;
+
+ /**
+ * Creates a new SpellingCorrection instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpellingCorrection instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ISpellingCorrection): google.cloud.talent.v4beta1.SpellingCorrection;
+
+ /**
+ * Encodes the specified SpellingCorrection message. Does not implicitly {@link google.cloud.talent.v4beta1.SpellingCorrection.verify|verify} messages.
+ * @param message SpellingCorrection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ISpellingCorrection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpellingCorrection message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SpellingCorrection.verify|verify} messages.
+ * @param message SpellingCorrection message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ISpellingCorrection, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpellingCorrection
+ * @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.cloud.talent.v4beta1.SpellingCorrection;
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpellingCorrection
+ * @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.cloud.talent.v4beta1.SpellingCorrection;
+
+ /**
+ * Verifies a SpellingCorrection 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 SpellingCorrection message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpellingCorrection
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SpellingCorrection;
+
+ /**
+ * Creates a plain object from a SpellingCorrection message. Also converts values to other types if specified.
+ * @param message SpellingCorrection
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SpellingCorrection, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpellingCorrection to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpellingCorrection
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompensationInfo. */
+ interface ICompensationInfo {
+
+ /** CompensationInfo entries */
+ entries?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry[]|null);
+
+ /** CompensationInfo annualizedBaseCompensationRange */
+ annualizedBaseCompensationRange?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationInfo annualizedTotalCompensationRange */
+ annualizedTotalCompensationRange?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+ }
+
+ /** Represents a CompensationInfo. */
+ class CompensationInfo implements ICompensationInfo {
+
+ /**
+ * Constructs a new CompensationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICompensationInfo);
+
+ /** CompensationInfo entries. */
+ public entries: google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry[];
+
+ /** CompensationInfo annualizedBaseCompensationRange. */
+ public annualizedBaseCompensationRange?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationInfo annualizedTotalCompensationRange. */
+ public annualizedTotalCompensationRange?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /**
+ * Creates a new CompensationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICompensationInfo): google.cloud.talent.v4beta1.CompensationInfo;
+
+ /**
+ * Encodes the specified CompensationInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.verify|verify} messages.
+ * @param message CompensationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICompensationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.verify|verify} messages.
+ * @param message CompensationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICompensationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationInfo
+ * @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.cloud.talent.v4beta1.CompensationInfo;
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationInfo
+ * @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.cloud.talent.v4beta1.CompensationInfo;
+
+ /**
+ * Verifies a CompensationInfo 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 CompensationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompensationInfo;
+
+ /**
+ * Creates a plain object from a CompensationInfo message. Also converts values to other types if specified.
+ * @param message CompensationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompensationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompensationInfo {
+
+ /** Properties of a CompensationEntry. */
+ interface ICompensationEntry {
+
+ /** CompensationEntry type */
+ type?: (google.cloud.talent.v4beta1.CompensationInfo.CompensationType|keyof typeof google.cloud.talent.v4beta1.CompensationInfo.CompensationType|null);
+
+ /** CompensationEntry unit */
+ unit?: (google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit|keyof typeof google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit|null);
+
+ /** CompensationEntry amount */
+ amount?: (google.type.IMoney|null);
+
+ /** CompensationEntry range */
+ range?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationEntry description */
+ description?: (string|null);
+
+ /** CompensationEntry expectedUnitsPerYear */
+ expectedUnitsPerYear?: (google.protobuf.IDoubleValue|null);
+ }
+
+ /** Represents a CompensationEntry. */
+ class CompensationEntry implements ICompensationEntry {
+
+ /**
+ * Constructs a new CompensationEntry.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry);
+
+ /** CompensationEntry type. */
+ public type: (google.cloud.talent.v4beta1.CompensationInfo.CompensationType|keyof typeof google.cloud.talent.v4beta1.CompensationInfo.CompensationType);
+
+ /** CompensationEntry unit. */
+ public unit: (google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit|keyof typeof google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit);
+
+ /** CompensationEntry amount. */
+ public amount?: (google.type.IMoney|null);
+
+ /** CompensationEntry range. */
+ public range?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationEntry description. */
+ public description: string;
+
+ /** CompensationEntry expectedUnitsPerYear. */
+ public expectedUnitsPerYear?: (google.protobuf.IDoubleValue|null);
+
+ /** CompensationEntry compensationAmount. */
+ public compensationAmount?: ("amount"|"range");
+
+ /**
+ * Creates a new CompensationEntry instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationEntry instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry): google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry;
+
+ /**
+ * Encodes the specified CompensationEntry message. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @param message CompensationEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationEntry message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @param message CompensationEntry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.CompensationInfo.ICompensationEntry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationEntry
+ * @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.cloud.talent.v4beta1.CompensationInfo.CompensationEntry;
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationEntry
+ * @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.cloud.talent.v4beta1.CompensationInfo.CompensationEntry;
+
+ /**
+ * Verifies a CompensationEntry 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 CompensationEntry message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationEntry
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry;
+
+ /**
+ * Creates a plain object from a CompensationEntry message. Also converts values to other types if specified.
+ * @param message CompensationEntry
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompensationInfo.CompensationEntry, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationEntry to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationEntry
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** CompensationType enum. */
+ enum CompensationType {
+ COMPENSATION_TYPE_UNSPECIFIED = 0,
+ BASE = 1,
+ BONUS = 2,
+ SIGNING_BONUS = 3,
+ EQUITY = 4,
+ PROFIT_SHARING = 5,
+ COMMISSIONS = 6,
+ TIPS = 7,
+ OTHER_COMPENSATION_TYPE = 8
+ }
+
+ /** CompensationUnit enum. */
+ enum CompensationUnit {
+ COMPENSATION_UNIT_UNSPECIFIED = 0,
+ HOURLY = 1,
+ DAILY = 2,
+ WEEKLY = 3,
+ MONTHLY = 4,
+ YEARLY = 5,
+ ONE_TIME = 6,
+ OTHER_COMPENSATION_UNIT = 7
+ }
+
+ /** Properties of a CompensationRange. */
+ interface ICompensationRange {
+
+ /** CompensationRange maxCompensation */
+ maxCompensation?: (google.type.IMoney|null);
+
+ /** CompensationRange minCompensation */
+ minCompensation?: (google.type.IMoney|null);
+ }
+
+ /** Represents a CompensationRange. */
+ class CompensationRange implements ICompensationRange {
+
+ /**
+ * Constructs a new CompensationRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange);
+
+ /** CompensationRange maxCompensation. */
+ public maxCompensation?: (google.type.IMoney|null);
+
+ /** CompensationRange minCompensation. */
+ public minCompensation?: (google.type.IMoney|null);
+
+ /**
+ * Creates a new CompensationRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationRange instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange): google.cloud.talent.v4beta1.CompensationInfo.CompensationRange;
+
+ /**
+ * Encodes the specified CompensationRange message. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @param message CompensationRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @param message CompensationRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationRange
+ * @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.cloud.talent.v4beta1.CompensationInfo.CompensationRange;
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationRange
+ * @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.cloud.talent.v4beta1.CompensationInfo.CompensationRange;
+
+ /**
+ * Verifies a CompensationRange 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 CompensationRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompensationInfo.CompensationRange;
+
+ /**
+ * Creates a plain object from a CompensationRange message. Also converts values to other types if specified.
+ * @param message CompensationRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompensationInfo.CompensationRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a BatchOperationMetadata. */
+ interface IBatchOperationMetadata {
+
+ /** BatchOperationMetadata state */
+ state?: (google.cloud.talent.v4beta1.BatchOperationMetadata.State|keyof typeof google.cloud.talent.v4beta1.BatchOperationMetadata.State|null);
+
+ /** BatchOperationMetadata stateDescription */
+ stateDescription?: (string|null);
+
+ /** BatchOperationMetadata successCount */
+ successCount?: (number|null);
+
+ /** BatchOperationMetadata failureCount */
+ failureCount?: (number|null);
+
+ /** BatchOperationMetadata totalCount */
+ totalCount?: (number|null);
+
+ /** BatchOperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a BatchOperationMetadata. */
+ class BatchOperationMetadata implements IBatchOperationMetadata {
+
+ /**
+ * Constructs a new BatchOperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IBatchOperationMetadata);
+
+ /** BatchOperationMetadata state. */
+ public state: (google.cloud.talent.v4beta1.BatchOperationMetadata.State|keyof typeof google.cloud.talent.v4beta1.BatchOperationMetadata.State);
+
+ /** BatchOperationMetadata stateDescription. */
+ public stateDescription: string;
+
+ /** BatchOperationMetadata successCount. */
+ public successCount: number;
+
+ /** BatchOperationMetadata failureCount. */
+ public failureCount: number;
+
+ /** BatchOperationMetadata totalCount. */
+ public totalCount: number;
+
+ /** BatchOperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** BatchOperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new BatchOperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchOperationMetadata instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IBatchOperationMetadata): google.cloud.talent.v4beta1.BatchOperationMetadata;
+
+ /**
+ * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.talent.v4beta1.BatchOperationMetadata.verify|verify} messages.
+ * @param message BatchOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.BatchOperationMetadata.verify|verify} messages.
+ * @param message BatchOperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IBatchOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchOperationMetadata
+ * @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.cloud.talent.v4beta1.BatchOperationMetadata;
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchOperationMetadata
+ * @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.cloud.talent.v4beta1.BatchOperationMetadata;
+
+ /**
+ * Verifies a BatchOperationMetadata 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 BatchOperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchOperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.BatchOperationMetadata;
+
+ /**
+ * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified.
+ * @param message BatchOperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.BatchOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchOperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchOperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BatchOperationMetadata {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ INITIALIZING = 1,
+ PROCESSING = 2,
+ SUCCEEDED = 3,
+ FAILED = 4,
+ CANCELLING = 5,
+ CANCELLED = 6
+ }
+ }
+
+ /** Properties of a Company. */
+ interface ICompany {
+
+ /** Company name */
+ name?: (string|null);
+
+ /** Company displayName */
+ displayName?: (string|null);
+
+ /** Company externalId */
+ externalId?: (string|null);
+
+ /** Company size */
+ size?: (google.cloud.talent.v4beta1.CompanySize|keyof typeof google.cloud.talent.v4beta1.CompanySize|null);
+
+ /** Company headquartersAddress */
+ headquartersAddress?: (string|null);
+
+ /** Company hiringAgency */
+ hiringAgency?: (boolean|null);
+
+ /** Company eeoText */
+ eeoText?: (string|null);
+
+ /** Company websiteUri */
+ websiteUri?: (string|null);
+
+ /** Company careerSiteUri */
+ careerSiteUri?: (string|null);
+
+ /** Company imageUri */
+ imageUri?: (string|null);
+
+ /** Company keywordSearchableJobCustomAttributes */
+ keywordSearchableJobCustomAttributes?: (string[]|null);
+
+ /** Company derivedInfo */
+ derivedInfo?: (google.cloud.talent.v4beta1.Company.IDerivedInfo|null);
+
+ /** Company suspended */
+ suspended?: (boolean|null);
+ }
+
+ /** Represents a Company. */
+ class Company implements ICompany {
+
+ /**
+ * Constructs a new Company.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICompany);
+
+ /** Company name. */
+ public name: string;
+
+ /** Company displayName. */
+ public displayName: string;
+
+ /** Company externalId. */
+ public externalId: string;
+
+ /** Company size. */
+ public size: (google.cloud.talent.v4beta1.CompanySize|keyof typeof google.cloud.talent.v4beta1.CompanySize);
+
+ /** Company headquartersAddress. */
+ public headquartersAddress: string;
+
+ /** Company hiringAgency. */
+ public hiringAgency: boolean;
+
+ /** Company eeoText. */
+ public eeoText: string;
+
+ /** Company websiteUri. */
+ public websiteUri: string;
+
+ /** Company careerSiteUri. */
+ public careerSiteUri: string;
+
+ /** Company imageUri. */
+ public imageUri: string;
+
+ /** Company keywordSearchableJobCustomAttributes. */
+ public keywordSearchableJobCustomAttributes: string[];
+
+ /** Company derivedInfo. */
+ public derivedInfo?: (google.cloud.talent.v4beta1.Company.IDerivedInfo|null);
+
+ /** Company suspended. */
+ public suspended: boolean;
+
+ /**
+ * Creates a new Company instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Company instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICompany): google.cloud.talent.v4beta1.Company;
+
+ /**
+ * Encodes the specified Company message. Does not implicitly {@link google.cloud.talent.v4beta1.Company.verify|verify} messages.
+ * @param message Company message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Company message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Company.verify|verify} messages.
+ * @param message Company message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICompany, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Company message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Company
+ * @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.cloud.talent.v4beta1.Company;
+
+ /**
+ * Decodes a Company message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Company
+ * @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.cloud.talent.v4beta1.Company;
+
+ /**
+ * Verifies a Company 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 Company message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Company
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Company;
+
+ /**
+ * Creates a plain object from a Company message. Also converts values to other types if specified.
+ * @param message Company
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Company, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Company to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Company
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Company {
+
+ /** Properties of a DerivedInfo. */
+ interface IDerivedInfo {
+
+ /** DerivedInfo headquartersLocation */
+ headquartersLocation?: (google.cloud.talent.v4beta1.ILocation|null);
+ }
+
+ /** Represents a DerivedInfo. */
+ class DerivedInfo implements IDerivedInfo {
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.Company.IDerivedInfo);
+
+ /** DerivedInfo headquartersLocation. */
+ public headquartersLocation?: (google.cloud.talent.v4beta1.ILocation|null);
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DerivedInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.Company.IDerivedInfo): google.cloud.talent.v4beta1.Company.DerivedInfo;
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.Company.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.Company.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Company.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.Company.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4beta1.Company.DerivedInfo;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4beta1.Company.DerivedInfo;
+
+ /**
+ * Verifies a DerivedInfo 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 DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DerivedInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Company.DerivedInfo;
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @param message DerivedInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Company.DerivedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a CompanyService */
+ class CompanyService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CompanyService 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 CompanyService 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): CompanyService;
+
+ /**
+ * Calls CreateCompany.
+ * @param request CreateCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public createCompany(request: google.cloud.talent.v4beta1.ICreateCompanyRequest, callback: google.cloud.talent.v4beta1.CompanyService.CreateCompanyCallback): void;
+
+ /**
+ * Calls CreateCompany.
+ * @param request CreateCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public createCompany(request: google.cloud.talent.v4beta1.ICreateCompanyRequest): Promise;
+
+ /**
+ * Calls GetCompany.
+ * @param request GetCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public getCompany(request: google.cloud.talent.v4beta1.IGetCompanyRequest, callback: google.cloud.talent.v4beta1.CompanyService.GetCompanyCallback): void;
+
+ /**
+ * Calls GetCompany.
+ * @param request GetCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public getCompany(request: google.cloud.talent.v4beta1.IGetCompanyRequest): Promise;
+
+ /**
+ * Calls UpdateCompany.
+ * @param request UpdateCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Company
+ */
+ public updateCompany(request: google.cloud.talent.v4beta1.IUpdateCompanyRequest, callback: google.cloud.talent.v4beta1.CompanyService.UpdateCompanyCallback): void;
+
+ /**
+ * Calls UpdateCompany.
+ * @param request UpdateCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public updateCompany(request: google.cloud.talent.v4beta1.IUpdateCompanyRequest): Promise;
+
+ /**
+ * Calls DeleteCompany.
+ * @param request DeleteCompanyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteCompany(request: google.cloud.talent.v4beta1.IDeleteCompanyRequest, callback: google.cloud.talent.v4beta1.CompanyService.DeleteCompanyCallback): void;
+
+ /**
+ * Calls DeleteCompany.
+ * @param request DeleteCompanyRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCompany(request: google.cloud.talent.v4beta1.IDeleteCompanyRequest): Promise;
+
+ /**
+ * Calls ListCompanies.
+ * @param request ListCompaniesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCompaniesResponse
+ */
+ public listCompanies(request: google.cloud.talent.v4beta1.IListCompaniesRequest, callback: google.cloud.talent.v4beta1.CompanyService.ListCompaniesCallback): void;
+
+ /**
+ * Calls ListCompanies.
+ * @param request ListCompaniesRequest message or plain object
+ * @returns Promise
+ */
+ public listCompanies(request: google.cloud.talent.v4beta1.IListCompaniesRequest): Promise;
+ }
+
+ namespace CompanyService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.CompanyService|createCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type CreateCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.CompanyService|getCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type GetCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.CompanyService|updateCompany}.
+ * @param error Error, if any
+ * @param [response] Company
+ */
+ type UpdateCompanyCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Company) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.CompanyService|deleteCompany}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteCompanyCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.CompanyService|listCompanies}.
+ * @param error Error, if any
+ * @param [response] ListCompaniesResponse
+ */
+ type ListCompaniesCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.ListCompaniesResponse) => void;
+ }
+
+ /** Properties of a CreateCompanyRequest. */
+ interface ICreateCompanyRequest {
+
+ /** CreateCompanyRequest parent */
+ parent?: (string|null);
+
+ /** CreateCompanyRequest company */
+ company?: (google.cloud.talent.v4beta1.ICompany|null);
+ }
+
+ /** Represents a CreateCompanyRequest. */
+ class CreateCompanyRequest implements ICreateCompanyRequest {
+
+ /**
+ * Constructs a new CreateCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICreateCompanyRequest);
+
+ /** CreateCompanyRequest parent. */
+ public parent: string;
+
+ /** CreateCompanyRequest company. */
+ public company?: (google.cloud.talent.v4beta1.ICompany|null);
+
+ /**
+ * Creates a new CreateCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICreateCompanyRequest): google.cloud.talent.v4beta1.CreateCompanyRequest;
+
+ /**
+ * Encodes the specified CreateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.CreateCompanyRequest.verify|verify} messages.
+ * @param message CreateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICreateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CreateCompanyRequest.verify|verify} messages.
+ * @param message CreateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICreateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCompanyRequest
+ * @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.cloud.talent.v4beta1.CreateCompanyRequest;
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCompanyRequest
+ * @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.cloud.talent.v4beta1.CreateCompanyRequest;
+
+ /**
+ * Verifies a CreateCompanyRequest 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 CreateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CreateCompanyRequest;
+
+ /**
+ * Creates a plain object from a CreateCompanyRequest message. Also converts values to other types if specified.
+ * @param message CreateCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CreateCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCompanyRequest. */
+ interface IGetCompanyRequest {
+
+ /** GetCompanyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCompanyRequest. */
+ class GetCompanyRequest implements IGetCompanyRequest {
+
+ /**
+ * Constructs a new GetCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IGetCompanyRequest);
+
+ /** GetCompanyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IGetCompanyRequest): google.cloud.talent.v4beta1.GetCompanyRequest;
+
+ /**
+ * Encodes the specified GetCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.GetCompanyRequest.verify|verify} messages.
+ * @param message GetCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.GetCompanyRequest.verify|verify} messages.
+ * @param message GetCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IGetCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCompanyRequest
+ * @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.cloud.talent.v4beta1.GetCompanyRequest;
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCompanyRequest
+ * @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.cloud.talent.v4beta1.GetCompanyRequest;
+
+ /**
+ * Verifies a GetCompanyRequest 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 GetCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.GetCompanyRequest;
+
+ /**
+ * Creates a plain object from a GetCompanyRequest message. Also converts values to other types if specified.
+ * @param message GetCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.GetCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCompanyRequest. */
+ interface IUpdateCompanyRequest {
+
+ /** UpdateCompanyRequest company */
+ company?: (google.cloud.talent.v4beta1.ICompany|null);
+
+ /** UpdateCompanyRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCompanyRequest. */
+ class UpdateCompanyRequest implements IUpdateCompanyRequest {
+
+ /**
+ * Constructs a new UpdateCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IUpdateCompanyRequest);
+
+ /** UpdateCompanyRequest company. */
+ public company?: (google.cloud.talent.v4beta1.ICompany|null);
+
+ /** UpdateCompanyRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IUpdateCompanyRequest): google.cloud.talent.v4beta1.UpdateCompanyRequest;
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateCompanyRequest.verify|verify} messages.
+ * @param message UpdateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IUpdateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateCompanyRequest.verify|verify} messages.
+ * @param message UpdateCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IUpdateCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCompanyRequest
+ * @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.cloud.talent.v4beta1.UpdateCompanyRequest;
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCompanyRequest
+ * @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.cloud.talent.v4beta1.UpdateCompanyRequest;
+
+ /**
+ * Verifies an UpdateCompanyRequest 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 UpdateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.UpdateCompanyRequest;
+
+ /**
+ * Creates a plain object from an UpdateCompanyRequest message. Also converts values to other types if specified.
+ * @param message UpdateCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.UpdateCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCompanyRequest. */
+ interface IDeleteCompanyRequest {
+
+ /** DeleteCompanyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteCompanyRequest. */
+ class DeleteCompanyRequest implements IDeleteCompanyRequest {
+
+ /**
+ * Constructs a new DeleteCompanyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IDeleteCompanyRequest);
+
+ /** DeleteCompanyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteCompanyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCompanyRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IDeleteCompanyRequest): google.cloud.talent.v4beta1.DeleteCompanyRequest;
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteCompanyRequest.verify|verify} messages.
+ * @param message DeleteCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IDeleteCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteCompanyRequest.verify|verify} messages.
+ * @param message DeleteCompanyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IDeleteCompanyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCompanyRequest
+ * @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.cloud.talent.v4beta1.DeleteCompanyRequest;
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCompanyRequest
+ * @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.cloud.talent.v4beta1.DeleteCompanyRequest;
+
+ /**
+ * Verifies a DeleteCompanyRequest 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 DeleteCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCompanyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.DeleteCompanyRequest;
+
+ /**
+ * Creates a plain object from a DeleteCompanyRequest message. Also converts values to other types if specified.
+ * @param message DeleteCompanyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.DeleteCompanyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCompanyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCompanyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCompaniesRequest. */
+ interface IListCompaniesRequest {
+
+ /** ListCompaniesRequest parent */
+ parent?: (string|null);
+
+ /** ListCompaniesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCompaniesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCompaniesRequest requireOpenJobs */
+ requireOpenJobs?: (boolean|null);
+ }
+
+ /** Represents a ListCompaniesRequest. */
+ class ListCompaniesRequest implements IListCompaniesRequest {
+
+ /**
+ * Constructs a new ListCompaniesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListCompaniesRequest);
+
+ /** ListCompaniesRequest parent. */
+ public parent: string;
+
+ /** ListCompaniesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCompaniesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCompaniesRequest requireOpenJobs. */
+ public requireOpenJobs: boolean;
+
+ /**
+ * Creates a new ListCompaniesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCompaniesRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListCompaniesRequest): google.cloud.talent.v4beta1.ListCompaniesRequest;
+
+ /**
+ * Encodes the specified ListCompaniesRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.ListCompaniesRequest.verify|verify} messages.
+ * @param message ListCompaniesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCompaniesRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListCompaniesRequest.verify|verify} messages.
+ * @param message ListCompaniesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListCompaniesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCompaniesRequest
+ * @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.cloud.talent.v4beta1.ListCompaniesRequest;
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCompaniesRequest
+ * @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.cloud.talent.v4beta1.ListCompaniesRequest;
+
+ /**
+ * Verifies a ListCompaniesRequest 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 ListCompaniesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCompaniesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListCompaniesRequest;
+
+ /**
+ * Creates a plain object from a ListCompaniesRequest message. Also converts values to other types if specified.
+ * @param message ListCompaniesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListCompaniesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCompaniesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCompaniesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCompaniesResponse. */
+ interface IListCompaniesResponse {
+
+ /** ListCompaniesResponse companies */
+ companies?: (google.cloud.talent.v4beta1.ICompany[]|null);
+
+ /** ListCompaniesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCompaniesResponse metadata */
+ metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+ }
+
+ /** Represents a ListCompaniesResponse. */
+ class ListCompaniesResponse implements IListCompaniesResponse {
+
+ /**
+ * Constructs a new ListCompaniesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListCompaniesResponse);
+
+ /** ListCompaniesResponse companies. */
+ public companies: google.cloud.talent.v4beta1.ICompany[];
+
+ /** ListCompaniesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCompaniesResponse metadata. */
+ public metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListCompaniesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCompaniesResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListCompaniesResponse): google.cloud.talent.v4beta1.ListCompaniesResponse;
+
+ /**
+ * Encodes the specified ListCompaniesResponse message. Does not implicitly {@link google.cloud.talent.v4beta1.ListCompaniesResponse.verify|verify} messages.
+ * @param message ListCompaniesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCompaniesResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListCompaniesResponse.verify|verify} messages.
+ * @param message ListCompaniesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListCompaniesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCompaniesResponse
+ * @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.cloud.talent.v4beta1.ListCompaniesResponse;
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCompaniesResponse
+ * @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.cloud.talent.v4beta1.ListCompaniesResponse;
+
+ /**
+ * Verifies a ListCompaniesResponse 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 ListCompaniesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCompaniesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListCompaniesResponse;
+
+ /**
+ * Creates a plain object from a ListCompaniesResponse message. Also converts values to other types if specified.
+ * @param message ListCompaniesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListCompaniesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCompaniesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCompaniesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a Completion */
+ class Completion extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Completion 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 Completion 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): Completion;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompleteQueryResponse
+ */
+ public completeQuery(request: google.cloud.talent.v4beta1.ICompleteQueryRequest, callback: google.cloud.talent.v4beta1.Completion.CompleteQueryCallback): void;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @returns Promise
+ */
+ public completeQuery(request: google.cloud.talent.v4beta1.ICompleteQueryRequest): Promise;
+ }
+
+ namespace Completion {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.Completion|completeQuery}.
+ * @param error Error, if any
+ * @param [response] CompleteQueryResponse
+ */
+ type CompleteQueryCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.CompleteQueryResponse) => void;
+ }
+
+ /** Properties of a CompleteQueryRequest. */
+ interface ICompleteQueryRequest {
+
+ /** CompleteQueryRequest parent */
+ parent?: (string|null);
+
+ /** CompleteQueryRequest query */
+ query?: (string|null);
+
+ /** CompleteQueryRequest languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** CompleteQueryRequest pageSize */
+ pageSize?: (number|null);
+
+ /** CompleteQueryRequest company */
+ company?: (string|null);
+
+ /** CompleteQueryRequest scope */
+ scope?: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionScope|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionScope|null);
+
+ /** CompleteQueryRequest type */
+ type?: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|null);
+ }
+
+ /** Represents a CompleteQueryRequest. */
+ class CompleteQueryRequest implements ICompleteQueryRequest {
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICompleteQueryRequest);
+
+ /** CompleteQueryRequest parent. */
+ public parent: string;
+
+ /** CompleteQueryRequest query. */
+ public query: string;
+
+ /** CompleteQueryRequest languageCodes. */
+ public languageCodes: string[];
+
+ /** CompleteQueryRequest pageSize. */
+ public pageSize: number;
+
+ /** CompleteQueryRequest company. */
+ public company: string;
+
+ /** CompleteQueryRequest scope. */
+ public scope: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionScope|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionScope);
+
+ /** CompleteQueryRequest type. */
+ public type: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType);
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICompleteQueryRequest): google.cloud.talent.v4beta1.CompleteQueryRequest;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryRequest.verify|verify} messages.
+ * @param message CompleteQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryRequest.verify|verify} messages.
+ * @param message CompleteQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompleteQueryRequest
+ * @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.cloud.talent.v4beta1.CompleteQueryRequest;
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompleteQueryRequest
+ * @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.cloud.talent.v4beta1.CompleteQueryRequest;
+
+ /**
+ * Verifies a CompleteQueryRequest 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 CompleteQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompleteQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompleteQueryRequest;
+
+ /**
+ * Creates a plain object from a CompleteQueryRequest message. Also converts values to other types if specified.
+ * @param message CompleteQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompleteQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompleteQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompleteQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompleteQueryRequest {
+
+ /** CompletionScope enum. */
+ enum CompletionScope {
+ COMPLETION_SCOPE_UNSPECIFIED = 0,
+ TENANT = 1,
+ PUBLIC = 2
+ }
+
+ /** CompletionType enum. */
+ enum CompletionType {
+ COMPLETION_TYPE_UNSPECIFIED = 0,
+ JOB_TITLE = 1,
+ COMPANY_NAME = 2,
+ COMBINED = 3
+ }
+ }
+
+ /** Properties of a CompleteQueryResponse. */
+ interface ICompleteQueryResponse {
+
+ /** CompleteQueryResponse completionResults */
+ completionResults?: (google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult[]|null);
+
+ /** CompleteQueryResponse metadata */
+ metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+ }
+
+ /** Represents a CompleteQueryResponse. */
+ class CompleteQueryResponse implements ICompleteQueryResponse {
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICompleteQueryResponse);
+
+ /** CompleteQueryResponse completionResults. */
+ public completionResults: google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult[];
+
+ /** CompleteQueryResponse metadata. */
+ public metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICompleteQueryResponse): google.cloud.talent.v4beta1.CompleteQueryResponse;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryResponse.verify|verify} messages.
+ * @param message CompleteQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryResponse.verify|verify} messages.
+ * @param message CompleteQueryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompleteQueryResponse
+ * @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.cloud.talent.v4beta1.CompleteQueryResponse;
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompleteQueryResponse
+ * @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.cloud.talent.v4beta1.CompleteQueryResponse;
+
+ /**
+ * Verifies a CompleteQueryResponse 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 CompleteQueryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompleteQueryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompleteQueryResponse;
+
+ /**
+ * Creates a plain object from a CompleteQueryResponse message. Also converts values to other types if specified.
+ * @param message CompleteQueryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompleteQueryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompleteQueryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompleteQueryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompleteQueryResponse {
+
+ /** Properties of a CompletionResult. */
+ interface ICompletionResult {
+
+ /** CompletionResult suggestion */
+ suggestion?: (string|null);
+
+ /** CompletionResult type */
+ type?: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|null);
+
+ /** CompletionResult imageUri */
+ imageUri?: (string|null);
+ }
+
+ /** Represents a CompletionResult. */
+ class CompletionResult implements ICompletionResult {
+
+ /**
+ * Constructs a new CompletionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult);
+
+ /** CompletionResult suggestion. */
+ public suggestion: string;
+
+ /** CompletionResult type. */
+ public type: (google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType|keyof typeof google.cloud.talent.v4beta1.CompleteQueryRequest.CompletionType);
+
+ /** CompletionResult imageUri. */
+ public imageUri: string;
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult): google.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @param message CompletionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @param message CompletionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionResult
+ * @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.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionResult
+ * @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.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Verifies a CompletionResult 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 CompletionResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Creates a plain object from a CompletionResult message. Also converts values to other types if specified.
+ * @param message CompletionResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompleteQueryResponse.CompletionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ClientEvent. */
+ interface IClientEvent {
+
+ /** ClientEvent requestId */
+ requestId?: (string|null);
+
+ /** ClientEvent eventId */
+ eventId?: (string|null);
+
+ /** ClientEvent createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ClientEvent jobEvent */
+ jobEvent?: (google.cloud.talent.v4beta1.IJobEvent|null);
+
+ /** ClientEvent eventNotes */
+ eventNotes?: (string|null);
+ }
+
+ /** Represents a ClientEvent. */
+ class ClientEvent implements IClientEvent {
+
+ /**
+ * Constructs a new ClientEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IClientEvent);
+
+ /** ClientEvent requestId. */
+ public requestId: string;
+
+ /** ClientEvent eventId. */
+ public eventId: string;
+
+ /** ClientEvent createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ClientEvent jobEvent. */
+ public jobEvent?: (google.cloud.talent.v4beta1.IJobEvent|null);
+
+ /** ClientEvent eventNotes. */
+ public eventNotes: string;
+
+ /** ClientEvent event. */
+ public event?: "jobEvent";
+
+ /**
+ * Creates a new ClientEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ClientEvent instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IClientEvent): google.cloud.talent.v4beta1.ClientEvent;
+
+ /**
+ * Encodes the specified ClientEvent message. Does not implicitly {@link google.cloud.talent.v4beta1.ClientEvent.verify|verify} messages.
+ * @param message ClientEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IClientEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ClientEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ClientEvent.verify|verify} messages.
+ * @param message ClientEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IClientEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ClientEvent
+ * @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.cloud.talent.v4beta1.ClientEvent;
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ClientEvent
+ * @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.cloud.talent.v4beta1.ClientEvent;
+
+ /**
+ * Verifies a ClientEvent 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 ClientEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ClientEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ClientEvent;
+
+ /**
+ * Creates a plain object from a ClientEvent message. Also converts values to other types if specified.
+ * @param message ClientEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ClientEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ClientEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ClientEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobEvent. */
+ interface IJobEvent {
+
+ /** JobEvent type */
+ type?: (google.cloud.talent.v4beta1.JobEvent.JobEventType|keyof typeof google.cloud.talent.v4beta1.JobEvent.JobEventType|null);
+
+ /** JobEvent jobs */
+ jobs?: (string[]|null);
+
+ /** JobEvent profile */
+ profile?: (string|null);
+ }
+
+ /** Represents a JobEvent. */
+ class JobEvent implements IJobEvent {
+
+ /**
+ * Constructs a new JobEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IJobEvent);
+
+ /** JobEvent type. */
+ public type: (google.cloud.talent.v4beta1.JobEvent.JobEventType|keyof typeof google.cloud.talent.v4beta1.JobEvent.JobEventType);
+
+ /** JobEvent jobs. */
+ public jobs: string[];
+
+ /** JobEvent profile. */
+ public profile: string;
+
+ /**
+ * Creates a new JobEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobEvent instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IJobEvent): google.cloud.talent.v4beta1.JobEvent;
+
+ /**
+ * Encodes the specified JobEvent message. Does not implicitly {@link google.cloud.talent.v4beta1.JobEvent.verify|verify} messages.
+ * @param message JobEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IJobEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.JobEvent.verify|verify} messages.
+ * @param message JobEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IJobEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobEvent
+ * @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.cloud.talent.v4beta1.JobEvent;
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobEvent
+ * @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.cloud.talent.v4beta1.JobEvent;
+
+ /**
+ * Verifies a JobEvent 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 JobEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.JobEvent;
+
+ /**
+ * Creates a plain object from a JobEvent message. Also converts values to other types if specified.
+ * @param message JobEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.JobEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace JobEvent {
+
+ /** JobEventType enum. */
+ enum JobEventType {
+ JOB_EVENT_TYPE_UNSPECIFIED = 0,
+ IMPRESSION = 1,
+ VIEW = 2,
+ VIEW_REDIRECT = 3,
+ APPLICATION_START = 4,
+ APPLICATION_FINISH = 5,
+ APPLICATION_QUICK_SUBMISSION = 6,
+ APPLICATION_REDIRECT = 7,
+ APPLICATION_START_FROM_SEARCH = 8,
+ APPLICATION_REDIRECT_FROM_SEARCH = 9,
+ APPLICATION_COMPANY_SUBMIT = 10,
+ BOOKMARK = 11,
+ NOTIFICATION = 12,
+ HIRED = 13,
+ SENT_CV = 14,
+ INTERVIEW_GRANTED = 15
+ }
+ }
+
+ /** Represents an EventService */
+ class EventService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new EventService 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 EventService 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): EventService;
+
+ /**
+ * Calls CreateClientEvent.
+ * @param request CreateClientEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ClientEvent
+ */
+ public createClientEvent(request: google.cloud.talent.v4beta1.ICreateClientEventRequest, callback: google.cloud.talent.v4beta1.EventService.CreateClientEventCallback): void;
+
+ /**
+ * Calls CreateClientEvent.
+ * @param request CreateClientEventRequest message or plain object
+ * @returns Promise
+ */
+ public createClientEvent(request: google.cloud.talent.v4beta1.ICreateClientEventRequest): Promise;
+ }
+
+ namespace EventService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.EventService|createClientEvent}.
+ * @param error Error, if any
+ * @param [response] ClientEvent
+ */
+ type CreateClientEventCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.ClientEvent) => void;
+ }
+
+ /** Properties of a CreateClientEventRequest. */
+ interface ICreateClientEventRequest {
+
+ /** CreateClientEventRequest parent */
+ parent?: (string|null);
+
+ /** CreateClientEventRequest clientEvent */
+ clientEvent?: (google.cloud.talent.v4beta1.IClientEvent|null);
+ }
+
+ /** Represents a CreateClientEventRequest. */
+ class CreateClientEventRequest implements ICreateClientEventRequest {
+
+ /**
+ * Constructs a new CreateClientEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICreateClientEventRequest);
+
+ /** CreateClientEventRequest parent. */
+ public parent: string;
+
+ /** CreateClientEventRequest clientEvent. */
+ public clientEvent?: (google.cloud.talent.v4beta1.IClientEvent|null);
+
+ /**
+ * Creates a new CreateClientEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateClientEventRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICreateClientEventRequest): google.cloud.talent.v4beta1.CreateClientEventRequest;
+
+ /**
+ * Encodes the specified CreateClientEventRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.CreateClientEventRequest.verify|verify} messages.
+ * @param message CreateClientEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICreateClientEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateClientEventRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CreateClientEventRequest.verify|verify} messages.
+ * @param message CreateClientEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICreateClientEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateClientEventRequest
+ * @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.cloud.talent.v4beta1.CreateClientEventRequest;
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateClientEventRequest
+ * @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.cloud.talent.v4beta1.CreateClientEventRequest;
+
+ /**
+ * Verifies a CreateClientEventRequest 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 CreateClientEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateClientEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CreateClientEventRequest;
+
+ /**
+ * Creates a plain object from a CreateClientEventRequest message. Also converts values to other types if specified.
+ * @param message CreateClientEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CreateClientEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateClientEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateClientEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobQuery. */
+ interface IJobQuery {
+
+ /** JobQuery query */
+ query?: (string|null);
+
+ /** JobQuery queryLanguageCode */
+ queryLanguageCode?: (string|null);
+
+ /** JobQuery companies */
+ companies?: (string[]|null);
+
+ /** JobQuery locationFilters */
+ locationFilters?: (google.cloud.talent.v4beta1.ILocationFilter[]|null);
+
+ /** JobQuery jobCategories */
+ jobCategories?: (google.cloud.talent.v4beta1.JobCategory[]|null);
+
+ /** JobQuery commuteFilter */
+ commuteFilter?: (google.cloud.talent.v4beta1.ICommuteFilter|null);
+
+ /** JobQuery companyDisplayNames */
+ companyDisplayNames?: (string[]|null);
+
+ /** JobQuery compensationFilter */
+ compensationFilter?: (google.cloud.talent.v4beta1.ICompensationFilter|null);
+
+ /** JobQuery customAttributeFilter */
+ customAttributeFilter?: (string|null);
+
+ /** JobQuery disableSpellCheck */
+ disableSpellCheck?: (boolean|null);
+
+ /** JobQuery employmentTypes */
+ employmentTypes?: (google.cloud.talent.v4beta1.EmploymentType[]|null);
+
+ /** JobQuery languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** JobQuery publishTimeRange */
+ publishTimeRange?: (google.cloud.talent.v4beta1.ITimestampRange|null);
+
+ /** JobQuery excludedJobs */
+ excludedJobs?: (string[]|null);
+ }
+
+ /** Represents a JobQuery. */
+ class JobQuery implements IJobQuery {
+
+ /**
+ * Constructs a new JobQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IJobQuery);
+
+ /** JobQuery query. */
+ public query: string;
+
+ /** JobQuery queryLanguageCode. */
+ public queryLanguageCode: string;
+
+ /** JobQuery companies. */
+ public companies: string[];
+
+ /** JobQuery locationFilters. */
+ public locationFilters: google.cloud.talent.v4beta1.ILocationFilter[];
+
+ /** JobQuery jobCategories. */
+ public jobCategories: google.cloud.talent.v4beta1.JobCategory[];
+
+ /** JobQuery commuteFilter. */
+ public commuteFilter?: (google.cloud.talent.v4beta1.ICommuteFilter|null);
+
+ /** JobQuery companyDisplayNames. */
+ public companyDisplayNames: string[];
+
+ /** JobQuery compensationFilter. */
+ public compensationFilter?: (google.cloud.talent.v4beta1.ICompensationFilter|null);
+
+ /** JobQuery customAttributeFilter. */
+ public customAttributeFilter: string;
+
+ /** JobQuery disableSpellCheck. */
+ public disableSpellCheck: boolean;
+
+ /** JobQuery employmentTypes. */
+ public employmentTypes: google.cloud.talent.v4beta1.EmploymentType[];
+
+ /** JobQuery languageCodes. */
+ public languageCodes: string[];
+
+ /** JobQuery publishTimeRange. */
+ public publishTimeRange?: (google.cloud.talent.v4beta1.ITimestampRange|null);
+
+ /** JobQuery excludedJobs. */
+ public excludedJobs: string[];
+
+ /**
+ * Creates a new JobQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobQuery instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IJobQuery): google.cloud.talent.v4beta1.JobQuery;
+
+ /**
+ * Encodes the specified JobQuery message. Does not implicitly {@link google.cloud.talent.v4beta1.JobQuery.verify|verify} messages.
+ * @param message JobQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IJobQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.JobQuery.verify|verify} messages.
+ * @param message JobQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IJobQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobQuery
+ * @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.cloud.talent.v4beta1.JobQuery;
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobQuery
+ * @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.cloud.talent.v4beta1.JobQuery;
+
+ /**
+ * Verifies a JobQuery 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 JobQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.JobQuery;
+
+ /**
+ * Creates a plain object from a JobQuery message. Also converts values to other types if specified.
+ * @param message JobQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.JobQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocationFilter. */
+ interface ILocationFilter {
+
+ /** LocationFilter address */
+ address?: (string|null);
+
+ /** LocationFilter regionCode */
+ regionCode?: (string|null);
+
+ /** LocationFilter latLng */
+ latLng?: (google.type.ILatLng|null);
+
+ /** LocationFilter distanceInMiles */
+ distanceInMiles?: (number|null);
+
+ /** LocationFilter telecommutePreference */
+ telecommutePreference?: (google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference|keyof typeof google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference|null);
+
+ /** LocationFilter negated */
+ negated?: (boolean|null);
+ }
+
+ /** Represents a LocationFilter. */
+ class LocationFilter implements ILocationFilter {
+
+ /**
+ * Constructs a new LocationFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ILocationFilter);
+
+ /** LocationFilter address. */
+ public address: string;
+
+ /** LocationFilter regionCode. */
+ public regionCode: string;
+
+ /** LocationFilter latLng. */
+ public latLng?: (google.type.ILatLng|null);
+
+ /** LocationFilter distanceInMiles. */
+ public distanceInMiles: number;
+
+ /** LocationFilter telecommutePreference. */
+ public telecommutePreference: (google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference|keyof typeof google.cloud.talent.v4beta1.LocationFilter.TelecommutePreference);
+
+ /** LocationFilter negated. */
+ public negated: boolean;
+
+ /**
+ * Creates a new LocationFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ILocationFilter): google.cloud.talent.v4beta1.LocationFilter;
+
+ /**
+ * Encodes the specified LocationFilter message. Does not implicitly {@link google.cloud.talent.v4beta1.LocationFilter.verify|verify} messages.
+ * @param message LocationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ILocationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.LocationFilter.verify|verify} messages.
+ * @param message LocationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ILocationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationFilter
+ * @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.cloud.talent.v4beta1.LocationFilter;
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationFilter
+ * @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.cloud.talent.v4beta1.LocationFilter;
+
+ /**
+ * Verifies a LocationFilter 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 LocationFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.LocationFilter;
+
+ /**
+ * Creates a plain object from a LocationFilter message. Also converts values to other types if specified.
+ * @param message LocationFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.LocationFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LocationFilter {
+
+ /** TelecommutePreference enum. */
+ enum TelecommutePreference {
+ TELECOMMUTE_PREFERENCE_UNSPECIFIED = 0,
+ TELECOMMUTE_EXCLUDED = 1,
+ TELECOMMUTE_ALLOWED = 2,
+ TELECOMMUTE_JOBS_EXCLUDED = 3
+ }
+ }
+
+ /** Properties of a CompensationFilter. */
+ interface ICompensationFilter {
+
+ /** CompensationFilter type */
+ type?: (google.cloud.talent.v4beta1.CompensationFilter.FilterType|keyof typeof google.cloud.talent.v4beta1.CompensationFilter.FilterType|null);
+
+ /** CompensationFilter units */
+ units?: (google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit[]|null);
+
+ /** CompensationFilter range */
+ range?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationFilter includeJobsWithUnspecifiedCompensationRange */
+ includeJobsWithUnspecifiedCompensationRange?: (boolean|null);
+ }
+
+ /** Represents a CompensationFilter. */
+ class CompensationFilter implements ICompensationFilter {
+
+ /**
+ * Constructs a new CompensationFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICompensationFilter);
+
+ /** CompensationFilter type. */
+ public type: (google.cloud.talent.v4beta1.CompensationFilter.FilterType|keyof typeof google.cloud.talent.v4beta1.CompensationFilter.FilterType);
+
+ /** CompensationFilter units. */
+ public units: google.cloud.talent.v4beta1.CompensationInfo.CompensationUnit[];
+
+ /** CompensationFilter range. */
+ public range?: (google.cloud.talent.v4beta1.CompensationInfo.ICompensationRange|null);
+
+ /** CompensationFilter includeJobsWithUnspecifiedCompensationRange. */
+ public includeJobsWithUnspecifiedCompensationRange: boolean;
+
+ /**
+ * Creates a new CompensationFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompensationFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICompensationFilter): google.cloud.talent.v4beta1.CompensationFilter;
+
+ /**
+ * Encodes the specified CompensationFilter message. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationFilter.verify|verify} messages.
+ * @param message CompensationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICompensationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompensationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CompensationFilter.verify|verify} messages.
+ * @param message CompensationFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICompensationFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompensationFilter
+ * @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.cloud.talent.v4beta1.CompensationFilter;
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompensationFilter
+ * @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.cloud.talent.v4beta1.CompensationFilter;
+
+ /**
+ * Verifies a CompensationFilter 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 CompensationFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompensationFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CompensationFilter;
+
+ /**
+ * Creates a plain object from a CompensationFilter message. Also converts values to other types if specified.
+ * @param message CompensationFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CompensationFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompensationFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompensationFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CompensationFilter {
+
+ /** FilterType enum. */
+ enum FilterType {
+ FILTER_TYPE_UNSPECIFIED = 0,
+ UNIT_ONLY = 1,
+ UNIT_AND_AMOUNT = 2,
+ ANNUALIZED_BASE_AMOUNT = 3,
+ ANNUALIZED_TOTAL_AMOUNT = 4
+ }
+ }
+
+ /** Properties of a CommuteFilter. */
+ interface ICommuteFilter {
+
+ /** CommuteFilter commuteMethod */
+ commuteMethod?: (google.cloud.talent.v4beta1.CommuteMethod|keyof typeof google.cloud.talent.v4beta1.CommuteMethod|null);
+
+ /** CommuteFilter startCoordinates */
+ startCoordinates?: (google.type.ILatLng|null);
+
+ /** CommuteFilter travelDuration */
+ travelDuration?: (google.protobuf.IDuration|null);
+
+ /** CommuteFilter allowImpreciseAddresses */
+ allowImpreciseAddresses?: (boolean|null);
+
+ /** CommuteFilter roadTraffic */
+ roadTraffic?: (google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic|keyof typeof google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic|null);
+
+ /** CommuteFilter departureTime */
+ departureTime?: (google.type.ITimeOfDay|null);
+ }
+
+ /** Represents a CommuteFilter. */
+ class CommuteFilter implements ICommuteFilter {
+
+ /**
+ * Constructs a new CommuteFilter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICommuteFilter);
+
+ /** CommuteFilter commuteMethod. */
+ public commuteMethod: (google.cloud.talent.v4beta1.CommuteMethod|keyof typeof google.cloud.talent.v4beta1.CommuteMethod);
+
+ /** CommuteFilter startCoordinates. */
+ public startCoordinates?: (google.type.ILatLng|null);
+
+ /** CommuteFilter travelDuration. */
+ public travelDuration?: (google.protobuf.IDuration|null);
+
+ /** CommuteFilter allowImpreciseAddresses. */
+ public allowImpreciseAddresses: boolean;
+
+ /** CommuteFilter roadTraffic. */
+ public roadTraffic?: (google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic|keyof typeof google.cloud.talent.v4beta1.CommuteFilter.RoadTraffic|null);
+
+ /** CommuteFilter departureTime. */
+ public departureTime?: (google.type.ITimeOfDay|null);
+
+ /** CommuteFilter trafficOption. */
+ public trafficOption?: ("roadTraffic"|"departureTime");
+
+ /**
+ * Creates a new CommuteFilter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommuteFilter instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICommuteFilter): google.cloud.talent.v4beta1.CommuteFilter;
+
+ /**
+ * Encodes the specified CommuteFilter message. Does not implicitly {@link google.cloud.talent.v4beta1.CommuteFilter.verify|verify} messages.
+ * @param message CommuteFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICommuteFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommuteFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CommuteFilter.verify|verify} messages.
+ * @param message CommuteFilter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICommuteFilter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommuteFilter
+ * @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.cloud.talent.v4beta1.CommuteFilter;
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommuteFilter
+ * @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.cloud.talent.v4beta1.CommuteFilter;
+
+ /**
+ * Verifies a CommuteFilter 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 CommuteFilter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommuteFilter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CommuteFilter;
+
+ /**
+ * Creates a plain object from a CommuteFilter message. Also converts values to other types if specified.
+ * @param message CommuteFilter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CommuteFilter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommuteFilter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommuteFilter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CommuteFilter {
+
+ /** RoadTraffic enum. */
+ enum RoadTraffic {
+ ROAD_TRAFFIC_UNSPECIFIED = 0,
+ TRAFFIC_FREE = 1,
+ BUSY_HOUR = 2
+ }
+ }
+
+ /** Properties of a HistogramQuery. */
+ interface IHistogramQuery {
+
+ /** HistogramQuery histogramQuery */
+ histogramQuery?: (string|null);
+ }
+
+ /** Represents a HistogramQuery. */
+ class HistogramQuery implements IHistogramQuery {
+
+ /**
+ * Constructs a new HistogramQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IHistogramQuery);
+
+ /** HistogramQuery histogramQuery. */
+ public histogramQuery: string;
+
+ /**
+ * Creates a new HistogramQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HistogramQuery instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IHistogramQuery): google.cloud.talent.v4beta1.HistogramQuery;
+
+ /**
+ * Encodes the specified HistogramQuery message. Does not implicitly {@link google.cloud.talent.v4beta1.HistogramQuery.verify|verify} messages.
+ * @param message HistogramQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IHistogramQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HistogramQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.HistogramQuery.verify|verify} messages.
+ * @param message HistogramQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IHistogramQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HistogramQuery
+ * @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.cloud.talent.v4beta1.HistogramQuery;
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HistogramQuery
+ * @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.cloud.talent.v4beta1.HistogramQuery;
+
+ /**
+ * Verifies a HistogramQuery 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 HistogramQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HistogramQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.HistogramQuery;
+
+ /**
+ * Creates a plain object from a HistogramQuery message. Also converts values to other types if specified.
+ * @param message HistogramQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.HistogramQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HistogramQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HistogramQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HistogramQueryResult. */
+ interface IHistogramQueryResult {
+
+ /** HistogramQueryResult histogramQuery */
+ histogramQuery?: (string|null);
+
+ /** HistogramQueryResult histogram */
+ histogram?: ({ [k: string]: (number|Long|string) }|null);
+ }
+
+ /** Represents a HistogramQueryResult. */
+ class HistogramQueryResult implements IHistogramQueryResult {
+
+ /**
+ * Constructs a new HistogramQueryResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IHistogramQueryResult);
+
+ /** HistogramQueryResult histogramQuery. */
+ public histogramQuery: string;
+
+ /** HistogramQueryResult histogram. */
+ public histogram: { [k: string]: (number|Long|string) };
+
+ /**
+ * Creates a new HistogramQueryResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HistogramQueryResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IHistogramQueryResult): google.cloud.talent.v4beta1.HistogramQueryResult;
+
+ /**
+ * Encodes the specified HistogramQueryResult message. Does not implicitly {@link google.cloud.talent.v4beta1.HistogramQueryResult.verify|verify} messages.
+ * @param message HistogramQueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IHistogramQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HistogramQueryResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.HistogramQueryResult.verify|verify} messages.
+ * @param message HistogramQueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IHistogramQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HistogramQueryResult
+ * @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.cloud.talent.v4beta1.HistogramQueryResult;
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HistogramQueryResult
+ * @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.cloud.talent.v4beta1.HistogramQueryResult;
+
+ /**
+ * Verifies a HistogramQueryResult 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 HistogramQueryResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HistogramQueryResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.HistogramQueryResult;
+
+ /**
+ * Creates a plain object from a HistogramQueryResult message. Also converts values to other types if specified.
+ * @param message HistogramQueryResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.HistogramQueryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HistogramQueryResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HistogramQueryResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Job. */
+ interface IJob {
+
+ /** Job name */
+ name?: (string|null);
+
+ /** Job company */
+ company?: (string|null);
+
+ /** Job requisitionId */
+ requisitionId?: (string|null);
+
+ /** Job title */
+ title?: (string|null);
+
+ /** Job description */
+ description?: (string|null);
+
+ /** Job addresses */
+ addresses?: (string[]|null);
+
+ /** Job applicationInfo */
+ applicationInfo?: (google.cloud.talent.v4beta1.Job.IApplicationInfo|null);
+
+ /** Job jobBenefits */
+ jobBenefits?: (google.cloud.talent.v4beta1.JobBenefit[]|null);
+
+ /** Job compensationInfo */
+ compensationInfo?: (google.cloud.talent.v4beta1.ICompensationInfo|null);
+
+ /** Job customAttributes */
+ customAttributes?: ({ [k: string]: google.cloud.talent.v4beta1.ICustomAttribute }|null);
+
+ /** Job degreeTypes */
+ degreeTypes?: (google.cloud.talent.v4beta1.DegreeType[]|null);
+
+ /** Job department */
+ department?: (string|null);
+
+ /** Job employmentTypes */
+ employmentTypes?: (google.cloud.talent.v4beta1.EmploymentType[]|null);
+
+ /** Job incentives */
+ incentives?: (string|null);
+
+ /** Job languageCode */
+ languageCode?: (string|null);
+
+ /** Job jobLevel */
+ jobLevel?: (google.cloud.talent.v4beta1.JobLevel|keyof typeof google.cloud.talent.v4beta1.JobLevel|null);
+
+ /** Job promotionValue */
+ promotionValue?: (number|null);
+
+ /** Job qualifications */
+ qualifications?: (string|null);
+
+ /** Job responsibilities */
+ responsibilities?: (string|null);
+
+ /** Job postingRegion */
+ postingRegion?: (google.cloud.talent.v4beta1.PostingRegion|keyof typeof google.cloud.talent.v4beta1.PostingRegion|null);
+
+ /** Job visibility */
+ visibility?: (google.cloud.talent.v4beta1.Visibility|keyof typeof google.cloud.talent.v4beta1.Visibility|null);
+
+ /** Job jobStartTime */
+ jobStartTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job jobEndTime */
+ jobEndTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingPublishTime */
+ postingPublishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingExpireTime */
+ postingExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingCreateTime */
+ postingCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingUpdateTime */
+ postingUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job companyDisplayName */
+ companyDisplayName?: (string|null);
+
+ /** Job derivedInfo */
+ derivedInfo?: (google.cloud.talent.v4beta1.Job.IDerivedInfo|null);
+
+ /** Job processingOptions */
+ processingOptions?: (google.cloud.talent.v4beta1.Job.IProcessingOptions|null);
+ }
+
+ /** Represents a Job. */
+ class Job implements IJob {
+
+ /**
+ * Constructs a new Job.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IJob);
+
+ /** Job name. */
+ public name: string;
+
+ /** Job company. */
+ public company: string;
+
+ /** Job requisitionId. */
+ public requisitionId: string;
+
+ /** Job title. */
+ public title: string;
+
+ /** Job description. */
+ public description: string;
+
+ /** Job addresses. */
+ public addresses: string[];
+
+ /** Job applicationInfo. */
+ public applicationInfo?: (google.cloud.talent.v4beta1.Job.IApplicationInfo|null);
+
+ /** Job jobBenefits. */
+ public jobBenefits: google.cloud.talent.v4beta1.JobBenefit[];
+
+ /** Job compensationInfo. */
+ public compensationInfo?: (google.cloud.talent.v4beta1.ICompensationInfo|null);
+
+ /** Job customAttributes. */
+ public customAttributes: { [k: string]: google.cloud.talent.v4beta1.ICustomAttribute };
+
+ /** Job degreeTypes. */
+ public degreeTypes: google.cloud.talent.v4beta1.DegreeType[];
+
+ /** Job department. */
+ public department: string;
+
+ /** Job employmentTypes. */
+ public employmentTypes: google.cloud.talent.v4beta1.EmploymentType[];
+
+ /** Job incentives. */
+ public incentives: string;
+
+ /** Job languageCode. */
+ public languageCode: string;
+
+ /** Job jobLevel. */
+ public jobLevel: (google.cloud.talent.v4beta1.JobLevel|keyof typeof google.cloud.talent.v4beta1.JobLevel);
+
+ /** Job promotionValue. */
+ public promotionValue: number;
+
+ /** Job qualifications. */
+ public qualifications: string;
+
+ /** Job responsibilities. */
+ public responsibilities: string;
+
+ /** Job postingRegion. */
+ public postingRegion: (google.cloud.talent.v4beta1.PostingRegion|keyof typeof google.cloud.talent.v4beta1.PostingRegion);
+
+ /** Job visibility. */
+ public visibility: (google.cloud.talent.v4beta1.Visibility|keyof typeof google.cloud.talent.v4beta1.Visibility);
+
+ /** Job jobStartTime. */
+ public jobStartTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job jobEndTime. */
+ public jobEndTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingPublishTime. */
+ public postingPublishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingExpireTime. */
+ public postingExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingCreateTime. */
+ public postingCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job postingUpdateTime. */
+ public postingUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Job companyDisplayName. */
+ public companyDisplayName: string;
+
+ /** Job derivedInfo. */
+ public derivedInfo?: (google.cloud.talent.v4beta1.Job.IDerivedInfo|null);
+
+ /** Job processingOptions. */
+ public processingOptions?: (google.cloud.talent.v4beta1.Job.IProcessingOptions|null);
+
+ /**
+ * Creates a new Job instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Job instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IJob): google.cloud.talent.v4beta1.Job;
+
+ /**
+ * Encodes the specified Job message. Does not implicitly {@link google.cloud.talent.v4beta1.Job.verify|verify} messages.
+ * @param message Job message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Job message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Job.verify|verify} messages.
+ * @param message Job message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Job message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Job
+ * @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.cloud.talent.v4beta1.Job;
+
+ /**
+ * Decodes a Job message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Job
+ * @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.cloud.talent.v4beta1.Job;
+
+ /**
+ * Verifies a Job 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 Job message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Job
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Job;
+
+ /**
+ * Creates a plain object from a Job message. Also converts values to other types if specified.
+ * @param message Job
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Job, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Job to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Job
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Job {
+
+ /** Properties of an ApplicationInfo. */
+ interface IApplicationInfo {
+
+ /** ApplicationInfo emails */
+ emails?: (string[]|null);
+
+ /** ApplicationInfo instruction */
+ instruction?: (string|null);
+
+ /** ApplicationInfo uris */
+ uris?: (string[]|null);
+ }
+
+ /** Represents an ApplicationInfo. */
+ class ApplicationInfo implements IApplicationInfo {
+
+ /**
+ * Constructs a new ApplicationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.Job.IApplicationInfo);
+
+ /** ApplicationInfo emails. */
+ public emails: string[];
+
+ /** ApplicationInfo instruction. */
+ public instruction: string;
+
+ /** ApplicationInfo uris. */
+ public uris: string[];
+
+ /**
+ * Creates a new ApplicationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ApplicationInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.Job.IApplicationInfo): google.cloud.talent.v4beta1.Job.ApplicationInfo;
+
+ /**
+ * Encodes the specified ApplicationInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.Job.ApplicationInfo.verify|verify} messages.
+ * @param message ApplicationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.Job.IApplicationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ApplicationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Job.ApplicationInfo.verify|verify} messages.
+ * @param message ApplicationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.Job.IApplicationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ApplicationInfo
+ * @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.cloud.talent.v4beta1.Job.ApplicationInfo;
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ApplicationInfo
+ * @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.cloud.talent.v4beta1.Job.ApplicationInfo;
+
+ /**
+ * Verifies an ApplicationInfo 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 ApplicationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ApplicationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Job.ApplicationInfo;
+
+ /**
+ * Creates a plain object from an ApplicationInfo message. Also converts values to other types if specified.
+ * @param message ApplicationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Job.ApplicationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ApplicationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ApplicationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DerivedInfo. */
+ interface IDerivedInfo {
+
+ /** DerivedInfo locations */
+ locations?: (google.cloud.talent.v4beta1.ILocation[]|null);
+
+ /** DerivedInfo jobCategories */
+ jobCategories?: (google.cloud.talent.v4beta1.JobCategory[]|null);
+ }
+
+ /** Represents a DerivedInfo. */
+ class DerivedInfo implements IDerivedInfo {
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.Job.IDerivedInfo);
+
+ /** DerivedInfo locations. */
+ public locations: google.cloud.talent.v4beta1.ILocation[];
+
+ /** DerivedInfo jobCategories. */
+ public jobCategories: google.cloud.talent.v4beta1.JobCategory[];
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DerivedInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.Job.IDerivedInfo): google.cloud.talent.v4beta1.Job.DerivedInfo;
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.Job.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.Job.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Job.DerivedInfo.verify|verify} messages.
+ * @param message DerivedInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.Job.IDerivedInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4beta1.Job.DerivedInfo;
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DerivedInfo
+ * @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.cloud.talent.v4beta1.Job.DerivedInfo;
+
+ /**
+ * Verifies a DerivedInfo 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 DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DerivedInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Job.DerivedInfo;
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @param message DerivedInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Job.DerivedInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProcessingOptions. */
+ interface IProcessingOptions {
+
+ /** ProcessingOptions disableStreetAddressResolution */
+ disableStreetAddressResolution?: (boolean|null);
+
+ /** ProcessingOptions htmlSanitization */
+ htmlSanitization?: (google.cloud.talent.v4beta1.HtmlSanitization|keyof typeof google.cloud.talent.v4beta1.HtmlSanitization|null);
+ }
+
+ /** Represents a ProcessingOptions. */
+ class ProcessingOptions implements IProcessingOptions {
+
+ /**
+ * Constructs a new ProcessingOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.Job.IProcessingOptions);
+
+ /** ProcessingOptions disableStreetAddressResolution. */
+ public disableStreetAddressResolution: boolean;
+
+ /** ProcessingOptions htmlSanitization. */
+ public htmlSanitization: (google.cloud.talent.v4beta1.HtmlSanitization|keyof typeof google.cloud.talent.v4beta1.HtmlSanitization);
+
+ /**
+ * Creates a new ProcessingOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProcessingOptions instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.Job.IProcessingOptions): google.cloud.talent.v4beta1.Job.ProcessingOptions;
+
+ /**
+ * Encodes the specified ProcessingOptions message. Does not implicitly {@link google.cloud.talent.v4beta1.Job.ProcessingOptions.verify|verify} messages.
+ * @param message ProcessingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.Job.IProcessingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProcessingOptions message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Job.ProcessingOptions.verify|verify} messages.
+ * @param message ProcessingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.Job.IProcessingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProcessingOptions
+ * @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.cloud.talent.v4beta1.Job.ProcessingOptions;
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProcessingOptions
+ * @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.cloud.talent.v4beta1.Job.ProcessingOptions;
+
+ /**
+ * Verifies a ProcessingOptions 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 ProcessingOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProcessingOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Job.ProcessingOptions;
+
+ /**
+ * Creates a plain object from a ProcessingOptions message. Also converts values to other types if specified.
+ * @param message ProcessingOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Job.ProcessingOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProcessingOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProcessingOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a JobService */
+ class JobService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new JobService 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 JobService 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): JobService;
+
+ /**
+ * Calls CreateJob.
+ * @param request CreateJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public createJob(request: google.cloud.talent.v4beta1.ICreateJobRequest, callback: google.cloud.talent.v4beta1.JobService.CreateJobCallback): void;
+
+ /**
+ * Calls CreateJob.
+ * @param request CreateJobRequest message or plain object
+ * @returns Promise
+ */
+ public createJob(request: google.cloud.talent.v4beta1.ICreateJobRequest): Promise;
+
+ /**
+ * Calls BatchCreateJobs.
+ * @param request BatchCreateJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public batchCreateJobs(request: google.cloud.talent.v4beta1.IBatchCreateJobsRequest, callback: google.cloud.talent.v4beta1.JobService.BatchCreateJobsCallback): void;
+
+ /**
+ * Calls BatchCreateJobs.
+ * @param request BatchCreateJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchCreateJobs(request: google.cloud.talent.v4beta1.IBatchCreateJobsRequest): Promise;
+
+ /**
+ * Calls GetJob.
+ * @param request GetJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public getJob(request: google.cloud.talent.v4beta1.IGetJobRequest, callback: google.cloud.talent.v4beta1.JobService.GetJobCallback): void;
+
+ /**
+ * Calls GetJob.
+ * @param request GetJobRequest message or plain object
+ * @returns Promise
+ */
+ public getJob(request: google.cloud.talent.v4beta1.IGetJobRequest): Promise;
+
+ /**
+ * Calls UpdateJob.
+ * @param request UpdateJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Job
+ */
+ public updateJob(request: google.cloud.talent.v4beta1.IUpdateJobRequest, callback: google.cloud.talent.v4beta1.JobService.UpdateJobCallback): void;
+
+ /**
+ * Calls UpdateJob.
+ * @param request UpdateJobRequest message or plain object
+ * @returns Promise
+ */
+ public updateJob(request: google.cloud.talent.v4beta1.IUpdateJobRequest): Promise;
+
+ /**
+ * Calls BatchUpdateJobs.
+ * @param request BatchUpdateJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public batchUpdateJobs(request: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, callback: google.cloud.talent.v4beta1.JobService.BatchUpdateJobsCallback): void;
+
+ /**
+ * Calls BatchUpdateJobs.
+ * @param request BatchUpdateJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchUpdateJobs(request: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest): Promise;
+
+ /**
+ * Calls DeleteJob.
+ * @param request DeleteJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteJob(request: google.cloud.talent.v4beta1.IDeleteJobRequest, callback: google.cloud.talent.v4beta1.JobService.DeleteJobCallback): void;
+
+ /**
+ * Calls DeleteJob.
+ * @param request DeleteJobRequest message or plain object
+ * @returns Promise
+ */
+ public deleteJob(request: google.cloud.talent.v4beta1.IDeleteJobRequest): Promise;
+
+ /**
+ * Calls BatchDeleteJobs.
+ * @param request BatchDeleteJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public batchDeleteJobs(request: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, callback: google.cloud.talent.v4beta1.JobService.BatchDeleteJobsCallback): void;
+
+ /**
+ * Calls BatchDeleteJobs.
+ * @param request BatchDeleteJobsRequest message or plain object
+ * @returns Promise
+ */
+ public batchDeleteJobs(request: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest): Promise;
+
+ /**
+ * Calls ListJobs.
+ * @param request ListJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListJobsResponse
+ */
+ public listJobs(request: google.cloud.talent.v4beta1.IListJobsRequest, callback: google.cloud.talent.v4beta1.JobService.ListJobsCallback): void;
+
+ /**
+ * Calls ListJobs.
+ * @param request ListJobsRequest message or plain object
+ * @returns Promise
+ */
+ public listJobs(request: google.cloud.talent.v4beta1.IListJobsRequest): Promise;
+
+ /**
+ * Calls SearchJobs.
+ * @param request SearchJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchJobsResponse
+ */
+ public searchJobs(request: google.cloud.talent.v4beta1.ISearchJobsRequest, callback: google.cloud.talent.v4beta1.JobService.SearchJobsCallback): void;
+
+ /**
+ * Calls SearchJobs.
+ * @param request SearchJobsRequest message or plain object
+ * @returns Promise
+ */
+ public searchJobs(request: google.cloud.talent.v4beta1.ISearchJobsRequest): Promise;
+
+ /**
+ * Calls SearchJobsForAlert.
+ * @param request SearchJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchJobsResponse
+ */
+ public searchJobsForAlert(request: google.cloud.talent.v4beta1.ISearchJobsRequest, callback: google.cloud.talent.v4beta1.JobService.SearchJobsForAlertCallback): void;
+
+ /**
+ * Calls SearchJobsForAlert.
+ * @param request SearchJobsRequest message or plain object
+ * @returns Promise
+ */
+ public searchJobsForAlert(request: google.cloud.talent.v4beta1.ISearchJobsRequest): Promise;
+ }
+
+ namespace JobService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|createJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type CreateJobCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|batchCreateJobs}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type BatchCreateJobsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|getJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type GetJobCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|updateJob}.
+ * @param error Error, if any
+ * @param [response] Job
+ */
+ type UpdateJobCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Job) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|batchUpdateJobs}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type BatchUpdateJobsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|deleteJob}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteJobCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|batchDeleteJobs}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type BatchDeleteJobsCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|listJobs}.
+ * @param error Error, if any
+ * @param [response] ListJobsResponse
+ */
+ type ListJobsCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.ListJobsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|searchJobs}.
+ * @param error Error, if any
+ * @param [response] SearchJobsResponse
+ */
+ type SearchJobsCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.SearchJobsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.JobService|searchJobsForAlert}.
+ * @param error Error, if any
+ * @param [response] SearchJobsResponse
+ */
+ type SearchJobsForAlertCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.SearchJobsResponse) => void;
+ }
+
+ /** Properties of a CreateJobRequest. */
+ interface ICreateJobRequest {
+
+ /** CreateJobRequest parent */
+ parent?: (string|null);
+
+ /** CreateJobRequest job */
+ job?: (google.cloud.talent.v4beta1.IJob|null);
+ }
+
+ /** Represents a CreateJobRequest. */
+ class CreateJobRequest implements ICreateJobRequest {
+
+ /**
+ * Constructs a new CreateJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICreateJobRequest);
+
+ /** CreateJobRequest parent. */
+ public parent: string;
+
+ /** CreateJobRequest job. */
+ public job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /**
+ * Creates a new CreateJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICreateJobRequest): google.cloud.talent.v4beta1.CreateJobRequest;
+
+ /**
+ * Encodes the specified CreateJobRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.CreateJobRequest.verify|verify} messages.
+ * @param message CreateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICreateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CreateJobRequest.verify|verify} messages.
+ * @param message CreateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICreateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateJobRequest
+ * @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.cloud.talent.v4beta1.CreateJobRequest;
+
+ /**
+ * Decodes a CreateJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateJobRequest
+ * @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.cloud.talent.v4beta1.CreateJobRequest;
+
+ /**
+ * Verifies a CreateJobRequest 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 CreateJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CreateJobRequest;
+
+ /**
+ * Creates a plain object from a CreateJobRequest message. Also converts values to other types if specified.
+ * @param message CreateJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CreateJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetJobRequest. */
+ interface IGetJobRequest {
+
+ /** GetJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetJobRequest. */
+ class GetJobRequest implements IGetJobRequest {
+
+ /**
+ * Constructs a new GetJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IGetJobRequest);
+
+ /** GetJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IGetJobRequest): google.cloud.talent.v4beta1.GetJobRequest;
+
+ /**
+ * Encodes the specified GetJobRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.GetJobRequest.verify|verify} messages.
+ * @param message GetJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IGetJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.GetJobRequest.verify|verify} messages.
+ * @param message GetJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IGetJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetJobRequest
+ * @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.cloud.talent.v4beta1.GetJobRequest;
+
+ /**
+ * Decodes a GetJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetJobRequest
+ * @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.cloud.talent.v4beta1.GetJobRequest;
+
+ /**
+ * Verifies a GetJobRequest 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 GetJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.GetJobRequest;
+
+ /**
+ * Creates a plain object from a GetJobRequest message. Also converts values to other types if specified.
+ * @param message GetJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.GetJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateJobRequest. */
+ interface IUpdateJobRequest {
+
+ /** UpdateJobRequest job */
+ job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** UpdateJobRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateJobRequest. */
+ class UpdateJobRequest implements IUpdateJobRequest {
+
+ /**
+ * Constructs a new UpdateJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IUpdateJobRequest);
+
+ /** UpdateJobRequest job. */
+ public job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** UpdateJobRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IUpdateJobRequest): google.cloud.talent.v4beta1.UpdateJobRequest;
+
+ /**
+ * Encodes the specified UpdateJobRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateJobRequest.verify|verify} messages.
+ * @param message UpdateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IUpdateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateJobRequest.verify|verify} messages.
+ * @param message UpdateJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IUpdateJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateJobRequest
+ * @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.cloud.talent.v4beta1.UpdateJobRequest;
+
+ /**
+ * Decodes an UpdateJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateJobRequest
+ * @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.cloud.talent.v4beta1.UpdateJobRequest;
+
+ /**
+ * Verifies an UpdateJobRequest 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 UpdateJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.UpdateJobRequest;
+
+ /**
+ * Creates a plain object from an UpdateJobRequest message. Also converts values to other types if specified.
+ * @param message UpdateJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.UpdateJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteJobRequest. */
+ interface IDeleteJobRequest {
+
+ /** DeleteJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteJobRequest. */
+ class DeleteJobRequest implements IDeleteJobRequest {
+
+ /**
+ * Constructs a new DeleteJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IDeleteJobRequest);
+
+ /** DeleteJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteJobRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IDeleteJobRequest): google.cloud.talent.v4beta1.DeleteJobRequest;
+
+ /**
+ * Encodes the specified DeleteJobRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteJobRequest.verify|verify} messages.
+ * @param message DeleteJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IDeleteJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteJobRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteJobRequest.verify|verify} messages.
+ * @param message DeleteJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IDeleteJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteJobRequest
+ * @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.cloud.talent.v4beta1.DeleteJobRequest;
+
+ /**
+ * Decodes a DeleteJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteJobRequest
+ * @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.cloud.talent.v4beta1.DeleteJobRequest;
+
+ /**
+ * Verifies a DeleteJobRequest 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 DeleteJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.DeleteJobRequest;
+
+ /**
+ * Creates a plain object from a DeleteJobRequest message. Also converts values to other types if specified.
+ * @param message DeleteJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.DeleteJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchDeleteJobsRequest. */
+ interface IBatchDeleteJobsRequest {
+
+ /** BatchDeleteJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchDeleteJobsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a BatchDeleteJobsRequest. */
+ class BatchDeleteJobsRequest implements IBatchDeleteJobsRequest {
+
+ /**
+ * Constructs a new BatchDeleteJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest);
+
+ /** BatchDeleteJobsRequest parent. */
+ public parent: string;
+
+ /** BatchDeleteJobsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new BatchDeleteJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchDeleteJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest): google.cloud.talent.v4beta1.BatchDeleteJobsRequest;
+
+ /**
+ * Encodes the specified BatchDeleteJobsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.BatchDeleteJobsRequest.verify|verify} messages.
+ * @param message BatchDeleteJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchDeleteJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.BatchDeleteJobsRequest.verify|verify} messages.
+ * @param message BatchDeleteJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IBatchDeleteJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchDeleteJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchDeleteJobsRequest
+ * @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.cloud.talent.v4beta1.BatchDeleteJobsRequest;
+
+ /**
+ * Decodes a BatchDeleteJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchDeleteJobsRequest
+ * @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.cloud.talent.v4beta1.BatchDeleteJobsRequest;
+
+ /**
+ * Verifies a BatchDeleteJobsRequest 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 BatchDeleteJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchDeleteJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.BatchDeleteJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchDeleteJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchDeleteJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.BatchDeleteJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchDeleteJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchDeleteJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** JobView enum. */
+ enum JobView {
+ JOB_VIEW_UNSPECIFIED = 0,
+ JOB_VIEW_ID_ONLY = 1,
+ JOB_VIEW_MINIMAL = 2,
+ JOB_VIEW_SMALL = 3,
+ JOB_VIEW_FULL = 4
+ }
+
+ /** Properties of a ListJobsRequest. */
+ interface IListJobsRequest {
+
+ /** ListJobsRequest parent */
+ parent?: (string|null);
+
+ /** ListJobsRequest filter */
+ filter?: (string|null);
+
+ /** ListJobsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListJobsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListJobsRequest jobView */
+ jobView?: (google.cloud.talent.v4beta1.JobView|keyof typeof google.cloud.talent.v4beta1.JobView|null);
+ }
+
+ /** Represents a ListJobsRequest. */
+ class ListJobsRequest implements IListJobsRequest {
+
+ /**
+ * Constructs a new ListJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListJobsRequest);
+
+ /** ListJobsRequest parent. */
+ public parent: string;
+
+ /** ListJobsRequest filter. */
+ public filter: string;
+
+ /** ListJobsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListJobsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListJobsRequest jobView. */
+ public jobView: (google.cloud.talent.v4beta1.JobView|keyof typeof google.cloud.talent.v4beta1.JobView);
+
+ /**
+ * Creates a new ListJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListJobsRequest): google.cloud.talent.v4beta1.ListJobsRequest;
+
+ /**
+ * Encodes the specified ListJobsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.ListJobsRequest.verify|verify} messages.
+ * @param message ListJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListJobsRequest.verify|verify} messages.
+ * @param message ListJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobsRequest
+ * @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.cloud.talent.v4beta1.ListJobsRequest;
+
+ /**
+ * Decodes a ListJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobsRequest
+ * @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.cloud.talent.v4beta1.ListJobsRequest;
+
+ /**
+ * Verifies a ListJobsRequest 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 ListJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListJobsRequest;
+
+ /**
+ * Creates a plain object from a ListJobsRequest message. Also converts values to other types if specified.
+ * @param message ListJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListJobsResponse. */
+ interface IListJobsResponse {
+
+ /** ListJobsResponse jobs */
+ jobs?: (google.cloud.talent.v4beta1.IJob[]|null);
+
+ /** ListJobsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListJobsResponse metadata */
+ metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+ }
+
+ /** Represents a ListJobsResponse. */
+ class ListJobsResponse implements IListJobsResponse {
+
+ /**
+ * Constructs a new ListJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListJobsResponse);
+
+ /** ListJobsResponse jobs. */
+ public jobs: google.cloud.talent.v4beta1.IJob[];
+
+ /** ListJobsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListJobsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListJobsResponse): google.cloud.talent.v4beta1.ListJobsResponse;
+
+ /**
+ * Encodes the specified ListJobsResponse message. Does not implicitly {@link google.cloud.talent.v4beta1.ListJobsResponse.verify|verify} messages.
+ * @param message ListJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListJobsResponse.verify|verify} messages.
+ * @param message ListJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobsResponse
+ * @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.cloud.talent.v4beta1.ListJobsResponse;
+
+ /**
+ * Decodes a ListJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobsResponse
+ * @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.cloud.talent.v4beta1.ListJobsResponse;
+
+ /**
+ * Verifies a ListJobsResponse 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 ListJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListJobsResponse;
+
+ /**
+ * Creates a plain object from a ListJobsResponse message. Also converts values to other types if specified.
+ * @param message ListJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchJobsRequest. */
+ interface ISearchJobsRequest {
+
+ /** SearchJobsRequest parent */
+ parent?: (string|null);
+
+ /** SearchJobsRequest searchMode */
+ searchMode?: (google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode|null);
+
+ /** SearchJobsRequest requestMetadata */
+ requestMetadata?: (google.cloud.talent.v4beta1.IRequestMetadata|null);
+
+ /** SearchJobsRequest jobQuery */
+ jobQuery?: (google.cloud.talent.v4beta1.IJobQuery|null);
+
+ /** SearchJobsRequest enableBroadening */
+ enableBroadening?: (boolean|null);
+
+ /** SearchJobsRequest requirePreciseResultSize */
+ requirePreciseResultSize?: (boolean|null);
+
+ /** SearchJobsRequest histogramQueries */
+ histogramQueries?: (google.cloud.talent.v4beta1.IHistogramQuery[]|null);
+
+ /** SearchJobsRequest jobView */
+ jobView?: (google.cloud.talent.v4beta1.JobView|keyof typeof google.cloud.talent.v4beta1.JobView|null);
+
+ /** SearchJobsRequest offset */
+ offset?: (number|null);
+
+ /** SearchJobsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchJobsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchJobsRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchJobsRequest diversificationLevel */
+ diversificationLevel?: (google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel|null);
+
+ /** SearchJobsRequest customRankingInfo */
+ customRankingInfo?: (google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo|null);
+
+ /** SearchJobsRequest disableKeywordMatch */
+ disableKeywordMatch?: (boolean|null);
+
+ /** SearchJobsRequest keywordMatchMode */
+ keywordMatchMode?: (google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode|null);
+ }
+
+ /** Represents a SearchJobsRequest. */
+ class SearchJobsRequest implements ISearchJobsRequest {
+
+ /**
+ * Constructs a new SearchJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ISearchJobsRequest);
+
+ /** SearchJobsRequest parent. */
+ public parent: string;
+
+ /** SearchJobsRequest searchMode. */
+ public searchMode: (google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.SearchMode);
+
+ /** SearchJobsRequest requestMetadata. */
+ public requestMetadata?: (google.cloud.talent.v4beta1.IRequestMetadata|null);
+
+ /** SearchJobsRequest jobQuery. */
+ public jobQuery?: (google.cloud.talent.v4beta1.IJobQuery|null);
+
+ /** SearchJobsRequest enableBroadening. */
+ public enableBroadening: boolean;
+
+ /** SearchJobsRequest requirePreciseResultSize. */
+ public requirePreciseResultSize: boolean;
+
+ /** SearchJobsRequest histogramQueries. */
+ public histogramQueries: google.cloud.talent.v4beta1.IHistogramQuery[];
+
+ /** SearchJobsRequest jobView. */
+ public jobView: (google.cloud.talent.v4beta1.JobView|keyof typeof google.cloud.talent.v4beta1.JobView);
+
+ /** SearchJobsRequest offset. */
+ public offset: number;
+
+ /** SearchJobsRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchJobsRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchJobsRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchJobsRequest diversificationLevel. */
+ public diversificationLevel: (google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.DiversificationLevel);
+
+ /** SearchJobsRequest customRankingInfo. */
+ public customRankingInfo?: (google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo|null);
+
+ /** SearchJobsRequest disableKeywordMatch. */
+ public disableKeywordMatch: boolean;
+
+ /** SearchJobsRequest keywordMatchMode. */
+ public keywordMatchMode: (google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.KeywordMatchMode);
+
+ /**
+ * Creates a new SearchJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ISearchJobsRequest): google.cloud.talent.v4beta1.SearchJobsRequest;
+
+ /**
+ * Encodes the specified SearchJobsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsRequest.verify|verify} messages.
+ * @param message SearchJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ISearchJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsRequest.verify|verify} messages.
+ * @param message SearchJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ISearchJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchJobsRequest
+ * @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.cloud.talent.v4beta1.SearchJobsRequest;
+
+ /**
+ * Decodes a SearchJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchJobsRequest
+ * @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.cloud.talent.v4beta1.SearchJobsRequest;
+
+ /**
+ * Verifies a SearchJobsRequest 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 SearchJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SearchJobsRequest;
+
+ /**
+ * Creates a plain object from a SearchJobsRequest message. Also converts values to other types if specified.
+ * @param message SearchJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SearchJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchJobsRequest {
+
+ /** SearchMode enum. */
+ enum SearchMode {
+ SEARCH_MODE_UNSPECIFIED = 0,
+ JOB_SEARCH = 1,
+ FEATURED_JOB_SEARCH = 2
+ }
+
+ /** DiversificationLevel enum. */
+ enum DiversificationLevel {
+ DIVERSIFICATION_LEVEL_UNSPECIFIED = 0,
+ DISABLED = 1,
+ SIMPLE = 2
+ }
+
+ /** KeywordMatchMode enum. */
+ enum KeywordMatchMode {
+ KEYWORD_MATCH_MODE_UNSPECIFIED = 0,
+ KEYWORD_MATCH_DISABLED = 1,
+ KEYWORD_MATCH_ALL = 2,
+ KEYWORD_MATCH_TITLE_ONLY = 3
+ }
+
+ /** Properties of a CustomRankingInfo. */
+ interface ICustomRankingInfo {
+
+ /** CustomRankingInfo importanceLevel */
+ importanceLevel?: (google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|null);
+
+ /** CustomRankingInfo rankingExpression */
+ rankingExpression?: (string|null);
+ }
+
+ /** Represents a CustomRankingInfo. */
+ class CustomRankingInfo implements ICustomRankingInfo {
+
+ /**
+ * Constructs a new CustomRankingInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo);
+
+ /** CustomRankingInfo importanceLevel. */
+ public importanceLevel: (google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel|keyof typeof google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.ImportanceLevel);
+
+ /** CustomRankingInfo rankingExpression. */
+ public rankingExpression: string;
+
+ /**
+ * Creates a new CustomRankingInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomRankingInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo): google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Encodes the specified CustomRankingInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.verify|verify} messages.
+ * @param message CustomRankingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomRankingInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo.verify|verify} messages.
+ * @param message CustomRankingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.SearchJobsRequest.ICustomRankingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomRankingInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomRankingInfo
+ * @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.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Decodes a CustomRankingInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomRankingInfo
+ * @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.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Verifies a CustomRankingInfo 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 CustomRankingInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomRankingInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo;
+
+ /**
+ * Creates a plain object from a CustomRankingInfo message. Also converts values to other types if specified.
+ * @param message CustomRankingInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SearchJobsRequest.CustomRankingInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomRankingInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomRankingInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CustomRankingInfo {
+
+ /** ImportanceLevel enum. */
+ enum ImportanceLevel {
+ IMPORTANCE_LEVEL_UNSPECIFIED = 0,
+ NONE = 1,
+ LOW = 2,
+ MILD = 3,
+ MEDIUM = 4,
+ HIGH = 5,
+ EXTREME = 6
+ }
+ }
+ }
+
+ /** Properties of a SearchJobsResponse. */
+ interface ISearchJobsResponse {
+
+ /** SearchJobsResponse matchingJobs */
+ matchingJobs?: (google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob[]|null);
+
+ /** SearchJobsResponse histogramQueryResults */
+ histogramQueryResults?: (google.cloud.talent.v4beta1.IHistogramQueryResult[]|null);
+
+ /** SearchJobsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** SearchJobsResponse locationFilters */
+ locationFilters?: (google.cloud.talent.v4beta1.ILocation[]|null);
+
+ /** SearchJobsResponse estimatedTotalSize */
+ estimatedTotalSize?: (number|null);
+
+ /** SearchJobsResponse totalSize */
+ totalSize?: (number|null);
+
+ /** SearchJobsResponse metadata */
+ metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /** SearchJobsResponse broadenedQueryJobsCount */
+ broadenedQueryJobsCount?: (number|null);
+
+ /** SearchJobsResponse spellCorrection */
+ spellCorrection?: (google.cloud.talent.v4beta1.ISpellingCorrection|null);
+ }
+
+ /** Represents a SearchJobsResponse. */
+ class SearchJobsResponse implements ISearchJobsResponse {
+
+ /**
+ * Constructs a new SearchJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ISearchJobsResponse);
+
+ /** SearchJobsResponse matchingJobs. */
+ public matchingJobs: google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob[];
+
+ /** SearchJobsResponse histogramQueryResults. */
+ public histogramQueryResults: google.cloud.talent.v4beta1.IHistogramQueryResult[];
+
+ /** SearchJobsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** SearchJobsResponse locationFilters. */
+ public locationFilters: google.cloud.talent.v4beta1.ILocation[];
+
+ /** SearchJobsResponse estimatedTotalSize. */
+ public estimatedTotalSize: number;
+
+ /** SearchJobsResponse totalSize. */
+ public totalSize: number;
+
+ /** SearchJobsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /** SearchJobsResponse broadenedQueryJobsCount. */
+ public broadenedQueryJobsCount: number;
+
+ /** SearchJobsResponse spellCorrection. */
+ public spellCorrection?: (google.cloud.talent.v4beta1.ISpellingCorrection|null);
+
+ /**
+ * Creates a new SearchJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchJobsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ISearchJobsResponse): google.cloud.talent.v4beta1.SearchJobsResponse;
+
+ /**
+ * Encodes the specified SearchJobsResponse message. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.verify|verify} messages.
+ * @param message SearchJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ISearchJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchJobsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.verify|verify} messages.
+ * @param message SearchJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ISearchJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchJobsResponse
+ * @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.cloud.talent.v4beta1.SearchJobsResponse;
+
+ /**
+ * Decodes a SearchJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchJobsResponse
+ * @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.cloud.talent.v4beta1.SearchJobsResponse;
+
+ /**
+ * Verifies a SearchJobsResponse 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 SearchJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SearchJobsResponse;
+
+ /**
+ * Creates a plain object from a SearchJobsResponse message. Also converts values to other types if specified.
+ * @param message SearchJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SearchJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchJobsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchJobsResponse {
+
+ /** Properties of a MatchingJob. */
+ interface IMatchingJob {
+
+ /** MatchingJob job */
+ job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** MatchingJob jobSummary */
+ jobSummary?: (string|null);
+
+ /** MatchingJob jobTitleSnippet */
+ jobTitleSnippet?: (string|null);
+
+ /** MatchingJob searchTextSnippet */
+ searchTextSnippet?: (string|null);
+
+ /** MatchingJob commuteInfo */
+ commuteInfo?: (google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo|null);
+ }
+
+ /** Represents a MatchingJob. */
+ class MatchingJob implements IMatchingJob {
+
+ /**
+ * Constructs a new MatchingJob.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob);
+
+ /** MatchingJob job. */
+ public job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** MatchingJob jobSummary. */
+ public jobSummary: string;
+
+ /** MatchingJob jobTitleSnippet. */
+ public jobTitleSnippet: string;
+
+ /** MatchingJob searchTextSnippet. */
+ public searchTextSnippet: string;
+
+ /** MatchingJob commuteInfo. */
+ public commuteInfo?: (google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo|null);
+
+ /**
+ * Creates a new MatchingJob instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MatchingJob instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob): google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Encodes the specified MatchingJob message. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.verify|verify} messages.
+ * @param message MatchingJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MatchingJob message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob.verify|verify} messages.
+ * @param message MatchingJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.SearchJobsResponse.IMatchingJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MatchingJob message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MatchingJob
+ * @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.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Decodes a MatchingJob message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MatchingJob
+ * @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.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Verifies a MatchingJob 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 MatchingJob message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MatchingJob
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob;
+
+ /**
+ * Creates a plain object from a MatchingJob message. Also converts values to other types if specified.
+ * @param message MatchingJob
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SearchJobsResponse.MatchingJob, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MatchingJob to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MatchingJob
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommuteInfo. */
+ interface ICommuteInfo {
+
+ /** CommuteInfo jobLocation */
+ jobLocation?: (google.cloud.talent.v4beta1.ILocation|null);
+
+ /** CommuteInfo travelDuration */
+ travelDuration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a CommuteInfo. */
+ class CommuteInfo implements ICommuteInfo {
+
+ /**
+ * Constructs a new CommuteInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo);
+
+ /** CommuteInfo jobLocation. */
+ public jobLocation?: (google.cloud.talent.v4beta1.ILocation|null);
+
+ /** CommuteInfo travelDuration. */
+ public travelDuration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new CommuteInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommuteInfo instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo): google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Encodes the specified CommuteInfo message. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.verify|verify} messages.
+ * @param message CommuteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommuteInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo.verify|verify} messages.
+ * @param message CommuteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.SearchJobsResponse.ICommuteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommuteInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommuteInfo
+ * @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.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Decodes a CommuteInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommuteInfo
+ * @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.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Verifies a CommuteInfo 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 CommuteInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommuteInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo;
+
+ /**
+ * Creates a plain object from a CommuteInfo message. Also converts values to other types if specified.
+ * @param message CommuteInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.SearchJobsResponse.CommuteInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommuteInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommuteInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a BatchCreateJobsRequest. */
+ interface IBatchCreateJobsRequest {
+
+ /** BatchCreateJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchCreateJobsRequest jobs */
+ jobs?: (google.cloud.talent.v4beta1.IJob[]|null);
+ }
+
+ /** Represents a BatchCreateJobsRequest. */
+ class BatchCreateJobsRequest implements IBatchCreateJobsRequest {
+
+ /**
+ * Constructs a new BatchCreateJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IBatchCreateJobsRequest);
+
+ /** BatchCreateJobsRequest parent. */
+ public parent: string;
+
+ /** BatchCreateJobsRequest jobs. */
+ public jobs: google.cloud.talent.v4beta1.IJob[];
+
+ /**
+ * Creates a new BatchCreateJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchCreateJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IBatchCreateJobsRequest): google.cloud.talent.v4beta1.BatchCreateJobsRequest;
+
+ /**
+ * Encodes the specified BatchCreateJobsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.BatchCreateJobsRequest.verify|verify} messages.
+ * @param message BatchCreateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IBatchCreateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchCreateJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.BatchCreateJobsRequest.verify|verify} messages.
+ * @param message BatchCreateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IBatchCreateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchCreateJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchCreateJobsRequest
+ * @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.cloud.talent.v4beta1.BatchCreateJobsRequest;
+
+ /**
+ * Decodes a BatchCreateJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchCreateJobsRequest
+ * @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.cloud.talent.v4beta1.BatchCreateJobsRequest;
+
+ /**
+ * Verifies a BatchCreateJobsRequest 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 BatchCreateJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchCreateJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.BatchCreateJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchCreateJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchCreateJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.BatchCreateJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchCreateJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchCreateJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchUpdateJobsRequest. */
+ interface IBatchUpdateJobsRequest {
+
+ /** BatchUpdateJobsRequest parent */
+ parent?: (string|null);
+
+ /** BatchUpdateJobsRequest jobs */
+ jobs?: (google.cloud.talent.v4beta1.IJob[]|null);
+
+ /** BatchUpdateJobsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a BatchUpdateJobsRequest. */
+ class BatchUpdateJobsRequest implements IBatchUpdateJobsRequest {
+
+ /**
+ * Constructs a new BatchUpdateJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest);
+
+ /** BatchUpdateJobsRequest parent. */
+ public parent: string;
+
+ /** BatchUpdateJobsRequest jobs. */
+ public jobs: google.cloud.talent.v4beta1.IJob[];
+
+ /** BatchUpdateJobsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new BatchUpdateJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchUpdateJobsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest): google.cloud.talent.v4beta1.BatchUpdateJobsRequest;
+
+ /**
+ * Encodes the specified BatchUpdateJobsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.BatchUpdateJobsRequest.verify|verify} messages.
+ * @param message BatchUpdateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchUpdateJobsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.BatchUpdateJobsRequest.verify|verify} messages.
+ * @param message BatchUpdateJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IBatchUpdateJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchUpdateJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchUpdateJobsRequest
+ * @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.cloud.talent.v4beta1.BatchUpdateJobsRequest;
+
+ /**
+ * Decodes a BatchUpdateJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchUpdateJobsRequest
+ * @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.cloud.talent.v4beta1.BatchUpdateJobsRequest;
+
+ /**
+ * Verifies a BatchUpdateJobsRequest 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 BatchUpdateJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchUpdateJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.BatchUpdateJobsRequest;
+
+ /**
+ * Creates a plain object from a BatchUpdateJobsRequest message. Also converts values to other types if specified.
+ * @param message BatchUpdateJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.BatchUpdateJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchUpdateJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchUpdateJobsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a JobOperationResult. */
+ interface IJobOperationResult {
+
+ /** JobOperationResult jobResults */
+ jobResults?: (google.cloud.talent.v4beta1.JobOperationResult.IJobResult[]|null);
+ }
+
+ /** Represents a JobOperationResult. */
+ class JobOperationResult implements IJobOperationResult {
+
+ /**
+ * Constructs a new JobOperationResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IJobOperationResult);
+
+ /** JobOperationResult jobResults. */
+ public jobResults: google.cloud.talent.v4beta1.JobOperationResult.IJobResult[];
+
+ /**
+ * Creates a new JobOperationResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobOperationResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IJobOperationResult): google.cloud.talent.v4beta1.JobOperationResult;
+
+ /**
+ * Encodes the specified JobOperationResult message. Does not implicitly {@link google.cloud.talent.v4beta1.JobOperationResult.verify|verify} messages.
+ * @param message JobOperationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IJobOperationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobOperationResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.JobOperationResult.verify|verify} messages.
+ * @param message JobOperationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IJobOperationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobOperationResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobOperationResult
+ * @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.cloud.talent.v4beta1.JobOperationResult;
+
+ /**
+ * Decodes a JobOperationResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobOperationResult
+ * @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.cloud.talent.v4beta1.JobOperationResult;
+
+ /**
+ * Verifies a JobOperationResult 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 JobOperationResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobOperationResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.JobOperationResult;
+
+ /**
+ * Creates a plain object from a JobOperationResult message. Also converts values to other types if specified.
+ * @param message JobOperationResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.JobOperationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobOperationResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobOperationResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace JobOperationResult {
+
+ /** Properties of a JobResult. */
+ interface IJobResult {
+
+ /** JobResult job */
+ job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** JobResult status */
+ status?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a JobResult. */
+ class JobResult implements IJobResult {
+
+ /**
+ * Constructs a new JobResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.JobOperationResult.IJobResult);
+
+ /** JobResult job. */
+ public job?: (google.cloud.talent.v4beta1.IJob|null);
+
+ /** JobResult status. */
+ public status?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new JobResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobResult instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.JobOperationResult.IJobResult): google.cloud.talent.v4beta1.JobOperationResult.JobResult;
+
+ /**
+ * Encodes the specified JobResult message. Does not implicitly {@link google.cloud.talent.v4beta1.JobOperationResult.JobResult.verify|verify} messages.
+ * @param message JobResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.JobOperationResult.IJobResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.JobOperationResult.JobResult.verify|verify} messages.
+ * @param message JobResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.JobOperationResult.IJobResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobResult
+ * @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.cloud.talent.v4beta1.JobOperationResult.JobResult;
+
+ /**
+ * Decodes a JobResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobResult
+ * @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.cloud.talent.v4beta1.JobOperationResult.JobResult;
+
+ /**
+ * Verifies a JobResult 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 JobResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.JobOperationResult.JobResult;
+
+ /**
+ * Creates a plain object from a JobResult message. Also converts values to other types if specified.
+ * @param message JobResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.JobOperationResult.JobResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for JobResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Tenant. */
+ interface ITenant {
+
+ /** Tenant name */
+ name?: (string|null);
+
+ /** Tenant externalId */
+ externalId?: (string|null);
+
+ /** Tenant usageType */
+ usageType?: (google.cloud.talent.v4beta1.Tenant.DataUsageType|keyof typeof google.cloud.talent.v4beta1.Tenant.DataUsageType|null);
+
+ /** Tenant keywordSearchableProfileCustomAttributes */
+ keywordSearchableProfileCustomAttributes?: (string[]|null);
+ }
+
+ /** Represents a Tenant. */
+ class Tenant implements ITenant {
+
+ /**
+ * Constructs a new Tenant.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ITenant);
+
+ /** Tenant name. */
+ public name: string;
+
+ /** Tenant externalId. */
+ public externalId: string;
+
+ /** Tenant usageType. */
+ public usageType: (google.cloud.talent.v4beta1.Tenant.DataUsageType|keyof typeof google.cloud.talent.v4beta1.Tenant.DataUsageType);
+
+ /** Tenant keywordSearchableProfileCustomAttributes. */
+ public keywordSearchableProfileCustomAttributes: string[];
+
+ /**
+ * Creates a new Tenant instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Tenant instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ITenant): google.cloud.talent.v4beta1.Tenant;
+
+ /**
+ * Encodes the specified Tenant message. Does not implicitly {@link google.cloud.talent.v4beta1.Tenant.verify|verify} messages.
+ * @param message Tenant message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ITenant, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Tenant message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.Tenant.verify|verify} messages.
+ * @param message Tenant message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ITenant, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Tenant message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Tenant
+ * @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.cloud.talent.v4beta1.Tenant;
+
+ /**
+ * Decodes a Tenant message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Tenant
+ * @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.cloud.talent.v4beta1.Tenant;
+
+ /**
+ * Verifies a Tenant 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 Tenant message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Tenant
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.Tenant;
+
+ /**
+ * Creates a plain object from a Tenant message. Also converts values to other types if specified.
+ * @param message Tenant
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.Tenant, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Tenant to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Tenant
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Tenant {
+
+ /** DataUsageType enum. */
+ enum DataUsageType {
+ DATA_USAGE_TYPE_UNSPECIFIED = 0,
+ AGGREGATED = 1,
+ ISOLATED = 2
+ }
+ }
+
+ /** Represents a TenantService */
+ class TenantService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new TenantService 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 TenantService 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): TenantService;
+
+ /**
+ * Calls CreateTenant.
+ * @param request CreateTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public createTenant(request: google.cloud.talent.v4beta1.ICreateTenantRequest, callback: google.cloud.talent.v4beta1.TenantService.CreateTenantCallback): void;
+
+ /**
+ * Calls CreateTenant.
+ * @param request CreateTenantRequest message or plain object
+ * @returns Promise
+ */
+ public createTenant(request: google.cloud.talent.v4beta1.ICreateTenantRequest): Promise;
+
+ /**
+ * Calls GetTenant.
+ * @param request GetTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public getTenant(request: google.cloud.talent.v4beta1.IGetTenantRequest, callback: google.cloud.talent.v4beta1.TenantService.GetTenantCallback): void;
+
+ /**
+ * Calls GetTenant.
+ * @param request GetTenantRequest message or plain object
+ * @returns Promise
+ */
+ public getTenant(request: google.cloud.talent.v4beta1.IGetTenantRequest): Promise;
+
+ /**
+ * Calls UpdateTenant.
+ * @param request UpdateTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Tenant
+ */
+ public updateTenant(request: google.cloud.talent.v4beta1.IUpdateTenantRequest, callback: google.cloud.talent.v4beta1.TenantService.UpdateTenantCallback): void;
+
+ /**
+ * Calls UpdateTenant.
+ * @param request UpdateTenantRequest message or plain object
+ * @returns Promise
+ */
+ public updateTenant(request: google.cloud.talent.v4beta1.IUpdateTenantRequest): Promise;
+
+ /**
+ * Calls DeleteTenant.
+ * @param request DeleteTenantRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteTenant(request: google.cloud.talent.v4beta1.IDeleteTenantRequest, callback: google.cloud.talent.v4beta1.TenantService.DeleteTenantCallback): void;
+
+ /**
+ * Calls DeleteTenant.
+ * @param request DeleteTenantRequest message or plain object
+ * @returns Promise
+ */
+ public deleteTenant(request: google.cloud.talent.v4beta1.IDeleteTenantRequest): Promise;
+
+ /**
+ * Calls ListTenants.
+ * @param request ListTenantsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTenantsResponse
+ */
+ public listTenants(request: google.cloud.talent.v4beta1.IListTenantsRequest, callback: google.cloud.talent.v4beta1.TenantService.ListTenantsCallback): void;
+
+ /**
+ * Calls ListTenants.
+ * @param request ListTenantsRequest message or plain object
+ * @returns Promise
+ */
+ public listTenants(request: google.cloud.talent.v4beta1.IListTenantsRequest): Promise;
+ }
+
+ namespace TenantService {
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.TenantService|createTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type CreateTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.TenantService|getTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type GetTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.TenantService|updateTenant}.
+ * @param error Error, if any
+ * @param [response] Tenant
+ */
+ type UpdateTenantCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.Tenant) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.TenantService|deleteTenant}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteTenantCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4beta1.TenantService|listTenants}.
+ * @param error Error, if any
+ * @param [response] ListTenantsResponse
+ */
+ type ListTenantsCallback = (error: (Error|null), response?: google.cloud.talent.v4beta1.ListTenantsResponse) => void;
+ }
+
+ /** Properties of a CreateTenantRequest. */
+ interface ICreateTenantRequest {
+
+ /** CreateTenantRequest parent */
+ parent?: (string|null);
+
+ /** CreateTenantRequest tenant */
+ tenant?: (google.cloud.talent.v4beta1.ITenant|null);
+ }
+
+ /** Represents a CreateTenantRequest. */
+ class CreateTenantRequest implements ICreateTenantRequest {
+
+ /**
+ * Constructs a new CreateTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.ICreateTenantRequest);
+
+ /** CreateTenantRequest parent. */
+ public parent: string;
+
+ /** CreateTenantRequest tenant. */
+ public tenant?: (google.cloud.talent.v4beta1.ITenant|null);
+
+ /**
+ * Creates a new CreateTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.ICreateTenantRequest): google.cloud.talent.v4beta1.CreateTenantRequest;
+
+ /**
+ * Encodes the specified CreateTenantRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.CreateTenantRequest.verify|verify} messages.
+ * @param message CreateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.ICreateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.CreateTenantRequest.verify|verify} messages.
+ * @param message CreateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.ICreateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateTenantRequest
+ * @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.cloud.talent.v4beta1.CreateTenantRequest;
+
+ /**
+ * Decodes a CreateTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateTenantRequest
+ * @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.cloud.talent.v4beta1.CreateTenantRequest;
+
+ /**
+ * Verifies a CreateTenantRequest 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 CreateTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.CreateTenantRequest;
+
+ /**
+ * Creates a plain object from a CreateTenantRequest message. Also converts values to other types if specified.
+ * @param message CreateTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.CreateTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetTenantRequest. */
+ interface IGetTenantRequest {
+
+ /** GetTenantRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetTenantRequest. */
+ class GetTenantRequest implements IGetTenantRequest {
+
+ /**
+ * Constructs a new GetTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IGetTenantRequest);
+
+ /** GetTenantRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IGetTenantRequest): google.cloud.talent.v4beta1.GetTenantRequest;
+
+ /**
+ * Encodes the specified GetTenantRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.GetTenantRequest.verify|verify} messages.
+ * @param message GetTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IGetTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.GetTenantRequest.verify|verify} messages.
+ * @param message GetTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IGetTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetTenantRequest
+ * @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.cloud.talent.v4beta1.GetTenantRequest;
+
+ /**
+ * Decodes a GetTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetTenantRequest
+ * @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.cloud.talent.v4beta1.GetTenantRequest;
+
+ /**
+ * Verifies a GetTenantRequest 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 GetTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.GetTenantRequest;
+
+ /**
+ * Creates a plain object from a GetTenantRequest message. Also converts values to other types if specified.
+ * @param message GetTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.GetTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateTenantRequest. */
+ interface IUpdateTenantRequest {
+
+ /** UpdateTenantRequest tenant */
+ tenant?: (google.cloud.talent.v4beta1.ITenant|null);
+
+ /** UpdateTenantRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateTenantRequest. */
+ class UpdateTenantRequest implements IUpdateTenantRequest {
+
+ /**
+ * Constructs a new UpdateTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IUpdateTenantRequest);
+
+ /** UpdateTenantRequest tenant. */
+ public tenant?: (google.cloud.talent.v4beta1.ITenant|null);
+
+ /** UpdateTenantRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IUpdateTenantRequest): google.cloud.talent.v4beta1.UpdateTenantRequest;
+
+ /**
+ * Encodes the specified UpdateTenantRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateTenantRequest.verify|verify} messages.
+ * @param message UpdateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IUpdateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.UpdateTenantRequest.verify|verify} messages.
+ * @param message UpdateTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IUpdateTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateTenantRequest
+ * @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.cloud.talent.v4beta1.UpdateTenantRequest;
+
+ /**
+ * Decodes an UpdateTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateTenantRequest
+ * @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.cloud.talent.v4beta1.UpdateTenantRequest;
+
+ /**
+ * Verifies an UpdateTenantRequest 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 UpdateTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.UpdateTenantRequest;
+
+ /**
+ * Creates a plain object from an UpdateTenantRequest message. Also converts values to other types if specified.
+ * @param message UpdateTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.UpdateTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteTenantRequest. */
+ interface IDeleteTenantRequest {
+
+ /** DeleteTenantRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteTenantRequest. */
+ class DeleteTenantRequest implements IDeleteTenantRequest {
+
+ /**
+ * Constructs a new DeleteTenantRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IDeleteTenantRequest);
+
+ /** DeleteTenantRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteTenantRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteTenantRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IDeleteTenantRequest): google.cloud.talent.v4beta1.DeleteTenantRequest;
+
+ /**
+ * Encodes the specified DeleteTenantRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteTenantRequest.verify|verify} messages.
+ * @param message DeleteTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IDeleteTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteTenantRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.DeleteTenantRequest.verify|verify} messages.
+ * @param message DeleteTenantRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IDeleteTenantRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteTenantRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteTenantRequest
+ * @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.cloud.talent.v4beta1.DeleteTenantRequest;
+
+ /**
+ * Decodes a DeleteTenantRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteTenantRequest
+ * @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.cloud.talent.v4beta1.DeleteTenantRequest;
+
+ /**
+ * Verifies a DeleteTenantRequest 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 DeleteTenantRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteTenantRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.DeleteTenantRequest;
+
+ /**
+ * Creates a plain object from a DeleteTenantRequest message. Also converts values to other types if specified.
+ * @param message DeleteTenantRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.DeleteTenantRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteTenantRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteTenantRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTenantsRequest. */
+ interface IListTenantsRequest {
+
+ /** ListTenantsRequest parent */
+ parent?: (string|null);
+
+ /** ListTenantsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListTenantsRequest pageSize */
+ pageSize?: (number|null);
+ }
+
+ /** Represents a ListTenantsRequest. */
+ class ListTenantsRequest implements IListTenantsRequest {
+
+ /**
+ * Constructs a new ListTenantsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListTenantsRequest);
+
+ /** ListTenantsRequest parent. */
+ public parent: string;
+
+ /** ListTenantsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListTenantsRequest pageSize. */
+ public pageSize: number;
+
+ /**
+ * Creates a new ListTenantsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTenantsRequest instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListTenantsRequest): google.cloud.talent.v4beta1.ListTenantsRequest;
+
+ /**
+ * Encodes the specified ListTenantsRequest message. Does not implicitly {@link google.cloud.talent.v4beta1.ListTenantsRequest.verify|verify} messages.
+ * @param message ListTenantsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListTenantsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTenantsRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListTenantsRequest.verify|verify} messages.
+ * @param message ListTenantsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListTenantsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTenantsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTenantsRequest
+ * @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.cloud.talent.v4beta1.ListTenantsRequest;
+
+ /**
+ * Decodes a ListTenantsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTenantsRequest
+ * @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.cloud.talent.v4beta1.ListTenantsRequest;
+
+ /**
+ * Verifies a ListTenantsRequest 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 ListTenantsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTenantsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListTenantsRequest;
+
+ /**
+ * Creates a plain object from a ListTenantsRequest message. Also converts values to other types if specified.
+ * @param message ListTenantsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListTenantsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTenantsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTenantsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTenantsResponse. */
+ interface IListTenantsResponse {
+
+ /** ListTenantsResponse tenants */
+ tenants?: (google.cloud.talent.v4beta1.ITenant[]|null);
+
+ /** ListTenantsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListTenantsResponse metadata */
+ metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+ }
+
+ /** Represents a ListTenantsResponse. */
+ class ListTenantsResponse implements IListTenantsResponse {
+
+ /**
+ * Constructs a new ListTenantsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.talent.v4beta1.IListTenantsResponse);
+
+ /** ListTenantsResponse tenants. */
+ public tenants: google.cloud.talent.v4beta1.ITenant[];
+
+ /** ListTenantsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListTenantsResponse metadata. */
+ public metadata?: (google.cloud.talent.v4beta1.IResponseMetadata|null);
+
+ /**
+ * Creates a new ListTenantsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTenantsResponse instance
+ */
+ public static create(properties?: google.cloud.talent.v4beta1.IListTenantsResponse): google.cloud.talent.v4beta1.ListTenantsResponse;
+
+ /**
+ * Encodes the specified ListTenantsResponse message. Does not implicitly {@link google.cloud.talent.v4beta1.ListTenantsResponse.verify|verify} messages.
+ * @param message ListTenantsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.talent.v4beta1.IListTenantsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTenantsResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4beta1.ListTenantsResponse.verify|verify} messages.
+ * @param message ListTenantsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.talent.v4beta1.IListTenantsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTenantsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTenantsResponse
+ * @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.cloud.talent.v4beta1.ListTenantsResponse;
+
+ /**
+ * Decodes a ListTenantsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTenantsResponse
+ * @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.cloud.talent.v4beta1.ListTenantsResponse;
+
+ /**
+ * Verifies a ListTenantsResponse 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 ListTenantsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTenantsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.talent.v4beta1.ListTenantsResponse;
+
+ /**
+ * Creates a plain object from a ListTenantsResponse message. Also converts values to other types if specified.
+ * @param message ListTenantsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.talent.v4beta1.ListTenantsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTenantsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTenantsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** 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
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @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.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @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.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor 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 ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @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.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @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.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference 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 ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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;
+ }
+ }
+
+ /** 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;
+ }
+
+ /** 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?: (string|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: string;
+
+ /**
+ * 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);
+ }
+
+ /** 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[];
+
+ /**
+ * 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;
+ }
+
+ /** 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_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** 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 phpGenericServices */
+ phpGenericServices?: (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 uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|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 phpGenericServices. */
+ public phpGenericServices: 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 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 uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|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 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 uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|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 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
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** 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 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 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 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 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 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 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);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** 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 uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** 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 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|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|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 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 Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoubleValue. */
+ interface IDoubleValue {
+
+ /** DoubleValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a DoubleValue. */
+ class DoubleValue implements IDoubleValue {
+
+ /**
+ * Constructs a new DoubleValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDoubleValue);
+
+ /** DoubleValue value. */
+ public value: number;
+
+ /**
+ * Creates a new DoubleValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoubleValue instance
+ */
+ public static create(properties?: google.protobuf.IDoubleValue): google.protobuf.DoubleValue;
+
+ /**
+ * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DoubleValue;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DoubleValue;
+
+ /**
+ * Verifies a DoubleValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoubleValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DoubleValue;
+
+ /**
+ * Creates a plain object from a DoubleValue message. Also converts values to other types if specified.
+ * @param message DoubleValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DoubleValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoubleValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoubleValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FloatValue. */
+ interface IFloatValue {
+
+ /** FloatValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a FloatValue. */
+ class FloatValue implements IFloatValue {
+
+ /**
+ * Constructs a new FloatValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFloatValue);
+
+ /** FloatValue value. */
+ public value: number;
+
+ /**
+ * Creates a new FloatValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FloatValue instance
+ */
+ public static create(properties?: google.protobuf.IFloatValue): google.protobuf.FloatValue;
+
+ /**
+ * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FloatValue;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FloatValue;
+
+ /**
+ * Verifies a FloatValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FloatValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FloatValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FloatValue;
+
+ /**
+ * Creates a plain object from a FloatValue message. Also converts values to other types if specified.
+ * @param message FloatValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FloatValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FloatValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FloatValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int64Value. */
+ interface IInt64Value {
+
+ /** Int64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents an Int64Value. */
+ class Int64Value implements IInt64Value {
+
+ /**
+ * Constructs a new Int64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt64Value);
+
+ /** Int64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new Int64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int64Value instance
+ */
+ public static create(properties?: google.protobuf.IInt64Value): google.protobuf.Int64Value;
+
+ /**
+ * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int64Value;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int64Value;
+
+ /**
+ * Verifies an Int64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int64Value;
+
+ /**
+ * Creates a plain object from an Int64Value message. Also converts values to other types if specified.
+ * @param message Int64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt64Value. */
+ interface IUInt64Value {
+
+ /** UInt64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents a UInt64Value. */
+ class UInt64Value implements IUInt64Value {
+
+ /**
+ * Constructs a new UInt64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt64Value);
+
+ /** UInt64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new UInt64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt64Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt64Value): google.protobuf.UInt64Value;
+
+ /**
+ * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt64Value;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt64Value;
+
+ /**
+ * Verifies a UInt64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt64Value;
+
+ /**
+ * Creates a plain object from a UInt64Value message. Also converts values to other types if specified.
+ * @param message UInt64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int32Value. */
+ interface IInt32Value {
+
+ /** Int32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents an Int32Value. */
+ class Int32Value implements IInt32Value {
+
+ /**
+ * Constructs a new Int32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt32Value);
+
+ /** Int32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new Int32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int32Value instance
+ */
+ public static create(properties?: google.protobuf.IInt32Value): google.protobuf.Int32Value;
+
+ /**
+ * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int32Value;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int32Value;
+
+ /**
+ * Verifies an Int32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int32Value;
+
+ /**
+ * Creates a plain object from an Int32Value message. Also converts values to other types if specified.
+ * @param message Int32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt32Value. */
+ interface IUInt32Value {
+
+ /** UInt32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents a UInt32Value. */
+ class UInt32Value implements IUInt32Value {
+
+ /**
+ * Constructs a new UInt32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt32Value);
+
+ /** UInt32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new UInt32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt32Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt32Value): google.protobuf.UInt32Value;
+
+ /**
+ * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt32Value;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt32Value;
+
+ /**
+ * Verifies a UInt32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt32Value;
+
+ /**
+ * Creates a plain object from a UInt32Value message. Also converts values to other types if specified.
+ * @param message UInt32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BoolValue. */
+ interface IBoolValue {
+
+ /** BoolValue value */
+ value?: (boolean|null);
+ }
+
+ /** Represents a BoolValue. */
+ class BoolValue implements IBoolValue {
+
+ /**
+ * Constructs a new BoolValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBoolValue);
+
+ /** BoolValue value. */
+ public value: boolean;
+
+ /**
+ * Creates a new BoolValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoolValue instance
+ */
+ public static create(properties?: google.protobuf.IBoolValue): google.protobuf.BoolValue;
+
+ /**
+ * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BoolValue;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BoolValue;
+
+ /**
+ * Verifies a BoolValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoolValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoolValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BoolValue;
+
+ /**
+ * Creates a plain object from a BoolValue message. Also converts values to other types if specified.
+ * @param message BoolValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BoolValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoolValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoolValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StringValue. */
+ interface IStringValue {
+
+ /** StringValue value */
+ value?: (string|null);
+ }
+
+ /** Represents a StringValue. */
+ class StringValue implements IStringValue {
+
+ /**
+ * Constructs a new StringValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStringValue);
+
+ /** StringValue value. */
+ public value: string;
+
+ /**
+ * Creates a new StringValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StringValue instance
+ */
+ public static create(properties?: google.protobuf.IStringValue): google.protobuf.StringValue;
+
+ /**
+ * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.StringValue;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.StringValue;
+
+ /**
+ * Verifies a StringValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StringValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StringValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.StringValue;
+
+ /**
+ * Creates a plain object from a StringValue message. Also converts values to other types if specified.
+ * @param message StringValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.StringValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StringValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StringValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BytesValue. */
+ interface IBytesValue {
+
+ /** BytesValue value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents a BytesValue. */
+ class BytesValue implements IBytesValue {
+
+ /**
+ * Constructs a new BytesValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBytesValue);
+
+ /** BytesValue value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new BytesValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BytesValue instance
+ */
+ public static create(properties?: google.protobuf.IBytesValue): google.protobuf.BytesValue;
+
+ /**
+ * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BytesValue;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BytesValue;
+
+ /**
+ * Verifies a BytesValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BytesValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BytesValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BytesValue;
+
+ /**
+ * Creates a plain object from a BytesValue message. Also converts values to other types if specified.
+ * @param message BytesValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BytesValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BytesValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BytesValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @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.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @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.FieldMask;
+
+ /**
+ * Verifies a FieldMask 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 FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** 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 Money. */
+ interface IMoney {
+
+ /** Money currencyCode */
+ currencyCode?: (string|null);
+
+ /** Money units */
+ units?: (number|Long|string|null);
+
+ /** Money nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Money. */
+ class Money implements IMoney {
+
+ /**
+ * Constructs a new Money.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IMoney);
+
+ /** Money currencyCode. */
+ public currencyCode: string;
+
+ /** Money units. */
+ public units: (number|Long|string);
+
+ /** Money nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Money instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Money instance
+ */
+ public static create(properties?: google.type.IMoney): google.type.Money;
+
+ /**
+ * Encodes the specified Money message. Does not implicitly {@link google.type.Money.verify|verify} messages.
+ * @param message Money message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Money message, length delimited. Does not implicitly {@link google.type.Money.verify|verify} messages.
+ * @param message Money message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Money message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Money
+ * @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.Money;
+
+ /**
+ * Decodes a Money message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Money
+ * @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.Money;
+
+ /**
+ * Verifies a Money 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 Money message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Money
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Money;
+
+ /**
+ * Creates a plain object from a Money message. Also converts values to other types if specified.
+ * @param message Money
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Money, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Money to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Money
+ * @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;
+ }
+
+ /** Properties of a TimeOfDay. */
+ interface ITimeOfDay {
+
+ /** TimeOfDay hours */
+ hours?: (number|null);
+
+ /** TimeOfDay minutes */
+ minutes?: (number|null);
+
+ /** TimeOfDay seconds */
+ seconds?: (number|null);
+
+ /** TimeOfDay nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a TimeOfDay. */
+ class TimeOfDay implements ITimeOfDay {
+
+ /**
+ * Constructs a new TimeOfDay.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ITimeOfDay);
+
+ /** TimeOfDay hours. */
+ public hours: number;
+
+ /** TimeOfDay minutes. */
+ public minutes: number;
+
+ /** TimeOfDay seconds. */
+ public seconds: number;
+
+ /** TimeOfDay nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new TimeOfDay instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeOfDay instance
+ */
+ public static create(properties?: google.type.ITimeOfDay): google.type.TimeOfDay;
+
+ /**
+ * Encodes the specified TimeOfDay message. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeOfDay message, length delimited. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeOfDay
+ * @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.TimeOfDay;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeOfDay
+ * @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.TimeOfDay;
+
+ /**
+ * Verifies a TimeOfDay 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 TimeOfDay message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeOfDay
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.TimeOfDay;
+
+ /**
+ * Creates a plain object from a TimeOfDay message. Also converts values to other types if specified.
+ * @param message TimeOfDay
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.TimeOfDay, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeOfDay to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeOfDay
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-talent/protos/protos.js b/packages/google-cloud-talent/protos/protos.js
new file mode 100644
index 00000000000..c13dc51470f
--- /dev/null
+++ b/packages/google-cloud-talent/protos/protos.js
@@ -0,0 +1,58430 @@
+// Copyright 2022 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_talent_protos || ($protobuf.roots._google_cloud_talent_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.talent = (function() {
+
+ /**
+ * Namespace talent.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var talent = {};
+
+ talent.v4 = (function() {
+
+ /**
+ * Namespace v4.
+ * @memberof google.cloud.talent
+ * @namespace
+ */
+ var v4 = {};
+
+ v4.TimestampRange = (function() {
+
+ /**
+ * Properties of a TimestampRange.
+ * @memberof google.cloud.talent.v4
+ * @interface ITimestampRange
+ * @property {google.protobuf.ITimestamp|null} [startTime] TimestampRange startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] TimestampRange endTime
+ */
+
+ /**
+ * Constructs a new TimestampRange.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a TimestampRange.
+ * @implements ITimestampRange
+ * @constructor
+ * @param {google.cloud.talent.v4.ITimestampRange=} [properties] Properties to set
+ */
+ function TimestampRange(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]];
+ }
+
+ /**
+ * TimestampRange startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @instance
+ */
+ TimestampRange.prototype.startTime = null;
+
+ /**
+ * TimestampRange endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @instance
+ */
+ TimestampRange.prototype.endTime = null;
+
+ /**
+ * Creates a new TimestampRange instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {google.cloud.talent.v4.ITimestampRange=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.TimestampRange} TimestampRange instance
+ */
+ TimestampRange.create = function create(properties) {
+ return new TimestampRange(properties);
+ };
+
+ /**
+ * Encodes the specified TimestampRange message. Does not implicitly {@link google.cloud.talent.v4.TimestampRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {google.cloud.talent.v4.ITimestampRange} message TimestampRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimestampRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimestampRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4.TimestampRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {google.cloud.talent.v4.ITimestampRange} message TimestampRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimestampRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.TimestampRange} TimestampRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimestampRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.TimestampRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimestampRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.TimestampRange} TimestampRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimestampRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimestampRange message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimestampRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TimestampRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.TimestampRange} TimestampRange
+ */
+ TimestampRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.TimestampRange)
+ return object;
+ var message = new $root.google.cloud.talent.v4.TimestampRange();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.TimestampRange.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.TimestampRange.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimestampRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {google.cloud.talent.v4.TimestampRange} message TimestampRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimestampRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this TimestampRange to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimestampRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimestampRange
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.TimestampRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimestampRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.TimestampRange";
+ };
+
+ return TimestampRange;
+ })();
+
+ /**
+ * CompanySize enum.
+ * @name google.cloud.talent.v4.CompanySize
+ * @enum {number}
+ * @property {number} COMPANY_SIZE_UNSPECIFIED=0 COMPANY_SIZE_UNSPECIFIED value
+ * @property {number} MINI=1 MINI value
+ * @property {number} SMALL=2 SMALL value
+ * @property {number} SMEDIUM=3 SMEDIUM value
+ * @property {number} MEDIUM=4 MEDIUM value
+ * @property {number} BIG=5 BIG value
+ * @property {number} BIGGER=6 BIGGER value
+ * @property {number} GIANT=7 GIANT value
+ */
+ v4.CompanySize = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPANY_SIZE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "MINI"] = 1;
+ values[valuesById[2] = "SMALL"] = 2;
+ values[valuesById[3] = "SMEDIUM"] = 3;
+ values[valuesById[4] = "MEDIUM"] = 4;
+ values[valuesById[5] = "BIG"] = 5;
+ values[valuesById[6] = "BIGGER"] = 6;
+ values[valuesById[7] = "GIANT"] = 7;
+ return values;
+ })();
+
+ /**
+ * JobBenefit enum.
+ * @name google.cloud.talent.v4.JobBenefit
+ * @enum {number}
+ * @property {number} JOB_BENEFIT_UNSPECIFIED=0 JOB_BENEFIT_UNSPECIFIED value
+ * @property {number} CHILD_CARE=1 CHILD_CARE value
+ * @property {number} DENTAL=2 DENTAL value
+ * @property {number} DOMESTIC_PARTNER=3 DOMESTIC_PARTNER value
+ * @property {number} FLEXIBLE_HOURS=4 FLEXIBLE_HOURS value
+ * @property {number} MEDICAL=5 MEDICAL value
+ * @property {number} LIFE_INSURANCE=6 LIFE_INSURANCE value
+ * @property {number} PARENTAL_LEAVE=7 PARENTAL_LEAVE value
+ * @property {number} RETIREMENT_PLAN=8 RETIREMENT_PLAN value
+ * @property {number} SICK_DAYS=9 SICK_DAYS value
+ * @property {number} VACATION=10 VACATION value
+ * @property {number} VISION=11 VISION value
+ */
+ v4.JobBenefit = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JOB_BENEFIT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CHILD_CARE"] = 1;
+ values[valuesById[2] = "DENTAL"] = 2;
+ values[valuesById[3] = "DOMESTIC_PARTNER"] = 3;
+ values[valuesById[4] = "FLEXIBLE_HOURS"] = 4;
+ values[valuesById[5] = "MEDICAL"] = 5;
+ values[valuesById[6] = "LIFE_INSURANCE"] = 6;
+ values[valuesById[7] = "PARENTAL_LEAVE"] = 7;
+ values[valuesById[8] = "RETIREMENT_PLAN"] = 8;
+ values[valuesById[9] = "SICK_DAYS"] = 9;
+ values[valuesById[10] = "VACATION"] = 10;
+ values[valuesById[11] = "VISION"] = 11;
+ return values;
+ })();
+
+ /**
+ * DegreeType enum.
+ * @name google.cloud.talent.v4.DegreeType
+ * @enum {number}
+ * @property {number} DEGREE_TYPE_UNSPECIFIED=0 DEGREE_TYPE_UNSPECIFIED value
+ * @property {number} PRIMARY_EDUCATION=1 PRIMARY_EDUCATION value
+ * @property {number} LOWER_SECONDARY_EDUCATION=2 LOWER_SECONDARY_EDUCATION value
+ * @property {number} UPPER_SECONDARY_EDUCATION=3 UPPER_SECONDARY_EDUCATION value
+ * @property {number} ADULT_REMEDIAL_EDUCATION=4 ADULT_REMEDIAL_EDUCATION value
+ * @property {number} ASSOCIATES_OR_EQUIVALENT=5 ASSOCIATES_OR_EQUIVALENT value
+ * @property {number} BACHELORS_OR_EQUIVALENT=6 BACHELORS_OR_EQUIVALENT value
+ * @property {number} MASTERS_OR_EQUIVALENT=7 MASTERS_OR_EQUIVALENT value
+ * @property {number} DOCTORAL_OR_EQUIVALENT=8 DOCTORAL_OR_EQUIVALENT value
+ */
+ v4.DegreeType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DEGREE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PRIMARY_EDUCATION"] = 1;
+ values[valuesById[2] = "LOWER_SECONDARY_EDUCATION"] = 2;
+ values[valuesById[3] = "UPPER_SECONDARY_EDUCATION"] = 3;
+ values[valuesById[4] = "ADULT_REMEDIAL_EDUCATION"] = 4;
+ values[valuesById[5] = "ASSOCIATES_OR_EQUIVALENT"] = 5;
+ values[valuesById[6] = "BACHELORS_OR_EQUIVALENT"] = 6;
+ values[valuesById[7] = "MASTERS_OR_EQUIVALENT"] = 7;
+ values[valuesById[8] = "DOCTORAL_OR_EQUIVALENT"] = 8;
+ return values;
+ })();
+
+ /**
+ * EmploymentType enum.
+ * @name google.cloud.talent.v4.EmploymentType
+ * @enum {number}
+ * @property {number} EMPLOYMENT_TYPE_UNSPECIFIED=0 EMPLOYMENT_TYPE_UNSPECIFIED value
+ * @property {number} FULL_TIME=1 FULL_TIME value
+ * @property {number} PART_TIME=2 PART_TIME value
+ * @property {number} CONTRACTOR=3 CONTRACTOR value
+ * @property {number} CONTRACT_TO_HIRE=4 CONTRACT_TO_HIRE value
+ * @property {number} TEMPORARY=5 TEMPORARY value
+ * @property {number} INTERN=6 INTERN value
+ * @property {number} VOLUNTEER=7 VOLUNTEER value
+ * @property {number} PER_DIEM=8 PER_DIEM value
+ * @property {number} FLY_IN_FLY_OUT=9 FLY_IN_FLY_OUT value
+ * @property {number} OTHER_EMPLOYMENT_TYPE=10 OTHER_EMPLOYMENT_TYPE value
+ */
+ v4.EmploymentType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EMPLOYMENT_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "FULL_TIME"] = 1;
+ values[valuesById[2] = "PART_TIME"] = 2;
+ values[valuesById[3] = "CONTRACTOR"] = 3;
+ values[valuesById[4] = "CONTRACT_TO_HIRE"] = 4;
+ values[valuesById[5] = "TEMPORARY"] = 5;
+ values[valuesById[6] = "INTERN"] = 6;
+ values[valuesById[7] = "VOLUNTEER"] = 7;
+ values[valuesById[8] = "PER_DIEM"] = 8;
+ values[valuesById[9] = "FLY_IN_FLY_OUT"] = 9;
+ values[valuesById[10] = "OTHER_EMPLOYMENT_TYPE"] = 10;
+ return values;
+ })();
+
+ /**
+ * JobLevel enum.
+ * @name google.cloud.talent.v4.JobLevel
+ * @enum {number}
+ * @property {number} JOB_LEVEL_UNSPECIFIED=0 JOB_LEVEL_UNSPECIFIED value
+ * @property {number} ENTRY_LEVEL=1 ENTRY_LEVEL value
+ * @property {number} EXPERIENCED=2 EXPERIENCED value
+ * @property {number} MANAGER=3 MANAGER value
+ * @property {number} DIRECTOR=4 DIRECTOR value
+ * @property {number} EXECUTIVE=5 EXECUTIVE value
+ */
+ v4.JobLevel = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JOB_LEVEL_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENTRY_LEVEL"] = 1;
+ values[valuesById[2] = "EXPERIENCED"] = 2;
+ values[valuesById[3] = "MANAGER"] = 3;
+ values[valuesById[4] = "DIRECTOR"] = 4;
+ values[valuesById[5] = "EXECUTIVE"] = 5;
+ return values;
+ })();
+
+ /**
+ * JobCategory enum.
+ * @name google.cloud.talent.v4.JobCategory
+ * @enum {number}
+ * @property {number} JOB_CATEGORY_UNSPECIFIED=0 JOB_CATEGORY_UNSPECIFIED value
+ * @property {number} ACCOUNTING_AND_FINANCE=1 ACCOUNTING_AND_FINANCE value
+ * @property {number} ADMINISTRATIVE_AND_OFFICE=2 ADMINISTRATIVE_AND_OFFICE value
+ * @property {number} ADVERTISING_AND_MARKETING=3 ADVERTISING_AND_MARKETING value
+ * @property {number} ANIMAL_CARE=4 ANIMAL_CARE value
+ * @property {number} ART_FASHION_AND_DESIGN=5 ART_FASHION_AND_DESIGN value
+ * @property {number} BUSINESS_OPERATIONS=6 BUSINESS_OPERATIONS value
+ * @property {number} CLEANING_AND_FACILITIES=7 CLEANING_AND_FACILITIES value
+ * @property {number} COMPUTER_AND_IT=8 COMPUTER_AND_IT value
+ * @property {number} CONSTRUCTION=9 CONSTRUCTION value
+ * @property {number} CUSTOMER_SERVICE=10 CUSTOMER_SERVICE value
+ * @property {number} EDUCATION=11 EDUCATION value
+ * @property {number} ENTERTAINMENT_AND_TRAVEL=12 ENTERTAINMENT_AND_TRAVEL value
+ * @property {number} FARMING_AND_OUTDOORS=13 FARMING_AND_OUTDOORS value
+ * @property {number} HEALTHCARE=14 HEALTHCARE value
+ * @property {number} HUMAN_RESOURCES=15 HUMAN_RESOURCES value
+ * @property {number} INSTALLATION_MAINTENANCE_AND_REPAIR=16 INSTALLATION_MAINTENANCE_AND_REPAIR value
+ * @property {number} LEGAL=17 LEGAL value
+ * @property {number} MANAGEMENT=18 MANAGEMENT value
+ * @property {number} MANUFACTURING_AND_WAREHOUSE=19 MANUFACTURING_AND_WAREHOUSE value
+ * @property {number} MEDIA_COMMUNICATIONS_AND_WRITING=20 MEDIA_COMMUNICATIONS_AND_WRITING value
+ * @property {number} OIL_GAS_AND_MINING=21 OIL_GAS_AND_MINING value
+ * @property {number} PERSONAL_CARE_AND_SERVICES=22 PERSONAL_CARE_AND_SERVICES value
+ * @property {number} PROTECTIVE_SERVICES=23 PROTECTIVE_SERVICES value
+ * @property {number} REAL_ESTATE=24 REAL_ESTATE value
+ * @property {number} RESTAURANT_AND_HOSPITALITY=25 RESTAURANT_AND_HOSPITALITY value
+ * @property {number} SALES_AND_RETAIL=26 SALES_AND_RETAIL value
+ * @property {number} SCIENCE_AND_ENGINEERING=27 SCIENCE_AND_ENGINEERING value
+ * @property {number} SOCIAL_SERVICES_AND_NON_PROFIT=28 SOCIAL_SERVICES_AND_NON_PROFIT value
+ * @property {number} SPORTS_FITNESS_AND_RECREATION=29 SPORTS_FITNESS_AND_RECREATION value
+ * @property {number} TRANSPORTATION_AND_LOGISTICS=30 TRANSPORTATION_AND_LOGISTICS value
+ */
+ v4.JobCategory = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JOB_CATEGORY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACCOUNTING_AND_FINANCE"] = 1;
+ values[valuesById[2] = "ADMINISTRATIVE_AND_OFFICE"] = 2;
+ values[valuesById[3] = "ADVERTISING_AND_MARKETING"] = 3;
+ values[valuesById[4] = "ANIMAL_CARE"] = 4;
+ values[valuesById[5] = "ART_FASHION_AND_DESIGN"] = 5;
+ values[valuesById[6] = "BUSINESS_OPERATIONS"] = 6;
+ values[valuesById[7] = "CLEANING_AND_FACILITIES"] = 7;
+ values[valuesById[8] = "COMPUTER_AND_IT"] = 8;
+ values[valuesById[9] = "CONSTRUCTION"] = 9;
+ values[valuesById[10] = "CUSTOMER_SERVICE"] = 10;
+ values[valuesById[11] = "EDUCATION"] = 11;
+ values[valuesById[12] = "ENTERTAINMENT_AND_TRAVEL"] = 12;
+ values[valuesById[13] = "FARMING_AND_OUTDOORS"] = 13;
+ values[valuesById[14] = "HEALTHCARE"] = 14;
+ values[valuesById[15] = "HUMAN_RESOURCES"] = 15;
+ values[valuesById[16] = "INSTALLATION_MAINTENANCE_AND_REPAIR"] = 16;
+ values[valuesById[17] = "LEGAL"] = 17;
+ values[valuesById[18] = "MANAGEMENT"] = 18;
+ values[valuesById[19] = "MANUFACTURING_AND_WAREHOUSE"] = 19;
+ values[valuesById[20] = "MEDIA_COMMUNICATIONS_AND_WRITING"] = 20;
+ values[valuesById[21] = "OIL_GAS_AND_MINING"] = 21;
+ values[valuesById[22] = "PERSONAL_CARE_AND_SERVICES"] = 22;
+ values[valuesById[23] = "PROTECTIVE_SERVICES"] = 23;
+ values[valuesById[24] = "REAL_ESTATE"] = 24;
+ values[valuesById[25] = "RESTAURANT_AND_HOSPITALITY"] = 25;
+ values[valuesById[26] = "SALES_AND_RETAIL"] = 26;
+ values[valuesById[27] = "SCIENCE_AND_ENGINEERING"] = 27;
+ values[valuesById[28] = "SOCIAL_SERVICES_AND_NON_PROFIT"] = 28;
+ values[valuesById[29] = "SPORTS_FITNESS_AND_RECREATION"] = 29;
+ values[valuesById[30] = "TRANSPORTATION_AND_LOGISTICS"] = 30;
+ return values;
+ })();
+
+ /**
+ * PostingRegion enum.
+ * @name google.cloud.talent.v4.PostingRegion
+ * @enum {number}
+ * @property {number} POSTING_REGION_UNSPECIFIED=0 POSTING_REGION_UNSPECIFIED value
+ * @property {number} ADMINISTRATIVE_AREA=1 ADMINISTRATIVE_AREA value
+ * @property {number} NATION=2 NATION value
+ * @property {number} TELECOMMUTE=3 TELECOMMUTE value
+ */
+ v4.PostingRegion = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "POSTING_REGION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ADMINISTRATIVE_AREA"] = 1;
+ values[valuesById[2] = "NATION"] = 2;
+ values[valuesById[3] = "TELECOMMUTE"] = 3;
+ return values;
+ })();
+
+ /**
+ * Visibility enum.
+ * @name google.cloud.talent.v4.Visibility
+ * @enum {number}
+ * @property {number} VISIBILITY_UNSPECIFIED=0 VISIBILITY_UNSPECIFIED value
+ * @property {number} ACCOUNT_ONLY=1 ACCOUNT_ONLY value
+ * @property {number} SHARED_WITH_GOOGLE=2 SHARED_WITH_GOOGLE value
+ * @property {number} SHARED_WITH_PUBLIC=3 SHARED_WITH_PUBLIC value
+ */
+ v4.Visibility = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "VISIBILITY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACCOUNT_ONLY"] = 1;
+ values[valuesById[2] = "SHARED_WITH_GOOGLE"] = 2;
+ values[valuesById[3] = "SHARED_WITH_PUBLIC"] = 3;
+ return values;
+ })();
+
+ /**
+ * HtmlSanitization enum.
+ * @name google.cloud.talent.v4.HtmlSanitization
+ * @enum {number}
+ * @property {number} HTML_SANITIZATION_UNSPECIFIED=0 HTML_SANITIZATION_UNSPECIFIED value
+ * @property {number} HTML_SANITIZATION_DISABLED=1 HTML_SANITIZATION_DISABLED value
+ * @property {number} SIMPLE_FORMATTING_ONLY=2 SIMPLE_FORMATTING_ONLY value
+ */
+ v4.HtmlSanitization = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "HTML_SANITIZATION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HTML_SANITIZATION_DISABLED"] = 1;
+ values[valuesById[2] = "SIMPLE_FORMATTING_ONLY"] = 2;
+ return values;
+ })();
+
+ /**
+ * CommuteMethod enum.
+ * @name google.cloud.talent.v4.CommuteMethod
+ * @enum {number}
+ * @property {number} COMMUTE_METHOD_UNSPECIFIED=0 COMMUTE_METHOD_UNSPECIFIED value
+ * @property {number} DRIVING=1 DRIVING value
+ * @property {number} TRANSIT=2 TRANSIT value
+ * @property {number} WALKING=3 WALKING value
+ * @property {number} CYCLING=4 CYCLING value
+ * @property {number} TRANSIT_ACCESSIBLE=5 TRANSIT_ACCESSIBLE value
+ */
+ v4.CommuteMethod = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMMUTE_METHOD_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DRIVING"] = 1;
+ values[valuesById[2] = "TRANSIT"] = 2;
+ values[valuesById[3] = "WALKING"] = 3;
+ values[valuesById[4] = "CYCLING"] = 4;
+ values[valuesById[5] = "TRANSIT_ACCESSIBLE"] = 5;
+ return values;
+ })();
+
+ v4.Location = (function() {
+
+ /**
+ * Properties of a Location.
+ * @memberof google.cloud.talent.v4
+ * @interface ILocation
+ * @property {google.cloud.talent.v4.Location.LocationType|null} [locationType] Location locationType
+ * @property {google.type.IPostalAddress|null} [postalAddress] Location postalAddress
+ * @property {google.type.ILatLng|null} [latLng] Location latLng
+ * @property {number|null} [radiusMiles] Location radiusMiles
+ */
+
+ /**
+ * Constructs a new Location.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a Location.
+ * @implements ILocation
+ * @constructor
+ * @param {google.cloud.talent.v4.ILocation=} [properties] Properties to set
+ */
+ function Location(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]];
+ }
+
+ /**
+ * Location locationType.
+ * @member {google.cloud.talent.v4.Location.LocationType} locationType
+ * @memberof google.cloud.talent.v4.Location
+ * @instance
+ */
+ Location.prototype.locationType = 0;
+
+ /**
+ * Location postalAddress.
+ * @member {google.type.IPostalAddress|null|undefined} postalAddress
+ * @memberof google.cloud.talent.v4.Location
+ * @instance
+ */
+ Location.prototype.postalAddress = null;
+
+ /**
+ * Location latLng.
+ * @member {google.type.ILatLng|null|undefined} latLng
+ * @memberof google.cloud.talent.v4.Location
+ * @instance
+ */
+ Location.prototype.latLng = null;
+
+ /**
+ * Location radiusMiles.
+ * @member {number} radiusMiles
+ * @memberof google.cloud.talent.v4.Location
+ * @instance
+ */
+ Location.prototype.radiusMiles = 0;
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {google.cloud.talent.v4.ILocation=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Location} Location instance
+ */
+ Location.create = function create(properties) {
+ return new Location(properties);
+ };
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.cloud.talent.v4.Location.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {google.cloud.talent.v4.ILocation} message Location message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Location.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.locationType != null && Object.hasOwnProperty.call(message, "locationType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.locationType);
+ if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress"))
+ $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng"))
+ $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.radiusMiles != null && Object.hasOwnProperty.call(message, "radiusMiles"))
+ writer.uint32(/* id 4, wireType 1 =*/33).double(message.radiusMiles);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Location.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {google.cloud.talent.v4.ILocation} message Location message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Location.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Location} Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Location.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Location();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.locationType = reader.int32();
+ break;
+ }
+ case 2: {
+ message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.radiusMiles = reader.double();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Location} Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Location.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Location message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Location.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.locationType != null && message.hasOwnProperty("locationType"))
+ switch (message.locationType) {
+ default:
+ return "locationType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ break;
+ }
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) {
+ var error = $root.google.type.PostalAddress.verify(message.postalAddress);
+ if (error)
+ return "postalAddress." + error;
+ }
+ if (message.latLng != null && message.hasOwnProperty("latLng")) {
+ var error = $root.google.type.LatLng.verify(message.latLng);
+ if (error)
+ return "latLng." + error;
+ }
+ if (message.radiusMiles != null && message.hasOwnProperty("radiusMiles"))
+ if (typeof message.radiusMiles !== "number")
+ return "radiusMiles: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Location} Location
+ */
+ Location.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Location)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Location();
+ switch (object.locationType) {
+ default:
+ if (typeof object.locationType === "number") {
+ message.locationType = object.locationType;
+ break;
+ }
+ break;
+ case "LOCATION_TYPE_UNSPECIFIED":
+ case 0:
+ message.locationType = 0;
+ break;
+ case "COUNTRY":
+ case 1:
+ message.locationType = 1;
+ break;
+ case "ADMINISTRATIVE_AREA":
+ case 2:
+ message.locationType = 2;
+ break;
+ case "SUB_ADMINISTRATIVE_AREA":
+ case 3:
+ message.locationType = 3;
+ break;
+ case "LOCALITY":
+ case 4:
+ message.locationType = 4;
+ break;
+ case "POSTAL_CODE":
+ case 5:
+ message.locationType = 5;
+ break;
+ case "SUB_LOCALITY":
+ case 6:
+ message.locationType = 6;
+ break;
+ case "SUB_LOCALITY_1":
+ case 7:
+ message.locationType = 7;
+ break;
+ case "SUB_LOCALITY_2":
+ case 8:
+ message.locationType = 8;
+ break;
+ case "NEIGHBORHOOD":
+ case 9:
+ message.locationType = 9;
+ break;
+ case "STREET_ADDRESS":
+ case 10:
+ message.locationType = 10;
+ break;
+ }
+ if (object.postalAddress != null) {
+ if (typeof object.postalAddress !== "object")
+ throw TypeError(".google.cloud.talent.v4.Location.postalAddress: object expected");
+ message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress);
+ }
+ if (object.latLng != null) {
+ if (typeof object.latLng !== "object")
+ throw TypeError(".google.cloud.talent.v4.Location.latLng: object expected");
+ message.latLng = $root.google.type.LatLng.fromObject(object.latLng);
+ }
+ if (object.radiusMiles != null)
+ message.radiusMiles = Number(object.radiusMiles);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {google.cloud.talent.v4.Location} message Location
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Location.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.locationType = options.enums === String ? "LOCATION_TYPE_UNSPECIFIED" : 0;
+ object.postalAddress = null;
+ object.latLng = null;
+ object.radiusMiles = 0;
+ }
+ if (message.locationType != null && message.hasOwnProperty("locationType"))
+ object.locationType = options.enums === String ? $root.google.cloud.talent.v4.Location.LocationType[message.locationType] === undefined ? message.locationType : $root.google.cloud.talent.v4.Location.LocationType[message.locationType] : message.locationType;
+ if (message.postalAddress != null && message.hasOwnProperty("postalAddress"))
+ object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options);
+ if (message.latLng != null && message.hasOwnProperty("latLng"))
+ object.latLng = $root.google.type.LatLng.toObject(message.latLng, options);
+ if (message.radiusMiles != null && message.hasOwnProperty("radiusMiles"))
+ object.radiusMiles = options.json && !isFinite(message.radiusMiles) ? String(message.radiusMiles) : message.radiusMiles;
+ return object;
+ };
+
+ /**
+ * Converts this Location to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Location
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Location.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Location
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Location
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Location";
+ };
+
+ /**
+ * LocationType enum.
+ * @name google.cloud.talent.v4.Location.LocationType
+ * @enum {number}
+ * @property {number} LOCATION_TYPE_UNSPECIFIED=0 LOCATION_TYPE_UNSPECIFIED value
+ * @property {number} COUNTRY=1 COUNTRY value
+ * @property {number} ADMINISTRATIVE_AREA=2 ADMINISTRATIVE_AREA value
+ * @property {number} SUB_ADMINISTRATIVE_AREA=3 SUB_ADMINISTRATIVE_AREA value
+ * @property {number} LOCALITY=4 LOCALITY value
+ * @property {number} POSTAL_CODE=5 POSTAL_CODE value
+ * @property {number} SUB_LOCALITY=6 SUB_LOCALITY value
+ * @property {number} SUB_LOCALITY_1=7 SUB_LOCALITY_1 value
+ * @property {number} SUB_LOCALITY_2=8 SUB_LOCALITY_2 value
+ * @property {number} NEIGHBORHOOD=9 NEIGHBORHOOD value
+ * @property {number} STREET_ADDRESS=10 STREET_ADDRESS value
+ */
+ Location.LocationType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LOCATION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "COUNTRY"] = 1;
+ values[valuesById[2] = "ADMINISTRATIVE_AREA"] = 2;
+ values[valuesById[3] = "SUB_ADMINISTRATIVE_AREA"] = 3;
+ values[valuesById[4] = "LOCALITY"] = 4;
+ values[valuesById[5] = "POSTAL_CODE"] = 5;
+ values[valuesById[6] = "SUB_LOCALITY"] = 6;
+ values[valuesById[7] = "SUB_LOCALITY_1"] = 7;
+ values[valuesById[8] = "SUB_LOCALITY_2"] = 8;
+ values[valuesById[9] = "NEIGHBORHOOD"] = 9;
+ values[valuesById[10] = "STREET_ADDRESS"] = 10;
+ return values;
+ })();
+
+ return Location;
+ })();
+
+ v4.RequestMetadata = (function() {
+
+ /**
+ * Properties of a RequestMetadata.
+ * @memberof google.cloud.talent.v4
+ * @interface IRequestMetadata
+ * @property {string|null} [domain] RequestMetadata domain
+ * @property {string|null} [sessionId] RequestMetadata sessionId
+ * @property {string|null} [userId] RequestMetadata userId
+ * @property {boolean|null} [allowMissingIds] RequestMetadata allowMissingIds
+ * @property {google.cloud.talent.v4.IDeviceInfo|null} [deviceInfo] RequestMetadata deviceInfo
+ */
+
+ /**
+ * Constructs a new RequestMetadata.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a RequestMetadata.
+ * @implements IRequestMetadata
+ * @constructor
+ * @param {google.cloud.talent.v4.IRequestMetadata=} [properties] Properties to set
+ */
+ function RequestMetadata(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]];
+ }
+
+ /**
+ * RequestMetadata domain.
+ * @member {string} domain
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ */
+ RequestMetadata.prototype.domain = "";
+
+ /**
+ * RequestMetadata sessionId.
+ * @member {string} sessionId
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ */
+ RequestMetadata.prototype.sessionId = "";
+
+ /**
+ * RequestMetadata userId.
+ * @member {string} userId
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ */
+ RequestMetadata.prototype.userId = "";
+
+ /**
+ * RequestMetadata allowMissingIds.
+ * @member {boolean} allowMissingIds
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ */
+ RequestMetadata.prototype.allowMissingIds = false;
+
+ /**
+ * RequestMetadata deviceInfo.
+ * @member {google.cloud.talent.v4.IDeviceInfo|null|undefined} deviceInfo
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ */
+ RequestMetadata.prototype.deviceInfo = null;
+
+ /**
+ * Creates a new RequestMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IRequestMetadata=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.RequestMetadata} RequestMetadata instance
+ */
+ RequestMetadata.create = function create(properties) {
+ return new RequestMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified RequestMetadata message. Does not implicitly {@link google.cloud.talent.v4.RequestMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IRequestMetadata} message RequestMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RequestMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.domain != null && Object.hasOwnProperty.call(message, "domain"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.domain);
+ if (message.sessionId != null && Object.hasOwnProperty.call(message, "sessionId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.sessionId);
+ if (message.userId != null && Object.hasOwnProperty.call(message, "userId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.userId);
+ if (message.allowMissingIds != null && Object.hasOwnProperty.call(message, "allowMissingIds"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.allowMissingIds);
+ if (message.deviceInfo != null && Object.hasOwnProperty.call(message, "deviceInfo"))
+ $root.google.cloud.talent.v4.DeviceInfo.encode(message.deviceInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RequestMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.RequestMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IRequestMetadata} message RequestMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RequestMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.RequestMetadata} RequestMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RequestMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.RequestMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.domain = reader.string();
+ break;
+ }
+ case 2: {
+ message.sessionId = reader.string();
+ break;
+ }
+ case 3: {
+ message.userId = reader.string();
+ break;
+ }
+ case 4: {
+ message.allowMissingIds = reader.bool();
+ break;
+ }
+ case 5: {
+ message.deviceInfo = $root.google.cloud.talent.v4.DeviceInfo.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RequestMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.RequestMetadata} RequestMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RequestMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RequestMetadata message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RequestMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.domain != null && message.hasOwnProperty("domain"))
+ if (!$util.isString(message.domain))
+ return "domain: string expected";
+ if (message.sessionId != null && message.hasOwnProperty("sessionId"))
+ if (!$util.isString(message.sessionId))
+ return "sessionId: string expected";
+ if (message.userId != null && message.hasOwnProperty("userId"))
+ if (!$util.isString(message.userId))
+ return "userId: string expected";
+ if (message.allowMissingIds != null && message.hasOwnProperty("allowMissingIds"))
+ if (typeof message.allowMissingIds !== "boolean")
+ return "allowMissingIds: boolean expected";
+ if (message.deviceInfo != null && message.hasOwnProperty("deviceInfo")) {
+ var error = $root.google.cloud.talent.v4.DeviceInfo.verify(message.deviceInfo);
+ if (error)
+ return "deviceInfo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RequestMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.RequestMetadata} RequestMetadata
+ */
+ RequestMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.RequestMetadata)
+ return object;
+ var message = new $root.google.cloud.talent.v4.RequestMetadata();
+ if (object.domain != null)
+ message.domain = String(object.domain);
+ if (object.sessionId != null)
+ message.sessionId = String(object.sessionId);
+ if (object.userId != null)
+ message.userId = String(object.userId);
+ if (object.allowMissingIds != null)
+ message.allowMissingIds = Boolean(object.allowMissingIds);
+ if (object.deviceInfo != null) {
+ if (typeof object.deviceInfo !== "object")
+ throw TypeError(".google.cloud.talent.v4.RequestMetadata.deviceInfo: object expected");
+ message.deviceInfo = $root.google.cloud.talent.v4.DeviceInfo.fromObject(object.deviceInfo);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RequestMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {google.cloud.talent.v4.RequestMetadata} message RequestMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RequestMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.domain = "";
+ object.sessionId = "";
+ object.userId = "";
+ object.allowMissingIds = false;
+ object.deviceInfo = null;
+ }
+ if (message.domain != null && message.hasOwnProperty("domain"))
+ object.domain = message.domain;
+ if (message.sessionId != null && message.hasOwnProperty("sessionId"))
+ object.sessionId = message.sessionId;
+ if (message.userId != null && message.hasOwnProperty("userId"))
+ object.userId = message.userId;
+ if (message.allowMissingIds != null && message.hasOwnProperty("allowMissingIds"))
+ object.allowMissingIds = message.allowMissingIds;
+ if (message.deviceInfo != null && message.hasOwnProperty("deviceInfo"))
+ object.deviceInfo = $root.google.cloud.talent.v4.DeviceInfo.toObject(message.deviceInfo, options);
+ return object;
+ };
+
+ /**
+ * Converts this RequestMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RequestMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RequestMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.RequestMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RequestMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.RequestMetadata";
+ };
+
+ return RequestMetadata;
+ })();
+
+ v4.ResponseMetadata = (function() {
+
+ /**
+ * Properties of a ResponseMetadata.
+ * @memberof google.cloud.talent.v4
+ * @interface IResponseMetadata
+ * @property {string|null} [requestId] ResponseMetadata requestId
+ */
+
+ /**
+ * Constructs a new ResponseMetadata.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a ResponseMetadata.
+ * @implements IResponseMetadata
+ * @constructor
+ * @param {google.cloud.talent.v4.IResponseMetadata=} [properties] Properties to set
+ */
+ function ResponseMetadata(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]];
+ }
+
+ /**
+ * ResponseMetadata requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @instance
+ */
+ ResponseMetadata.prototype.requestId = "";
+
+ /**
+ * Creates a new ResponseMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IResponseMetadata=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.ResponseMetadata} ResponseMetadata instance
+ */
+ ResponseMetadata.create = function create(properties) {
+ return new ResponseMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified ResponseMetadata message. Does not implicitly {@link google.cloud.talent.v4.ResponseMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IResponseMetadata} message ResponseMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResponseMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.requestId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResponseMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ResponseMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IResponseMetadata} message ResponseMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResponseMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.ResponseMetadata} ResponseMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResponseMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.ResponseMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.requestId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResponseMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.ResponseMetadata} ResponseMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResponseMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResponseMetadata message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResponseMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ResponseMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.ResponseMetadata} ResponseMetadata
+ */
+ ResponseMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.ResponseMetadata)
+ return object;
+ var message = new $root.google.cloud.talent.v4.ResponseMetadata();
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResponseMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {google.cloud.talent.v4.ResponseMetadata} message ResponseMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResponseMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.requestId = "";
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ return object;
+ };
+
+ /**
+ * Converts this ResponseMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResponseMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResponseMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.ResponseMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResponseMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.ResponseMetadata";
+ };
+
+ return ResponseMetadata;
+ })();
+
+ v4.DeviceInfo = (function() {
+
+ /**
+ * Properties of a DeviceInfo.
+ * @memberof google.cloud.talent.v4
+ * @interface IDeviceInfo
+ * @property {google.cloud.talent.v4.DeviceInfo.DeviceType|null} [deviceType] DeviceInfo deviceType
+ * @property {string|null} [id] DeviceInfo id
+ */
+
+ /**
+ * Constructs a new DeviceInfo.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a DeviceInfo.
+ * @implements IDeviceInfo
+ * @constructor
+ * @param {google.cloud.talent.v4.IDeviceInfo=} [properties] Properties to set
+ */
+ function DeviceInfo(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]];
+ }
+
+ /**
+ * DeviceInfo deviceType.
+ * @member {google.cloud.talent.v4.DeviceInfo.DeviceType} deviceType
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @instance
+ */
+ DeviceInfo.prototype.deviceType = 0;
+
+ /**
+ * DeviceInfo id.
+ * @member {string} id
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @instance
+ */
+ DeviceInfo.prototype.id = "";
+
+ /**
+ * Creates a new DeviceInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {google.cloud.talent.v4.IDeviceInfo=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.DeviceInfo} DeviceInfo instance
+ */
+ DeviceInfo.create = function create(properties) {
+ return new DeviceInfo(properties);
+ };
+
+ /**
+ * Encodes the specified DeviceInfo message. Does not implicitly {@link google.cloud.talent.v4.DeviceInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {google.cloud.talent.v4.IDeviceInfo} message DeviceInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeviceInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.deviceType != null && Object.hasOwnProperty.call(message, "deviceType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.deviceType);
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.id);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeviceInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeviceInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {google.cloud.talent.v4.IDeviceInfo} message DeviceInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeviceInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.DeviceInfo} DeviceInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeviceInfo.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.DeviceInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.deviceType = reader.int32();
+ break;
+ }
+ case 2: {
+ message.id = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeviceInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.DeviceInfo} DeviceInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeviceInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeviceInfo message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeviceInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.deviceType != null && message.hasOwnProperty("deviceType"))
+ switch (message.deviceType) {
+ default:
+ return "deviceType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isString(message.id))
+ return "id: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeviceInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.DeviceInfo} DeviceInfo
+ */
+ DeviceInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.DeviceInfo)
+ return object;
+ var message = new $root.google.cloud.talent.v4.DeviceInfo();
+ switch (object.deviceType) {
+ default:
+ if (typeof object.deviceType === "number") {
+ message.deviceType = object.deviceType;
+ break;
+ }
+ break;
+ case "DEVICE_TYPE_UNSPECIFIED":
+ case 0:
+ message.deviceType = 0;
+ break;
+ case "WEB":
+ case 1:
+ message.deviceType = 1;
+ break;
+ case "MOBILE_WEB":
+ case 2:
+ message.deviceType = 2;
+ break;
+ case "ANDROID":
+ case 3:
+ message.deviceType = 3;
+ break;
+ case "IOS":
+ case 4:
+ message.deviceType = 4;
+ break;
+ case "BOT":
+ case 5:
+ message.deviceType = 5;
+ break;
+ case "OTHER":
+ case 6:
+ message.deviceType = 6;
+ break;
+ }
+ if (object.id != null)
+ message.id = String(object.id);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeviceInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {google.cloud.talent.v4.DeviceInfo} message DeviceInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeviceInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.deviceType = options.enums === String ? "DEVICE_TYPE_UNSPECIFIED" : 0;
+ object.id = "";
+ }
+ if (message.deviceType != null && message.hasOwnProperty("deviceType"))
+ object.deviceType = options.enums === String ? $root.google.cloud.talent.v4.DeviceInfo.DeviceType[message.deviceType] === undefined ? message.deviceType : $root.google.cloud.talent.v4.DeviceInfo.DeviceType[message.deviceType] : message.deviceType;
+ if (message.id != null && message.hasOwnProperty("id"))
+ object.id = message.id;
+ return object;
+ };
+
+ /**
+ * Converts this DeviceInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeviceInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeviceInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.DeviceInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeviceInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.DeviceInfo";
+ };
+
+ /**
+ * DeviceType enum.
+ * @name google.cloud.talent.v4.DeviceInfo.DeviceType
+ * @enum {number}
+ * @property {number} DEVICE_TYPE_UNSPECIFIED=0 DEVICE_TYPE_UNSPECIFIED value
+ * @property {number} WEB=1 WEB value
+ * @property {number} MOBILE_WEB=2 MOBILE_WEB value
+ * @property {number} ANDROID=3 ANDROID value
+ * @property {number} IOS=4 IOS value
+ * @property {number} BOT=5 BOT value
+ * @property {number} OTHER=6 OTHER value
+ */
+ DeviceInfo.DeviceType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DEVICE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "WEB"] = 1;
+ values[valuesById[2] = "MOBILE_WEB"] = 2;
+ values[valuesById[3] = "ANDROID"] = 3;
+ values[valuesById[4] = "IOS"] = 4;
+ values[valuesById[5] = "BOT"] = 5;
+ values[valuesById[6] = "OTHER"] = 6;
+ return values;
+ })();
+
+ return DeviceInfo;
+ })();
+
+ v4.CustomAttribute = (function() {
+
+ /**
+ * Properties of a CustomAttribute.
+ * @memberof google.cloud.talent.v4
+ * @interface ICustomAttribute
+ * @property {Array.|null} [stringValues] CustomAttribute stringValues
+ * @property {Array.|null} [longValues] CustomAttribute longValues
+ * @property {boolean|null} [filterable] CustomAttribute filterable
+ * @property {boolean|null} [keywordSearchable] CustomAttribute keywordSearchable
+ */
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CustomAttribute.
+ * @implements ICustomAttribute
+ * @constructor
+ * @param {google.cloud.talent.v4.ICustomAttribute=} [properties] Properties to set
+ */
+ function CustomAttribute(properties) {
+ this.stringValues = [];
+ this.longValues = [];
+ 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]];
+ }
+
+ /**
+ * CustomAttribute stringValues.
+ * @member {Array.} stringValues
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.stringValues = $util.emptyArray;
+
+ /**
+ * CustomAttribute longValues.
+ * @member {Array.} longValues
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.longValues = $util.emptyArray;
+
+ /**
+ * CustomAttribute filterable.
+ * @member {boolean} filterable
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.filterable = false;
+
+ /**
+ * CustomAttribute keywordSearchable.
+ * @member {boolean} keywordSearchable
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @instance
+ */
+ CustomAttribute.prototype.keywordSearchable = false;
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {google.cloud.talent.v4.ICustomAttribute=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CustomAttribute} CustomAttribute instance
+ */
+ CustomAttribute.create = function create(properties) {
+ return new CustomAttribute(properties);
+ };
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.talent.v4.CustomAttribute.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {google.cloud.talent.v4.ICustomAttribute} message CustomAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomAttribute.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.stringValues != null && message.stringValues.length)
+ for (var i = 0; i < message.stringValues.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.stringValues[i]);
+ if (message.longValues != null && message.longValues.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.longValues.length; ++i)
+ writer.int64(message.longValues[i]);
+ writer.ldelim();
+ }
+ if (message.filterable != null && Object.hasOwnProperty.call(message, "filterable"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterable);
+ if (message.keywordSearchable != null && Object.hasOwnProperty.call(message, "keywordSearchable"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.keywordSearchable);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CustomAttribute.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {google.cloud.talent.v4.ICustomAttribute} message CustomAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomAttribute.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CustomAttribute} CustomAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomAttribute.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CustomAttribute();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.stringValues && message.stringValues.length))
+ message.stringValues = [];
+ message.stringValues.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.longValues && message.longValues.length))
+ message.longValues = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.longValues.push(reader.int64());
+ } else
+ message.longValues.push(reader.int64());
+ break;
+ }
+ case 3: {
+ message.filterable = reader.bool();
+ break;
+ }
+ case 4: {
+ message.keywordSearchable = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomAttribute message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CustomAttribute} CustomAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomAttribute.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomAttribute message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomAttribute.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.stringValues != null && message.hasOwnProperty("stringValues")) {
+ if (!Array.isArray(message.stringValues))
+ return "stringValues: array expected";
+ for (var i = 0; i < message.stringValues.length; ++i)
+ if (!$util.isString(message.stringValues[i]))
+ return "stringValues: string[] expected";
+ }
+ if (message.longValues != null && message.hasOwnProperty("longValues")) {
+ if (!Array.isArray(message.longValues))
+ return "longValues: array expected";
+ for (var i = 0; i < message.longValues.length; ++i)
+ if (!$util.isInteger(message.longValues[i]) && !(message.longValues[i] && $util.isInteger(message.longValues[i].low) && $util.isInteger(message.longValues[i].high)))
+ return "longValues: integer|Long[] expected";
+ }
+ if (message.filterable != null && message.hasOwnProperty("filterable"))
+ if (typeof message.filterable !== "boolean")
+ return "filterable: boolean expected";
+ if (message.keywordSearchable != null && message.hasOwnProperty("keywordSearchable"))
+ if (typeof message.keywordSearchable !== "boolean")
+ return "keywordSearchable: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a CustomAttribute message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CustomAttribute} CustomAttribute
+ */
+ CustomAttribute.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CustomAttribute)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CustomAttribute();
+ if (object.stringValues) {
+ if (!Array.isArray(object.stringValues))
+ throw TypeError(".google.cloud.talent.v4.CustomAttribute.stringValues: array expected");
+ message.stringValues = [];
+ for (var i = 0; i < object.stringValues.length; ++i)
+ message.stringValues[i] = String(object.stringValues[i]);
+ }
+ if (object.longValues) {
+ if (!Array.isArray(object.longValues))
+ throw TypeError(".google.cloud.talent.v4.CustomAttribute.longValues: array expected");
+ message.longValues = [];
+ for (var i = 0; i < object.longValues.length; ++i)
+ if ($util.Long)
+ (message.longValues[i] = $util.Long.fromValue(object.longValues[i])).unsigned = false;
+ else if (typeof object.longValues[i] === "string")
+ message.longValues[i] = parseInt(object.longValues[i], 10);
+ else if (typeof object.longValues[i] === "number")
+ message.longValues[i] = object.longValues[i];
+ else if (typeof object.longValues[i] === "object")
+ message.longValues[i] = new $util.LongBits(object.longValues[i].low >>> 0, object.longValues[i].high >>> 0).toNumber();
+ }
+ if (object.filterable != null)
+ message.filterable = Boolean(object.filterable);
+ if (object.keywordSearchable != null)
+ message.keywordSearchable = Boolean(object.keywordSearchable);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomAttribute message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {google.cloud.talent.v4.CustomAttribute} message CustomAttribute
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomAttribute.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.stringValues = [];
+ object.longValues = [];
+ }
+ if (options.defaults) {
+ object.filterable = false;
+ object.keywordSearchable = false;
+ }
+ if (message.stringValues && message.stringValues.length) {
+ object.stringValues = [];
+ for (var j = 0; j < message.stringValues.length; ++j)
+ object.stringValues[j] = message.stringValues[j];
+ }
+ if (message.longValues && message.longValues.length) {
+ object.longValues = [];
+ for (var j = 0; j < message.longValues.length; ++j)
+ if (typeof message.longValues[j] === "number")
+ object.longValues[j] = options.longs === String ? String(message.longValues[j]) : message.longValues[j];
+ else
+ object.longValues[j] = options.longs === String ? $util.Long.prototype.toString.call(message.longValues[j]) : options.longs === Number ? new $util.LongBits(message.longValues[j].low >>> 0, message.longValues[j].high >>> 0).toNumber() : message.longValues[j];
+ }
+ if (message.filterable != null && message.hasOwnProperty("filterable"))
+ object.filterable = message.filterable;
+ if (message.keywordSearchable != null && message.hasOwnProperty("keywordSearchable"))
+ object.keywordSearchable = message.keywordSearchable;
+ return object;
+ };
+
+ /**
+ * Converts this CustomAttribute to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomAttribute.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomAttribute
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CustomAttribute
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CustomAttribute";
+ };
+
+ return CustomAttribute;
+ })();
+
+ v4.SpellingCorrection = (function() {
+
+ /**
+ * Properties of a SpellingCorrection.
+ * @memberof google.cloud.talent.v4
+ * @interface ISpellingCorrection
+ * @property {boolean|null} [corrected] SpellingCorrection corrected
+ * @property {string|null} [correctedText] SpellingCorrection correctedText
+ * @property {string|null} [correctedHtml] SpellingCorrection correctedHtml
+ */
+
+ /**
+ * Constructs a new SpellingCorrection.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a SpellingCorrection.
+ * @implements ISpellingCorrection
+ * @constructor
+ * @param {google.cloud.talent.v4.ISpellingCorrection=} [properties] Properties to set
+ */
+ function SpellingCorrection(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]];
+ }
+
+ /**
+ * SpellingCorrection corrected.
+ * @member {boolean} corrected
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @instance
+ */
+ SpellingCorrection.prototype.corrected = false;
+
+ /**
+ * SpellingCorrection correctedText.
+ * @member {string} correctedText
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @instance
+ */
+ SpellingCorrection.prototype.correctedText = "";
+
+ /**
+ * SpellingCorrection correctedHtml.
+ * @member {string} correctedHtml
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @instance
+ */
+ SpellingCorrection.prototype.correctedHtml = "";
+
+ /**
+ * Creates a new SpellingCorrection instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {google.cloud.talent.v4.ISpellingCorrection=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.SpellingCorrection} SpellingCorrection instance
+ */
+ SpellingCorrection.create = function create(properties) {
+ return new SpellingCorrection(properties);
+ };
+
+ /**
+ * Encodes the specified SpellingCorrection message. Does not implicitly {@link google.cloud.talent.v4.SpellingCorrection.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {google.cloud.talent.v4.ISpellingCorrection} message SpellingCorrection message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpellingCorrection.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.corrected != null && Object.hasOwnProperty.call(message, "corrected"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.corrected);
+ if (message.correctedText != null && Object.hasOwnProperty.call(message, "correctedText"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.correctedText);
+ if (message.correctedHtml != null && Object.hasOwnProperty.call(message, "correctedHtml"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.correctedHtml);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpellingCorrection message, length delimited. Does not implicitly {@link google.cloud.talent.v4.SpellingCorrection.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {google.cloud.talent.v4.ISpellingCorrection} message SpellingCorrection message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpellingCorrection.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.SpellingCorrection} SpellingCorrection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpellingCorrection.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.SpellingCorrection();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.corrected = reader.bool();
+ break;
+ }
+ case 2: {
+ message.correctedText = reader.string();
+ break;
+ }
+ case 3: {
+ message.correctedHtml = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpellingCorrection message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.SpellingCorrection} SpellingCorrection
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpellingCorrection.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpellingCorrection message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpellingCorrection.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.corrected != null && message.hasOwnProperty("corrected"))
+ if (typeof message.corrected !== "boolean")
+ return "corrected: boolean expected";
+ if (message.correctedText != null && message.hasOwnProperty("correctedText"))
+ if (!$util.isString(message.correctedText))
+ return "correctedText: string expected";
+ if (message.correctedHtml != null && message.hasOwnProperty("correctedHtml"))
+ if (!$util.isString(message.correctedHtml))
+ return "correctedHtml: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SpellingCorrection message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.SpellingCorrection} SpellingCorrection
+ */
+ SpellingCorrection.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.SpellingCorrection)
+ return object;
+ var message = new $root.google.cloud.talent.v4.SpellingCorrection();
+ if (object.corrected != null)
+ message.corrected = Boolean(object.corrected);
+ if (object.correctedText != null)
+ message.correctedText = String(object.correctedText);
+ if (object.correctedHtml != null)
+ message.correctedHtml = String(object.correctedHtml);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpellingCorrection message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {google.cloud.talent.v4.SpellingCorrection} message SpellingCorrection
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpellingCorrection.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.corrected = false;
+ object.correctedText = "";
+ object.correctedHtml = "";
+ }
+ if (message.corrected != null && message.hasOwnProperty("corrected"))
+ object.corrected = message.corrected;
+ if (message.correctedText != null && message.hasOwnProperty("correctedText"))
+ object.correctedText = message.correctedText;
+ if (message.correctedHtml != null && message.hasOwnProperty("correctedHtml"))
+ object.correctedHtml = message.correctedHtml;
+ return object;
+ };
+
+ /**
+ * Converts this SpellingCorrection to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpellingCorrection.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpellingCorrection
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.SpellingCorrection
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpellingCorrection.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.SpellingCorrection";
+ };
+
+ return SpellingCorrection;
+ })();
+
+ v4.CompensationInfo = (function() {
+
+ /**
+ * Properties of a CompensationInfo.
+ * @memberof google.cloud.talent.v4
+ * @interface ICompensationInfo
+ * @property {Array.|null} [entries] CompensationInfo entries
+ * @property {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null} [annualizedBaseCompensationRange] CompensationInfo annualizedBaseCompensationRange
+ * @property {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null} [annualizedTotalCompensationRange] CompensationInfo annualizedTotalCompensationRange
+ */
+
+ /**
+ * Constructs a new CompensationInfo.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CompensationInfo.
+ * @implements ICompensationInfo
+ * @constructor
+ * @param {google.cloud.talent.v4.ICompensationInfo=} [properties] Properties to set
+ */
+ function CompensationInfo(properties) {
+ this.entries = [];
+ 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]];
+ }
+
+ /**
+ * CompensationInfo entries.
+ * @member {Array.} entries
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @instance
+ */
+ CompensationInfo.prototype.entries = $util.emptyArray;
+
+ /**
+ * CompensationInfo annualizedBaseCompensationRange.
+ * @member {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null|undefined} annualizedBaseCompensationRange
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @instance
+ */
+ CompensationInfo.prototype.annualizedBaseCompensationRange = null;
+
+ /**
+ * CompensationInfo annualizedTotalCompensationRange.
+ * @member {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null|undefined} annualizedTotalCompensationRange
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @instance
+ */
+ CompensationInfo.prototype.annualizedTotalCompensationRange = null;
+
+ /**
+ * Creates a new CompensationInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationInfo=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompensationInfo} CompensationInfo instance
+ */
+ CompensationInfo.create = function create(properties) {
+ return new CompensationInfo(properties);
+ };
+
+ /**
+ * Encodes the specified CompensationInfo message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationInfo} message CompensationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.entries != null && message.entries.length)
+ for (var i = 0; i < message.entries.length; ++i)
+ $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry.encode(message.entries[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.annualizedBaseCompensationRange != null && Object.hasOwnProperty.call(message, "annualizedBaseCompensationRange"))
+ $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.encode(message.annualizedBaseCompensationRange, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.annualizedTotalCompensationRange != null && Object.hasOwnProperty.call(message, "annualizedTotalCompensationRange"))
+ $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.encode(message.annualizedTotalCompensationRange, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompensationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationInfo} message CompensationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompensationInfo} CompensationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationInfo.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompensationInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.entries && message.entries.length))
+ message.entries = [];
+ message.entries.push($root.google.cloud.talent.v4.CompensationInfo.CompensationEntry.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.annualizedBaseCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.annualizedTotalCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompensationInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompensationInfo} CompensationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompensationInfo message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompensationInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.entries != null && message.hasOwnProperty("entries")) {
+ if (!Array.isArray(message.entries))
+ return "entries: array expected";
+ for (var i = 0; i < message.entries.length; ++i) {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry.verify(message.entries[i]);
+ if (error)
+ return "entries." + error;
+ }
+ }
+ if (message.annualizedBaseCompensationRange != null && message.hasOwnProperty("annualizedBaseCompensationRange")) {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.verify(message.annualizedBaseCompensationRange);
+ if (error)
+ return "annualizedBaseCompensationRange." + error;
+ }
+ if (message.annualizedTotalCompensationRange != null && message.hasOwnProperty("annualizedTotalCompensationRange")) {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.verify(message.annualizedTotalCompensationRange);
+ if (error)
+ return "annualizedTotalCompensationRange." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompensationInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompensationInfo} CompensationInfo
+ */
+ CompensationInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompensationInfo)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompensationInfo();
+ if (object.entries) {
+ if (!Array.isArray(object.entries))
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.entries: array expected");
+ message.entries = [];
+ for (var i = 0; i < object.entries.length; ++i) {
+ if (typeof object.entries[i] !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.entries: object expected");
+ message.entries[i] = $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry.fromObject(object.entries[i]);
+ }
+ }
+ if (object.annualizedBaseCompensationRange != null) {
+ if (typeof object.annualizedBaseCompensationRange !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.annualizedBaseCompensationRange: object expected");
+ message.annualizedBaseCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.fromObject(object.annualizedBaseCompensationRange);
+ }
+ if (object.annualizedTotalCompensationRange != null) {
+ if (typeof object.annualizedTotalCompensationRange !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.annualizedTotalCompensationRange: object expected");
+ message.annualizedTotalCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.fromObject(object.annualizedTotalCompensationRange);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompensationInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo} message CompensationInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompensationInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.entries = [];
+ if (options.defaults) {
+ object.annualizedBaseCompensationRange = null;
+ object.annualizedTotalCompensationRange = null;
+ }
+ if (message.entries && message.entries.length) {
+ object.entries = [];
+ for (var j = 0; j < message.entries.length; ++j)
+ object.entries[j] = $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry.toObject(message.entries[j], options);
+ }
+ if (message.annualizedBaseCompensationRange != null && message.hasOwnProperty("annualizedBaseCompensationRange"))
+ object.annualizedBaseCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.toObject(message.annualizedBaseCompensationRange, options);
+ if (message.annualizedTotalCompensationRange != null && message.hasOwnProperty("annualizedTotalCompensationRange"))
+ object.annualizedTotalCompensationRange = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.toObject(message.annualizedTotalCompensationRange, options);
+ return object;
+ };
+
+ /**
+ * Converts this CompensationInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompensationInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompensationInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompensationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompensationInfo";
+ };
+
+ CompensationInfo.CompensationEntry = (function() {
+
+ /**
+ * Properties of a CompensationEntry.
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @interface ICompensationEntry
+ * @property {google.cloud.talent.v4.CompensationInfo.CompensationType|null} [type] CompensationEntry type
+ * @property {google.cloud.talent.v4.CompensationInfo.CompensationUnit|null} [unit] CompensationEntry unit
+ * @property {google.type.IMoney|null} [amount] CompensationEntry amount
+ * @property {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null} [range] CompensationEntry range
+ * @property {string|null} [description] CompensationEntry description
+ * @property {google.protobuf.IDoubleValue|null} [expectedUnitsPerYear] CompensationEntry expectedUnitsPerYear
+ */
+
+ /**
+ * Constructs a new CompensationEntry.
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @classdesc Represents a CompensationEntry.
+ * @implements ICompensationEntry
+ * @constructor
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationEntry=} [properties] Properties to set
+ */
+ function CompensationEntry(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]];
+ }
+
+ /**
+ * CompensationEntry type.
+ * @member {google.cloud.talent.v4.CompensationInfo.CompensationType} type
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.type = 0;
+
+ /**
+ * CompensationEntry unit.
+ * @member {google.cloud.talent.v4.CompensationInfo.CompensationUnit} unit
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.unit = 0;
+
+ /**
+ * CompensationEntry amount.
+ * @member {google.type.IMoney|null|undefined} amount
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.amount = null;
+
+ /**
+ * CompensationEntry range.
+ * @member {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null|undefined} range
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.range = null;
+
+ /**
+ * CompensationEntry description.
+ * @member {string} description
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.description = "";
+
+ /**
+ * CompensationEntry expectedUnitsPerYear.
+ * @member {google.protobuf.IDoubleValue|null|undefined} expectedUnitsPerYear
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ CompensationEntry.prototype.expectedUnitsPerYear = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CompensationEntry compensationAmount.
+ * @member {"amount"|"range"|undefined} compensationAmount
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ */
+ Object.defineProperty(CompensationEntry.prototype, "compensationAmount", {
+ get: $util.oneOfGetter($oneOfFields = ["amount", "range"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CompensationEntry instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationEntry=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationEntry} CompensationEntry instance
+ */
+ CompensationEntry.create = function create(properties) {
+ return new CompensationEntry(properties);
+ };
+
+ /**
+ * Encodes the specified CompensationEntry message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationEntry} message CompensationEntry message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationEntry.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);
+ if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.unit);
+ if (message.amount != null && Object.hasOwnProperty.call(message, "amount"))
+ $root.google.type.Money.encode(message.amount, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.range != null && Object.hasOwnProperty.call(message, "range"))
+ $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.encode(message.range, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.expectedUnitsPerYear != null && Object.hasOwnProperty.call(message, "expectedUnitsPerYear"))
+ $root.google.protobuf.DoubleValue.encode(message.expectedUnitsPerYear, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompensationEntry message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationEntry.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationEntry} message CompensationEntry message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationEntry.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationEntry} CompensationEntry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationEntry.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.int32();
+ break;
+ }
+ case 2: {
+ message.unit = reader.int32();
+ break;
+ }
+ case 3: {
+ message.amount = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.expectedUnitsPerYear = $root.google.protobuf.DoubleValue.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompensationEntry message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationEntry} CompensationEntry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationEntry.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompensationEntry message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompensationEntry.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ switch (message.unit) {
+ default:
+ return "unit: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.amount != null && message.hasOwnProperty("amount")) {
+ properties.compensationAmount = 1;
+ {
+ var error = $root.google.type.Money.verify(message.amount);
+ if (error)
+ return "amount." + error;
+ }
+ }
+ if (message.range != null && message.hasOwnProperty("range")) {
+ if (properties.compensationAmount === 1)
+ return "compensationAmount: multiple values";
+ properties.compensationAmount = 1;
+ {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.verify(message.range);
+ if (error)
+ return "range." + error;
+ }
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.expectedUnitsPerYear != null && message.hasOwnProperty("expectedUnitsPerYear")) {
+ var error = $root.google.protobuf.DoubleValue.verify(message.expectedUnitsPerYear);
+ if (error)
+ return "expectedUnitsPerYear." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompensationEntry message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationEntry} CompensationEntry
+ */
+ CompensationEntry.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompensationInfo.CompensationEntry();
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "COMPENSATION_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "BASE":
+ case 1:
+ message.type = 1;
+ break;
+ case "BONUS":
+ case 2:
+ message.type = 2;
+ break;
+ case "SIGNING_BONUS":
+ case 3:
+ message.type = 3;
+ break;
+ case "EQUITY":
+ case 4:
+ message.type = 4;
+ break;
+ case "PROFIT_SHARING":
+ case 5:
+ message.type = 5;
+ break;
+ case "COMMISSIONS":
+ case 6:
+ message.type = 6;
+ break;
+ case "TIPS":
+ case 7:
+ message.type = 7;
+ break;
+ case "OTHER_COMPENSATION_TYPE":
+ case 8:
+ message.type = 8;
+ break;
+ }
+ switch (object.unit) {
+ default:
+ if (typeof object.unit === "number") {
+ message.unit = object.unit;
+ break;
+ }
+ break;
+ case "COMPENSATION_UNIT_UNSPECIFIED":
+ case 0:
+ message.unit = 0;
+ break;
+ case "HOURLY":
+ case 1:
+ message.unit = 1;
+ break;
+ case "DAILY":
+ case 2:
+ message.unit = 2;
+ break;
+ case "WEEKLY":
+ case 3:
+ message.unit = 3;
+ break;
+ case "MONTHLY":
+ case 4:
+ message.unit = 4;
+ break;
+ case "YEARLY":
+ case 5:
+ message.unit = 5;
+ break;
+ case "ONE_TIME":
+ case 6:
+ message.unit = 6;
+ break;
+ case "OTHER_COMPENSATION_UNIT":
+ case 7:
+ message.unit = 7;
+ break;
+ }
+ if (object.amount != null) {
+ if (typeof object.amount !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.CompensationEntry.amount: object expected");
+ message.amount = $root.google.type.Money.fromObject(object.amount);
+ }
+ if (object.range != null) {
+ if (typeof object.range !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.CompensationEntry.range: object expected");
+ message.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.fromObject(object.range);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.expectedUnitsPerYear != null) {
+ if (typeof object.expectedUnitsPerYear !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.CompensationEntry.expectedUnitsPerYear: object expected");
+ message.expectedUnitsPerYear = $root.google.protobuf.DoubleValue.fromObject(object.expectedUnitsPerYear);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompensationEntry message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.CompensationEntry} message CompensationEntry
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompensationEntry.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.type = options.enums === String ? "COMPENSATION_TYPE_UNSPECIFIED" : 0;
+ object.unit = options.enums === String ? "COMPENSATION_UNIT_UNSPECIFIED" : 0;
+ object.description = "";
+ object.expectedUnitsPerYear = null;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.talent.v4.CompensationInfo.CompensationType[message.type] === undefined ? message.type : $root.google.cloud.talent.v4.CompensationInfo.CompensationType[message.type] : message.type;
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ object.unit = options.enums === String ? $root.google.cloud.talent.v4.CompensationInfo.CompensationUnit[message.unit] === undefined ? message.unit : $root.google.cloud.talent.v4.CompensationInfo.CompensationUnit[message.unit] : message.unit;
+ if (message.amount != null && message.hasOwnProperty("amount")) {
+ object.amount = $root.google.type.Money.toObject(message.amount, options);
+ if (options.oneofs)
+ object.compensationAmount = "amount";
+ }
+ if (message.range != null && message.hasOwnProperty("range")) {
+ object.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.toObject(message.range, options);
+ if (options.oneofs)
+ object.compensationAmount = "range";
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.expectedUnitsPerYear != null && message.hasOwnProperty("expectedUnitsPerYear"))
+ object.expectedUnitsPerYear = $root.google.protobuf.DoubleValue.toObject(message.expectedUnitsPerYear, options);
+ return object;
+ };
+
+ /**
+ * Converts this CompensationEntry to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompensationEntry.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompensationEntry
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationEntry
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompensationEntry.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompensationInfo.CompensationEntry";
+ };
+
+ return CompensationEntry;
+ })();
+
+ /**
+ * CompensationType enum.
+ * @name google.cloud.talent.v4.CompensationInfo.CompensationType
+ * @enum {number}
+ * @property {number} COMPENSATION_TYPE_UNSPECIFIED=0 COMPENSATION_TYPE_UNSPECIFIED value
+ * @property {number} BASE=1 BASE value
+ * @property {number} BONUS=2 BONUS value
+ * @property {number} SIGNING_BONUS=3 SIGNING_BONUS value
+ * @property {number} EQUITY=4 EQUITY value
+ * @property {number} PROFIT_SHARING=5 PROFIT_SHARING value
+ * @property {number} COMMISSIONS=6 COMMISSIONS value
+ * @property {number} TIPS=7 TIPS value
+ * @property {number} OTHER_COMPENSATION_TYPE=8 OTHER_COMPENSATION_TYPE value
+ */
+ CompensationInfo.CompensationType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPENSATION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "BASE"] = 1;
+ values[valuesById[2] = "BONUS"] = 2;
+ values[valuesById[3] = "SIGNING_BONUS"] = 3;
+ values[valuesById[4] = "EQUITY"] = 4;
+ values[valuesById[5] = "PROFIT_SHARING"] = 5;
+ values[valuesById[6] = "COMMISSIONS"] = 6;
+ values[valuesById[7] = "TIPS"] = 7;
+ values[valuesById[8] = "OTHER_COMPENSATION_TYPE"] = 8;
+ return values;
+ })();
+
+ /**
+ * CompensationUnit enum.
+ * @name google.cloud.talent.v4.CompensationInfo.CompensationUnit
+ * @enum {number}
+ * @property {number} COMPENSATION_UNIT_UNSPECIFIED=0 COMPENSATION_UNIT_UNSPECIFIED value
+ * @property {number} HOURLY=1 HOURLY value
+ * @property {number} DAILY=2 DAILY value
+ * @property {number} WEEKLY=3 WEEKLY value
+ * @property {number} MONTHLY=4 MONTHLY value
+ * @property {number} YEARLY=5 YEARLY value
+ * @property {number} ONE_TIME=6 ONE_TIME value
+ * @property {number} OTHER_COMPENSATION_UNIT=7 OTHER_COMPENSATION_UNIT value
+ */
+ CompensationInfo.CompensationUnit = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPENSATION_UNIT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "HOURLY"] = 1;
+ values[valuesById[2] = "DAILY"] = 2;
+ values[valuesById[3] = "WEEKLY"] = 3;
+ values[valuesById[4] = "MONTHLY"] = 4;
+ values[valuesById[5] = "YEARLY"] = 5;
+ values[valuesById[6] = "ONE_TIME"] = 6;
+ values[valuesById[7] = "OTHER_COMPENSATION_UNIT"] = 7;
+ return values;
+ })();
+
+ CompensationInfo.CompensationRange = (function() {
+
+ /**
+ * Properties of a CompensationRange.
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @interface ICompensationRange
+ * @property {google.type.IMoney|null} [maxCompensation] CompensationRange maxCompensation
+ * @property {google.type.IMoney|null} [minCompensation] CompensationRange minCompensation
+ */
+
+ /**
+ * Constructs a new CompensationRange.
+ * @memberof google.cloud.talent.v4.CompensationInfo
+ * @classdesc Represents a CompensationRange.
+ * @implements ICompensationRange
+ * @constructor
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationRange=} [properties] Properties to set
+ */
+ function CompensationRange(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]];
+ }
+
+ /**
+ * CompensationRange maxCompensation.
+ * @member {google.type.IMoney|null|undefined} maxCompensation
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @instance
+ */
+ CompensationRange.prototype.maxCompensation = null;
+
+ /**
+ * CompensationRange minCompensation.
+ * @member {google.type.IMoney|null|undefined} minCompensation
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @instance
+ */
+ CompensationRange.prototype.minCompensation = null;
+
+ /**
+ * Creates a new CompensationRange instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationRange=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationRange} CompensationRange instance
+ */
+ CompensationRange.create = function create(properties) {
+ return new CompensationRange(properties);
+ };
+
+ /**
+ * Encodes the specified CompensationRange message. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationRange} message CompensationRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.minCompensation != null && Object.hasOwnProperty.call(message, "minCompensation"))
+ $root.google.type.Money.encode(message.minCompensation, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.maxCompensation != null && Object.hasOwnProperty.call(message, "maxCompensation"))
+ $root.google.type.Money.encode(message.maxCompensation, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompensationRange message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationInfo.CompensationRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.ICompensationRange} message CompensationRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationRange} CompensationRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompensationInfo.CompensationRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.maxCompensation = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ case 1: {
+ message.minCompensation = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompensationRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationRange} CompensationRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompensationRange message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompensationRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.maxCompensation != null && message.hasOwnProperty("maxCompensation")) {
+ var error = $root.google.type.Money.verify(message.maxCompensation);
+ if (error)
+ return "maxCompensation." + error;
+ }
+ if (message.minCompensation != null && message.hasOwnProperty("minCompensation")) {
+ var error = $root.google.type.Money.verify(message.minCompensation);
+ if (error)
+ return "minCompensation." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompensationRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompensationInfo.CompensationRange} CompensationRange
+ */
+ CompensationRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompensationInfo.CompensationRange)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompensationInfo.CompensationRange();
+ if (object.maxCompensation != null) {
+ if (typeof object.maxCompensation !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.CompensationRange.maxCompensation: object expected");
+ message.maxCompensation = $root.google.type.Money.fromObject(object.maxCompensation);
+ }
+ if (object.minCompensation != null) {
+ if (typeof object.minCompensation !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationInfo.CompensationRange.minCompensation: object expected");
+ message.minCompensation = $root.google.type.Money.fromObject(object.minCompensation);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompensationRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {google.cloud.talent.v4.CompensationInfo.CompensationRange} message CompensationRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompensationRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.minCompensation = null;
+ object.maxCompensation = null;
+ }
+ if (message.minCompensation != null && message.hasOwnProperty("minCompensation"))
+ object.minCompensation = $root.google.type.Money.toObject(message.minCompensation, options);
+ if (message.maxCompensation != null && message.hasOwnProperty("maxCompensation"))
+ object.maxCompensation = $root.google.type.Money.toObject(message.maxCompensation, options);
+ return object;
+ };
+
+ /**
+ * Converts this CompensationRange to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompensationRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompensationRange
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompensationInfo.CompensationRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompensationRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompensationInfo.CompensationRange";
+ };
+
+ return CompensationRange;
+ })();
+
+ return CompensationInfo;
+ })();
+
+ v4.BatchOperationMetadata = (function() {
+
+ /**
+ * Properties of a BatchOperationMetadata.
+ * @memberof google.cloud.talent.v4
+ * @interface IBatchOperationMetadata
+ * @property {google.cloud.talent.v4.BatchOperationMetadata.State|null} [state] BatchOperationMetadata state
+ * @property {string|null} [stateDescription] BatchOperationMetadata stateDescription
+ * @property {number|null} [successCount] BatchOperationMetadata successCount
+ * @property {number|null} [failureCount] BatchOperationMetadata failureCount
+ * @property {number|null} [totalCount] BatchOperationMetadata totalCount
+ * @property {google.protobuf.ITimestamp|null} [createTime] BatchOperationMetadata createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] BatchOperationMetadata updateTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] BatchOperationMetadata endTime
+ */
+
+ /**
+ * Constructs a new BatchOperationMetadata.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a BatchOperationMetadata.
+ * @implements IBatchOperationMetadata
+ * @constructor
+ * @param {google.cloud.talent.v4.IBatchOperationMetadata=} [properties] Properties to set
+ */
+ function BatchOperationMetadata(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]];
+ }
+
+ /**
+ * BatchOperationMetadata state.
+ * @member {google.cloud.talent.v4.BatchOperationMetadata.State} state
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.state = 0;
+
+ /**
+ * BatchOperationMetadata stateDescription.
+ * @member {string} stateDescription
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.stateDescription = "";
+
+ /**
+ * BatchOperationMetadata successCount.
+ * @member {number} successCount
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.successCount = 0;
+
+ /**
+ * BatchOperationMetadata failureCount.
+ * @member {number} failureCount
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.failureCount = 0;
+
+ /**
+ * BatchOperationMetadata totalCount.
+ * @member {number} totalCount
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.totalCount = 0;
+
+ /**
+ * BatchOperationMetadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.createTime = null;
+
+ /**
+ * BatchOperationMetadata updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.updateTime = null;
+
+ /**
+ * BatchOperationMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ */
+ BatchOperationMetadata.prototype.endTime = null;
+
+ /**
+ * Creates a new BatchOperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IBatchOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.BatchOperationMetadata} BatchOperationMetadata instance
+ */
+ BatchOperationMetadata.create = function create(properties) {
+ return new BatchOperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified BatchOperationMetadata message. Does not implicitly {@link google.cloud.talent.v4.BatchOperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchOperationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.state);
+ if (message.stateDescription != null && Object.hasOwnProperty.call(message, "stateDescription"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.stateDescription);
+ if (message.successCount != null && Object.hasOwnProperty.call(message, "successCount"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.successCount);
+ if (message.failureCount != null && Object.hasOwnProperty.call(message, "failureCount"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.failureCount);
+ if (message.totalCount != null && Object.hasOwnProperty.call(message, "totalCount"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.totalCount);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified BatchOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.talent.v4.BatchOperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {google.cloud.talent.v4.IBatchOperationMetadata} message BatchOperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchOperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.BatchOperationMetadata} BatchOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchOperationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.BatchOperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.state = reader.int32();
+ break;
+ }
+ case 2: {
+ message.stateDescription = reader.string();
+ break;
+ }
+ case 3: {
+ message.successCount = reader.int32();
+ break;
+ }
+ case 4: {
+ message.failureCount = reader.int32();
+ break;
+ }
+ case 5: {
+ message.totalCount = reader.int32();
+ break;
+ }
+ case 6: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a BatchOperationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.BatchOperationMetadata} BatchOperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchOperationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a BatchOperationMetadata message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ BatchOperationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.stateDescription != null && message.hasOwnProperty("stateDescription"))
+ if (!$util.isString(message.stateDescription))
+ return "stateDescription: string expected";
+ if (message.successCount != null && message.hasOwnProperty("successCount"))
+ if (!$util.isInteger(message.successCount))
+ return "successCount: integer expected";
+ if (message.failureCount != null && message.hasOwnProperty("failureCount"))
+ if (!$util.isInteger(message.failureCount))
+ return "failureCount: integer expected";
+ if (message.totalCount != null && message.hasOwnProperty("totalCount"))
+ if (!$util.isInteger(message.totalCount))
+ return "totalCount: integer expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a BatchOperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.BatchOperationMetadata} BatchOperationMetadata
+ */
+ BatchOperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.BatchOperationMetadata)
+ return object;
+ var message = new $root.google.cloud.talent.v4.BatchOperationMetadata();
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "INITIALIZING":
+ case 1:
+ message.state = 1;
+ break;
+ case "PROCESSING":
+ case 2:
+ message.state = 2;
+ break;
+ case "SUCCEEDED":
+ case 3:
+ message.state = 3;
+ break;
+ case "FAILED":
+ case 4:
+ message.state = 4;
+ break;
+ case "CANCELLING":
+ case 5:
+ message.state = 5;
+ break;
+ case "CANCELLED":
+ case 6:
+ message.state = 6;
+ break;
+ }
+ if (object.stateDescription != null)
+ message.stateDescription = String(object.stateDescription);
+ if (object.successCount != null)
+ message.successCount = object.successCount | 0;
+ if (object.failureCount != null)
+ message.failureCount = object.failureCount | 0;
+ if (object.totalCount != null)
+ message.totalCount = object.totalCount | 0;
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.BatchOperationMetadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.BatchOperationMetadata.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.BatchOperationMetadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a BatchOperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {google.cloud.talent.v4.BatchOperationMetadata} message BatchOperationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ BatchOperationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.stateDescription = "";
+ object.successCount = 0;
+ object.failureCount = 0;
+ object.totalCount = 0;
+ object.createTime = null;
+ object.updateTime = null;
+ object.endTime = null;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.talent.v4.BatchOperationMetadata.State[message.state] === undefined ? message.state : $root.google.cloud.talent.v4.BatchOperationMetadata.State[message.state] : message.state;
+ if (message.stateDescription != null && message.hasOwnProperty("stateDescription"))
+ object.stateDescription = message.stateDescription;
+ if (message.successCount != null && message.hasOwnProperty("successCount"))
+ object.successCount = message.successCount;
+ if (message.failureCount != null && message.hasOwnProperty("failureCount"))
+ object.failureCount = message.failureCount;
+ if (message.totalCount != null && message.hasOwnProperty("totalCount"))
+ object.totalCount = message.totalCount;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this BatchOperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ BatchOperationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for BatchOperationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.BatchOperationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ BatchOperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.BatchOperationMetadata";
+ };
+
+ /**
+ * State enum.
+ * @name google.cloud.talent.v4.BatchOperationMetadata.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} INITIALIZING=1 INITIALIZING value
+ * @property {number} PROCESSING=2 PROCESSING value
+ * @property {number} SUCCEEDED=3 SUCCEEDED value
+ * @property {number} FAILED=4 FAILED value
+ * @property {number} CANCELLING=5 CANCELLING value
+ * @property {number} CANCELLED=6 CANCELLED value
+ */
+ BatchOperationMetadata.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "INITIALIZING"] = 1;
+ values[valuesById[2] = "PROCESSING"] = 2;
+ values[valuesById[3] = "SUCCEEDED"] = 3;
+ values[valuesById[4] = "FAILED"] = 4;
+ values[valuesById[5] = "CANCELLING"] = 5;
+ values[valuesById[6] = "CANCELLED"] = 6;
+ return values;
+ })();
+
+ return BatchOperationMetadata;
+ })();
+
+ v4.Company = (function() {
+
+ /**
+ * Properties of a Company.
+ * @memberof google.cloud.talent.v4
+ * @interface ICompany
+ * @property {string|null} [name] Company name
+ * @property {string|null} [displayName] Company displayName
+ * @property {string|null} [externalId] Company externalId
+ * @property {google.cloud.talent.v4.CompanySize|null} [size] Company size
+ * @property {string|null} [headquartersAddress] Company headquartersAddress
+ * @property {boolean|null} [hiringAgency] Company hiringAgency
+ * @property {string|null} [eeoText] Company eeoText
+ * @property {string|null} [websiteUri] Company websiteUri
+ * @property {string|null} [careerSiteUri] Company careerSiteUri
+ * @property {string|null} [imageUri] Company imageUri
+ * @property {Array.|null} [keywordSearchableJobCustomAttributes] Company keywordSearchableJobCustomAttributes
+ * @property {google.cloud.talent.v4.Company.IDerivedInfo|null} [derivedInfo] Company derivedInfo
+ * @property {boolean|null} [suspended] Company suspended
+ */
+
+ /**
+ * Constructs a new Company.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a Company.
+ * @implements ICompany
+ * @constructor
+ * @param {google.cloud.talent.v4.ICompany=} [properties] Properties to set
+ */
+ function Company(properties) {
+ this.keywordSearchableJobCustomAttributes = [];
+ 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]];
+ }
+
+ /**
+ * Company name.
+ * @member {string} name
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.name = "";
+
+ /**
+ * Company displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.displayName = "";
+
+ /**
+ * Company externalId.
+ * @member {string} externalId
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.externalId = "";
+
+ /**
+ * Company size.
+ * @member {google.cloud.talent.v4.CompanySize} size
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.size = 0;
+
+ /**
+ * Company headquartersAddress.
+ * @member {string} headquartersAddress
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.headquartersAddress = "";
+
+ /**
+ * Company hiringAgency.
+ * @member {boolean} hiringAgency
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.hiringAgency = false;
+
+ /**
+ * Company eeoText.
+ * @member {string} eeoText
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.eeoText = "";
+
+ /**
+ * Company websiteUri.
+ * @member {string} websiteUri
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.websiteUri = "";
+
+ /**
+ * Company careerSiteUri.
+ * @member {string} careerSiteUri
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.careerSiteUri = "";
+
+ /**
+ * Company imageUri.
+ * @member {string} imageUri
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.imageUri = "";
+
+ /**
+ * Company keywordSearchableJobCustomAttributes.
+ * @member {Array.} keywordSearchableJobCustomAttributes
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.keywordSearchableJobCustomAttributes = $util.emptyArray;
+
+ /**
+ * Company derivedInfo.
+ * @member {google.cloud.talent.v4.Company.IDerivedInfo|null|undefined} derivedInfo
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.derivedInfo = null;
+
+ /**
+ * Company suspended.
+ * @member {boolean} suspended
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ */
+ Company.prototype.suspended = false;
+
+ /**
+ * Creates a new Company instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {google.cloud.talent.v4.ICompany=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Company} Company instance
+ */
+ Company.create = function create(properties) {
+ return new Company(properties);
+ };
+
+ /**
+ * Encodes the specified Company message. Does not implicitly {@link google.cloud.talent.v4.Company.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {google.cloud.talent.v4.ICompany} message Company message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Company.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.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName);
+ if (message.externalId != null && Object.hasOwnProperty.call(message, "externalId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.externalId);
+ if (message.size != null && Object.hasOwnProperty.call(message, "size"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.size);
+ if (message.headquartersAddress != null && Object.hasOwnProperty.call(message, "headquartersAddress"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.headquartersAddress);
+ if (message.hiringAgency != null && Object.hasOwnProperty.call(message, "hiringAgency"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.hiringAgency);
+ if (message.eeoText != null && Object.hasOwnProperty.call(message, "eeoText"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.eeoText);
+ if (message.websiteUri != null && Object.hasOwnProperty.call(message, "websiteUri"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.websiteUri);
+ if (message.careerSiteUri != null && Object.hasOwnProperty.call(message, "careerSiteUri"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.careerSiteUri);
+ if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.imageUri);
+ if (message.keywordSearchableJobCustomAttributes != null && message.keywordSearchableJobCustomAttributes.length)
+ for (var i = 0; i < message.keywordSearchableJobCustomAttributes.length; ++i)
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.keywordSearchableJobCustomAttributes[i]);
+ if (message.derivedInfo != null && Object.hasOwnProperty.call(message, "derivedInfo"))
+ $root.google.cloud.talent.v4.Company.DerivedInfo.encode(message.derivedInfo, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.suspended != null && Object.hasOwnProperty.call(message, "suspended"))
+ writer.uint32(/* id 13, wireType 0 =*/104).bool(message.suspended);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Company message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Company.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {google.cloud.talent.v4.ICompany} message Company message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Company.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Company message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Company} Company
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Company.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Company();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 3: {
+ message.externalId = reader.string();
+ break;
+ }
+ case 4: {
+ message.size = reader.int32();
+ break;
+ }
+ case 5: {
+ message.headquartersAddress = reader.string();
+ break;
+ }
+ case 6: {
+ message.hiringAgency = reader.bool();
+ break;
+ }
+ case 7: {
+ message.eeoText = reader.string();
+ break;
+ }
+ case 8: {
+ message.websiteUri = reader.string();
+ break;
+ }
+ case 9: {
+ message.careerSiteUri = reader.string();
+ break;
+ }
+ case 10: {
+ message.imageUri = reader.string();
+ break;
+ }
+ case 11: {
+ if (!(message.keywordSearchableJobCustomAttributes && message.keywordSearchableJobCustomAttributes.length))
+ message.keywordSearchableJobCustomAttributes = [];
+ message.keywordSearchableJobCustomAttributes.push(reader.string());
+ break;
+ }
+ case 12: {
+ message.derivedInfo = $root.google.cloud.talent.v4.Company.DerivedInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.suspended = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Company message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Company} Company
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Company.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Company message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Company.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.externalId != null && message.hasOwnProperty("externalId"))
+ if (!$util.isString(message.externalId))
+ return "externalId: string expected";
+ if (message.size != null && message.hasOwnProperty("size"))
+ switch (message.size) {
+ default:
+ return "size: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.headquartersAddress != null && message.hasOwnProperty("headquartersAddress"))
+ if (!$util.isString(message.headquartersAddress))
+ return "headquartersAddress: string expected";
+ if (message.hiringAgency != null && message.hasOwnProperty("hiringAgency"))
+ if (typeof message.hiringAgency !== "boolean")
+ return "hiringAgency: boolean expected";
+ if (message.eeoText != null && message.hasOwnProperty("eeoText"))
+ if (!$util.isString(message.eeoText))
+ return "eeoText: string expected";
+ if (message.websiteUri != null && message.hasOwnProperty("websiteUri"))
+ if (!$util.isString(message.websiteUri))
+ return "websiteUri: string expected";
+ if (message.careerSiteUri != null && message.hasOwnProperty("careerSiteUri"))
+ if (!$util.isString(message.careerSiteUri))
+ return "careerSiteUri: string expected";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ if (!$util.isString(message.imageUri))
+ return "imageUri: string expected";
+ if (message.keywordSearchableJobCustomAttributes != null && message.hasOwnProperty("keywordSearchableJobCustomAttributes")) {
+ if (!Array.isArray(message.keywordSearchableJobCustomAttributes))
+ return "keywordSearchableJobCustomAttributes: array expected";
+ for (var i = 0; i < message.keywordSearchableJobCustomAttributes.length; ++i)
+ if (!$util.isString(message.keywordSearchableJobCustomAttributes[i]))
+ return "keywordSearchableJobCustomAttributes: string[] expected";
+ }
+ if (message.derivedInfo != null && message.hasOwnProperty("derivedInfo")) {
+ var error = $root.google.cloud.talent.v4.Company.DerivedInfo.verify(message.derivedInfo);
+ if (error)
+ return "derivedInfo." + error;
+ }
+ if (message.suspended != null && message.hasOwnProperty("suspended"))
+ if (typeof message.suspended !== "boolean")
+ return "suspended: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Company message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Company} Company
+ */
+ Company.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Company)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Company();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.externalId != null)
+ message.externalId = String(object.externalId);
+ switch (object.size) {
+ default:
+ if (typeof object.size === "number") {
+ message.size = object.size;
+ break;
+ }
+ break;
+ case "COMPANY_SIZE_UNSPECIFIED":
+ case 0:
+ message.size = 0;
+ break;
+ case "MINI":
+ case 1:
+ message.size = 1;
+ break;
+ case "SMALL":
+ case 2:
+ message.size = 2;
+ break;
+ case "SMEDIUM":
+ case 3:
+ message.size = 3;
+ break;
+ case "MEDIUM":
+ case 4:
+ message.size = 4;
+ break;
+ case "BIG":
+ case 5:
+ message.size = 5;
+ break;
+ case "BIGGER":
+ case 6:
+ message.size = 6;
+ break;
+ case "GIANT":
+ case 7:
+ message.size = 7;
+ break;
+ }
+ if (object.headquartersAddress != null)
+ message.headquartersAddress = String(object.headquartersAddress);
+ if (object.hiringAgency != null)
+ message.hiringAgency = Boolean(object.hiringAgency);
+ if (object.eeoText != null)
+ message.eeoText = String(object.eeoText);
+ if (object.websiteUri != null)
+ message.websiteUri = String(object.websiteUri);
+ if (object.careerSiteUri != null)
+ message.careerSiteUri = String(object.careerSiteUri);
+ if (object.imageUri != null)
+ message.imageUri = String(object.imageUri);
+ if (object.keywordSearchableJobCustomAttributes) {
+ if (!Array.isArray(object.keywordSearchableJobCustomAttributes))
+ throw TypeError(".google.cloud.talent.v4.Company.keywordSearchableJobCustomAttributes: array expected");
+ message.keywordSearchableJobCustomAttributes = [];
+ for (var i = 0; i < object.keywordSearchableJobCustomAttributes.length; ++i)
+ message.keywordSearchableJobCustomAttributes[i] = String(object.keywordSearchableJobCustomAttributes[i]);
+ }
+ if (object.derivedInfo != null) {
+ if (typeof object.derivedInfo !== "object")
+ throw TypeError(".google.cloud.talent.v4.Company.derivedInfo: object expected");
+ message.derivedInfo = $root.google.cloud.talent.v4.Company.DerivedInfo.fromObject(object.derivedInfo);
+ }
+ if (object.suspended != null)
+ message.suspended = Boolean(object.suspended);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Company message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {google.cloud.talent.v4.Company} message Company
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Company.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.keywordSearchableJobCustomAttributes = [];
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.externalId = "";
+ object.size = options.enums === String ? "COMPANY_SIZE_UNSPECIFIED" : 0;
+ object.headquartersAddress = "";
+ object.hiringAgency = false;
+ object.eeoText = "";
+ object.websiteUri = "";
+ object.careerSiteUri = "";
+ object.imageUri = "";
+ object.derivedInfo = null;
+ object.suspended = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.externalId != null && message.hasOwnProperty("externalId"))
+ object.externalId = message.externalId;
+ if (message.size != null && message.hasOwnProperty("size"))
+ object.size = options.enums === String ? $root.google.cloud.talent.v4.CompanySize[message.size] === undefined ? message.size : $root.google.cloud.talent.v4.CompanySize[message.size] : message.size;
+ if (message.headquartersAddress != null && message.hasOwnProperty("headquartersAddress"))
+ object.headquartersAddress = message.headquartersAddress;
+ if (message.hiringAgency != null && message.hasOwnProperty("hiringAgency"))
+ object.hiringAgency = message.hiringAgency;
+ if (message.eeoText != null && message.hasOwnProperty("eeoText"))
+ object.eeoText = message.eeoText;
+ if (message.websiteUri != null && message.hasOwnProperty("websiteUri"))
+ object.websiteUri = message.websiteUri;
+ if (message.careerSiteUri != null && message.hasOwnProperty("careerSiteUri"))
+ object.careerSiteUri = message.careerSiteUri;
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ object.imageUri = message.imageUri;
+ if (message.keywordSearchableJobCustomAttributes && message.keywordSearchableJobCustomAttributes.length) {
+ object.keywordSearchableJobCustomAttributes = [];
+ for (var j = 0; j < message.keywordSearchableJobCustomAttributes.length; ++j)
+ object.keywordSearchableJobCustomAttributes[j] = message.keywordSearchableJobCustomAttributes[j];
+ }
+ if (message.derivedInfo != null && message.hasOwnProperty("derivedInfo"))
+ object.derivedInfo = $root.google.cloud.talent.v4.Company.DerivedInfo.toObject(message.derivedInfo, options);
+ if (message.suspended != null && message.hasOwnProperty("suspended"))
+ object.suspended = message.suspended;
+ return object;
+ };
+
+ /**
+ * Converts this Company to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Company
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Company.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Company
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Company
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Company.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Company";
+ };
+
+ Company.DerivedInfo = (function() {
+
+ /**
+ * Properties of a DerivedInfo.
+ * @memberof google.cloud.talent.v4.Company
+ * @interface IDerivedInfo
+ * @property {google.cloud.talent.v4.ILocation|null} [headquartersLocation] DerivedInfo headquartersLocation
+ */
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @memberof google.cloud.talent.v4.Company
+ * @classdesc Represents a DerivedInfo.
+ * @implements IDerivedInfo
+ * @constructor
+ * @param {google.cloud.talent.v4.Company.IDerivedInfo=} [properties] Properties to set
+ */
+ function DerivedInfo(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]];
+ }
+
+ /**
+ * DerivedInfo headquartersLocation.
+ * @member {google.cloud.talent.v4.ILocation|null|undefined} headquartersLocation
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @instance
+ */
+ DerivedInfo.prototype.headquartersLocation = null;
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Company.IDerivedInfo=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Company.DerivedInfo} DerivedInfo instance
+ */
+ DerivedInfo.create = function create(properties) {
+ return new DerivedInfo(properties);
+ };
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4.Company.DerivedInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Company.IDerivedInfo} message DerivedInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DerivedInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.headquartersLocation != null && Object.hasOwnProperty.call(message, "headquartersLocation"))
+ $root.google.cloud.talent.v4.Location.encode(message.headquartersLocation, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Company.DerivedInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Company.IDerivedInfo} message DerivedInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DerivedInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Company.DerivedInfo} DerivedInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DerivedInfo.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Company.DerivedInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.headquartersLocation = $root.google.cloud.talent.v4.Location.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Company.DerivedInfo} DerivedInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DerivedInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DerivedInfo message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DerivedInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.headquartersLocation != null && message.hasOwnProperty("headquartersLocation")) {
+ var error = $root.google.cloud.talent.v4.Location.verify(message.headquartersLocation);
+ if (error)
+ return "headquartersLocation." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Company.DerivedInfo} DerivedInfo
+ */
+ DerivedInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Company.DerivedInfo)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Company.DerivedInfo();
+ if (object.headquartersLocation != null) {
+ if (typeof object.headquartersLocation !== "object")
+ throw TypeError(".google.cloud.talent.v4.Company.DerivedInfo.headquartersLocation: object expected");
+ message.headquartersLocation = $root.google.cloud.talent.v4.Location.fromObject(object.headquartersLocation);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Company.DerivedInfo} message DerivedInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DerivedInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.headquartersLocation = null;
+ if (message.headquartersLocation != null && message.hasOwnProperty("headquartersLocation"))
+ object.headquartersLocation = $root.google.cloud.talent.v4.Location.toObject(message.headquartersLocation, options);
+ return object;
+ };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DerivedInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Company.DerivedInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DerivedInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Company.DerivedInfo";
+ };
+
+ return DerivedInfo;
+ })();
+
+ return Company;
+ })();
+
+ v4.CompanyService = (function() {
+
+ /**
+ * Constructs a new CompanyService service.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CompanyService
+ * @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 CompanyService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (CompanyService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CompanyService;
+
+ /**
+ * Creates new CompanyService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @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 {CompanyService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ CompanyService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|createCompany}.
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @typedef CreateCompanyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.Company} [response] Company
+ */
+
+ /**
+ * Calls CreateCompany.
+ * @function createCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest} request CreateCompanyRequest message or plain object
+ * @param {google.cloud.talent.v4.CompanyService.CreateCompanyCallback} callback Node-style callback called with the error, if any, and Company
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CompanyService.prototype.createCompany = function createCompany(request, callback) {
+ return this.rpcCall(createCompany, $root.google.cloud.talent.v4.CreateCompanyRequest, $root.google.cloud.talent.v4.Company, request, callback);
+ }, "name", { value: "CreateCompany" });
+
+ /**
+ * Calls CreateCompany.
+ * @function createCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest} request CreateCompanyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|getCompany}.
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @typedef GetCompanyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.Company} [response] Company
+ */
+
+ /**
+ * Calls GetCompany.
+ * @function getCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IGetCompanyRequest} request GetCompanyRequest message or plain object
+ * @param {google.cloud.talent.v4.CompanyService.GetCompanyCallback} callback Node-style callback called with the error, if any, and Company
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CompanyService.prototype.getCompany = function getCompany(request, callback) {
+ return this.rpcCall(getCompany, $root.google.cloud.talent.v4.GetCompanyRequest, $root.google.cloud.talent.v4.Company, request, callback);
+ }, "name", { value: "GetCompany" });
+
+ /**
+ * Calls GetCompany.
+ * @function getCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IGetCompanyRequest} request GetCompanyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|updateCompany}.
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @typedef UpdateCompanyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.Company} [response] Company
+ */
+
+ /**
+ * Calls UpdateCompany.
+ * @function updateCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest} request UpdateCompanyRequest message or plain object
+ * @param {google.cloud.talent.v4.CompanyService.UpdateCompanyCallback} callback Node-style callback called with the error, if any, and Company
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CompanyService.prototype.updateCompany = function updateCompany(request, callback) {
+ return this.rpcCall(updateCompany, $root.google.cloud.talent.v4.UpdateCompanyRequest, $root.google.cloud.talent.v4.Company, request, callback);
+ }, "name", { value: "UpdateCompany" });
+
+ /**
+ * Calls UpdateCompany.
+ * @function updateCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest} request UpdateCompanyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|deleteCompany}.
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @typedef DeleteCompanyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteCompany.
+ * @function deleteCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest} request DeleteCompanyRequest message or plain object
+ * @param {google.cloud.talent.v4.CompanyService.DeleteCompanyCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CompanyService.prototype.deleteCompany = function deleteCompany(request, callback) {
+ return this.rpcCall(deleteCompany, $root.google.cloud.talent.v4.DeleteCompanyRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteCompany" });
+
+ /**
+ * Calls DeleteCompany.
+ * @function deleteCompany
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest} request DeleteCompanyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.CompanyService|listCompanies}.
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @typedef ListCompaniesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.ListCompaniesResponse} [response] ListCompaniesResponse
+ */
+
+ /**
+ * Calls ListCompanies.
+ * @function listCompanies
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IListCompaniesRequest} request ListCompaniesRequest message or plain object
+ * @param {google.cloud.talent.v4.CompanyService.ListCompaniesCallback} callback Node-style callback called with the error, if any, and ListCompaniesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CompanyService.prototype.listCompanies = function listCompanies(request, callback) {
+ return this.rpcCall(listCompanies, $root.google.cloud.talent.v4.ListCompaniesRequest, $root.google.cloud.talent.v4.ListCompaniesResponse, request, callback);
+ }, "name", { value: "ListCompanies" });
+
+ /**
+ * Calls ListCompanies.
+ * @function listCompanies
+ * @memberof google.cloud.talent.v4.CompanyService
+ * @instance
+ * @param {google.cloud.talent.v4.IListCompaniesRequest} request ListCompaniesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return CompanyService;
+ })();
+
+ v4.CreateCompanyRequest = (function() {
+
+ /**
+ * Properties of a CreateCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface ICreateCompanyRequest
+ * @property {string|null} [parent] CreateCompanyRequest parent
+ * @property {google.cloud.talent.v4.ICompany|null} [company] CreateCompanyRequest company
+ */
+
+ /**
+ * Constructs a new CreateCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CreateCompanyRequest.
+ * @implements ICreateCompanyRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest=} [properties] Properties to set
+ */
+ function CreateCompanyRequest(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]];
+ }
+
+ /**
+ * CreateCompanyRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @instance
+ */
+ CreateCompanyRequest.prototype.parent = "";
+
+ /**
+ * CreateCompanyRequest company.
+ * @member {google.cloud.talent.v4.ICompany|null|undefined} company
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @instance
+ */
+ CreateCompanyRequest.prototype.company = null;
+
+ /**
+ * Creates a new CreateCompanyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CreateCompanyRequest} CreateCompanyRequest instance
+ */
+ CreateCompanyRequest.create = function create(properties) {
+ return new CreateCompanyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateCompanyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest} message CreateCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateCompanyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.company != null && Object.hasOwnProperty.call(message, "company"))
+ $root.google.cloud.talent.v4.Company.encode(message.company, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateCompanyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateCompanyRequest} message CreateCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateCompanyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CreateCompanyRequest} CreateCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateCompanyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CreateCompanyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.company = $root.google.cloud.talent.v4.Company.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CreateCompanyRequest} CreateCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateCompanyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateCompanyRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateCompanyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.company != null && message.hasOwnProperty("company")) {
+ var error = $root.google.cloud.talent.v4.Company.verify(message.company);
+ if (error)
+ return "company." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CreateCompanyRequest} CreateCompanyRequest
+ */
+ CreateCompanyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CreateCompanyRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CreateCompanyRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.company != null) {
+ if (typeof object.company !== "object")
+ throw TypeError(".google.cloud.talent.v4.CreateCompanyRequest.company: object expected");
+ message.company = $root.google.cloud.talent.v4.Company.fromObject(object.company);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateCompanyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.CreateCompanyRequest} message CreateCompanyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateCompanyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.company = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.company != null && message.hasOwnProperty("company"))
+ object.company = $root.google.cloud.talent.v4.Company.toObject(message.company, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateCompanyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateCompanyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateCompanyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CreateCompanyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateCompanyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CreateCompanyRequest";
+ };
+
+ return CreateCompanyRequest;
+ })();
+
+ v4.GetCompanyRequest = (function() {
+
+ /**
+ * Properties of a GetCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface IGetCompanyRequest
+ * @property {string|null} [name] GetCompanyRequest name
+ */
+
+ /**
+ * Constructs a new GetCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a GetCompanyRequest.
+ * @implements IGetCompanyRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.IGetCompanyRequest=} [properties] Properties to set
+ */
+ function GetCompanyRequest(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]];
+ }
+
+ /**
+ * GetCompanyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @instance
+ */
+ GetCompanyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetCompanyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IGetCompanyRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.GetCompanyRequest} GetCompanyRequest instance
+ */
+ GetCompanyRequest.create = function create(properties) {
+ return new GetCompanyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.GetCompanyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IGetCompanyRequest} message GetCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetCompanyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.GetCompanyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IGetCompanyRequest} message GetCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetCompanyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.GetCompanyRequest} GetCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetCompanyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.GetCompanyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetCompanyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.GetCompanyRequest} GetCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetCompanyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetCompanyRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetCompanyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.GetCompanyRequest} GetCompanyRequest
+ */
+ GetCompanyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.GetCompanyRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.GetCompanyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetCompanyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.GetCompanyRequest} message GetCompanyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetCompanyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetCompanyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetCompanyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetCompanyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.GetCompanyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetCompanyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.GetCompanyRequest";
+ };
+
+ return GetCompanyRequest;
+ })();
+
+ v4.UpdateCompanyRequest = (function() {
+
+ /**
+ * Properties of an UpdateCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface IUpdateCompanyRequest
+ * @property {google.cloud.talent.v4.ICompany|null} [company] UpdateCompanyRequest company
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateCompanyRequest updateMask
+ */
+
+ /**
+ * Constructs a new UpdateCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents an UpdateCompanyRequest.
+ * @implements IUpdateCompanyRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest=} [properties] Properties to set
+ */
+ function UpdateCompanyRequest(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]];
+ }
+
+ /**
+ * UpdateCompanyRequest company.
+ * @member {google.cloud.talent.v4.ICompany|null|undefined} company
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @instance
+ */
+ UpdateCompanyRequest.prototype.company = null;
+
+ /**
+ * UpdateCompanyRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @instance
+ */
+ UpdateCompanyRequest.prototype.updateMask = null;
+
+ /**
+ * Creates a new UpdateCompanyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.UpdateCompanyRequest} UpdateCompanyRequest instance
+ */
+ UpdateCompanyRequest.create = function create(properties) {
+ return new UpdateCompanyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.UpdateCompanyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest} message UpdateCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateCompanyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.company != null && Object.hasOwnProperty.call(message, "company"))
+ $root.google.cloud.talent.v4.Company.encode(message.company, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.UpdateCompanyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IUpdateCompanyRequest} message UpdateCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateCompanyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.UpdateCompanyRequest} UpdateCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateCompanyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.UpdateCompanyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.company = $root.google.cloud.talent.v4.Company.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateCompanyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.UpdateCompanyRequest} UpdateCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateCompanyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateCompanyRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateCompanyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.company != null && message.hasOwnProperty("company")) {
+ var error = $root.google.cloud.talent.v4.Company.verify(message.company);
+ if (error)
+ return "company." + error;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.UpdateCompanyRequest} UpdateCompanyRequest
+ */
+ UpdateCompanyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.UpdateCompanyRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.UpdateCompanyRequest();
+ if (object.company != null) {
+ if (typeof object.company !== "object")
+ throw TypeError(".google.cloud.talent.v4.UpdateCompanyRequest.company: object expected");
+ message.company = $root.google.cloud.talent.v4.Company.fromObject(object.company);
+ }
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.talent.v4.UpdateCompanyRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateCompanyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.UpdateCompanyRequest} message UpdateCompanyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateCompanyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.company = null;
+ object.updateMask = null;
+ }
+ if (message.company != null && message.hasOwnProperty("company"))
+ object.company = $root.google.cloud.talent.v4.Company.toObject(message.company, options);
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateCompanyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateCompanyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateCompanyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.UpdateCompanyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateCompanyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.UpdateCompanyRequest";
+ };
+
+ return UpdateCompanyRequest;
+ })();
+
+ v4.DeleteCompanyRequest = (function() {
+
+ /**
+ * Properties of a DeleteCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface IDeleteCompanyRequest
+ * @property {string|null} [name] DeleteCompanyRequest name
+ */
+
+ /**
+ * Constructs a new DeleteCompanyRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a DeleteCompanyRequest.
+ * @implements IDeleteCompanyRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest=} [properties] Properties to set
+ */
+ function DeleteCompanyRequest(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]];
+ }
+
+ /**
+ * DeleteCompanyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @instance
+ */
+ DeleteCompanyRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteCompanyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.DeleteCompanyRequest} DeleteCompanyRequest instance
+ */
+ DeleteCompanyRequest.create = function create(properties) {
+ return new DeleteCompanyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message. Does not implicitly {@link google.cloud.talent.v4.DeleteCompanyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest} message DeleteCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteCompanyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteCompanyRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.DeleteCompanyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.IDeleteCompanyRequest} message DeleteCompanyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteCompanyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.DeleteCompanyRequest} DeleteCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteCompanyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.DeleteCompanyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteCompanyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.DeleteCompanyRequest} DeleteCompanyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteCompanyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteCompanyRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteCompanyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteCompanyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.DeleteCompanyRequest} DeleteCompanyRequest
+ */
+ DeleteCompanyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.DeleteCompanyRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.DeleteCompanyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteCompanyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {google.cloud.talent.v4.DeleteCompanyRequest} message DeleteCompanyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteCompanyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteCompanyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteCompanyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteCompanyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.DeleteCompanyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteCompanyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.DeleteCompanyRequest";
+ };
+
+ return DeleteCompanyRequest;
+ })();
+
+ v4.ListCompaniesRequest = (function() {
+
+ /**
+ * Properties of a ListCompaniesRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface IListCompaniesRequest
+ * @property {string|null} [parent] ListCompaniesRequest parent
+ * @property {string|null} [pageToken] ListCompaniesRequest pageToken
+ * @property {number|null} [pageSize] ListCompaniesRequest pageSize
+ * @property {boolean|null} [requireOpenJobs] ListCompaniesRequest requireOpenJobs
+ */
+
+ /**
+ * Constructs a new ListCompaniesRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a ListCompaniesRequest.
+ * @implements IListCompaniesRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.IListCompaniesRequest=} [properties] Properties to set
+ */
+ function ListCompaniesRequest(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]];
+ }
+
+ /**
+ * ListCompaniesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @instance
+ */
+ ListCompaniesRequest.prototype.parent = "";
+
+ /**
+ * ListCompaniesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @instance
+ */
+ ListCompaniesRequest.prototype.pageToken = "";
+
+ /**
+ * ListCompaniesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @instance
+ */
+ ListCompaniesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListCompaniesRequest requireOpenJobs.
+ * @member {boolean} requireOpenJobs
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @instance
+ */
+ ListCompaniesRequest.prototype.requireOpenJobs = false;
+
+ /**
+ * Creates a new ListCompaniesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.ListCompaniesRequest} ListCompaniesRequest instance
+ */
+ ListCompaniesRequest.create = function create(properties) {
+ return new ListCompaniesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListCompaniesRequest message. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesRequest} message ListCompaniesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListCompaniesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.pageToken);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.pageSize);
+ if (message.requireOpenJobs != null && Object.hasOwnProperty.call(message, "requireOpenJobs"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.requireOpenJobs);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListCompaniesRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesRequest} message ListCompaniesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListCompaniesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.ListCompaniesRequest} ListCompaniesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListCompaniesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.ListCompaniesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 3: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 4: {
+ message.requireOpenJobs = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListCompaniesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.ListCompaniesRequest} ListCompaniesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListCompaniesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListCompaniesRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListCompaniesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.requireOpenJobs != null && message.hasOwnProperty("requireOpenJobs"))
+ if (typeof message.requireOpenJobs !== "boolean")
+ return "requireOpenJobs: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListCompaniesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.ListCompaniesRequest} ListCompaniesRequest
+ */
+ ListCompaniesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.ListCompaniesRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.ListCompaniesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.requireOpenJobs != null)
+ message.requireOpenJobs = Boolean(object.requireOpenJobs);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListCompaniesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {google.cloud.talent.v4.ListCompaniesRequest} message ListCompaniesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListCompaniesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageToken = "";
+ object.pageSize = 0;
+ object.requireOpenJobs = false;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.requireOpenJobs != null && message.hasOwnProperty("requireOpenJobs"))
+ object.requireOpenJobs = message.requireOpenJobs;
+ return object;
+ };
+
+ /**
+ * Converts this ListCompaniesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListCompaniesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListCompaniesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.ListCompaniesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListCompaniesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.ListCompaniesRequest";
+ };
+
+ return ListCompaniesRequest;
+ })();
+
+ v4.ListCompaniesResponse = (function() {
+
+ /**
+ * Properties of a ListCompaniesResponse.
+ * @memberof google.cloud.talent.v4
+ * @interface IListCompaniesResponse
+ * @property {Array.|null} [companies] ListCompaniesResponse companies
+ * @property {string|null} [nextPageToken] ListCompaniesResponse nextPageToken
+ * @property {google.cloud.talent.v4.IResponseMetadata|null} [metadata] ListCompaniesResponse metadata
+ */
+
+ /**
+ * Constructs a new ListCompaniesResponse.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a ListCompaniesResponse.
+ * @implements IListCompaniesResponse
+ * @constructor
+ * @param {google.cloud.talent.v4.IListCompaniesResponse=} [properties] Properties to set
+ */
+ function ListCompaniesResponse(properties) {
+ this.companies = [];
+ 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]];
+ }
+
+ /**
+ * ListCompaniesResponse companies.
+ * @member {Array.} companies
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @instance
+ */
+ ListCompaniesResponse.prototype.companies = $util.emptyArray;
+
+ /**
+ * ListCompaniesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @instance
+ */
+ ListCompaniesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListCompaniesResponse metadata.
+ * @member {google.cloud.talent.v4.IResponseMetadata|null|undefined} metadata
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @instance
+ */
+ ListCompaniesResponse.prototype.metadata = null;
+
+ /**
+ * Creates a new ListCompaniesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesResponse=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.ListCompaniesResponse} ListCompaniesResponse instance
+ */
+ ListCompaniesResponse.create = function create(properties) {
+ return new ListCompaniesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListCompaniesResponse message. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesResponse} message ListCompaniesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListCompaniesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.companies != null && message.companies.length)
+ for (var i = 0; i < message.companies.length; ++i)
+ $root.google.cloud.talent.v4.Company.encode(message.companies[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
+ $root.google.cloud.talent.v4.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListCompaniesResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ListCompaniesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {google.cloud.talent.v4.IListCompaniesResponse} message ListCompaniesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListCompaniesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.ListCompaniesResponse} ListCompaniesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListCompaniesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.ListCompaniesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.companies && message.companies.length))
+ message.companies = [];
+ message.companies.push($root.google.cloud.talent.v4.Company.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ message.metadata = $root.google.cloud.talent.v4.ResponseMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListCompaniesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.ListCompaniesResponse} ListCompaniesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListCompaniesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListCompaniesResponse message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListCompaniesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.companies != null && message.hasOwnProperty("companies")) {
+ if (!Array.isArray(message.companies))
+ return "companies: array expected";
+ for (var i = 0; i < message.companies.length; ++i) {
+ var error = $root.google.cloud.talent.v4.Company.verify(message.companies[i]);
+ if (error)
+ return "companies." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.metadata != null && message.hasOwnProperty("metadata")) {
+ var error = $root.google.cloud.talent.v4.ResponseMetadata.verify(message.metadata);
+ if (error)
+ return "metadata." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListCompaniesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.ListCompaniesResponse} ListCompaniesResponse
+ */
+ ListCompaniesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.ListCompaniesResponse)
+ return object;
+ var message = new $root.google.cloud.talent.v4.ListCompaniesResponse();
+ if (object.companies) {
+ if (!Array.isArray(object.companies))
+ throw TypeError(".google.cloud.talent.v4.ListCompaniesResponse.companies: array expected");
+ message.companies = [];
+ for (var i = 0; i < object.companies.length; ++i) {
+ if (typeof object.companies[i] !== "object")
+ throw TypeError(".google.cloud.talent.v4.ListCompaniesResponse.companies: object expected");
+ message.companies[i] = $root.google.cloud.talent.v4.Company.fromObject(object.companies[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.metadata != null) {
+ if (typeof object.metadata !== "object")
+ throw TypeError(".google.cloud.talent.v4.ListCompaniesResponse.metadata: object expected");
+ message.metadata = $root.google.cloud.talent.v4.ResponseMetadata.fromObject(object.metadata);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListCompaniesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {google.cloud.talent.v4.ListCompaniesResponse} message ListCompaniesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListCompaniesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.companies = [];
+ if (options.defaults) {
+ object.nextPageToken = "";
+ object.metadata = null;
+ }
+ if (message.companies && message.companies.length) {
+ object.companies = [];
+ for (var j = 0; j < message.companies.length; ++j)
+ object.companies[j] = $root.google.cloud.talent.v4.Company.toObject(message.companies[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.metadata != null && message.hasOwnProperty("metadata"))
+ object.metadata = $root.google.cloud.talent.v4.ResponseMetadata.toObject(message.metadata, options);
+ return object;
+ };
+
+ /**
+ * Converts this ListCompaniesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListCompaniesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListCompaniesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.ListCompaniesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListCompaniesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.ListCompaniesResponse";
+ };
+
+ return ListCompaniesResponse;
+ })();
+
+ v4.Completion = (function() {
+
+ /**
+ * Constructs a new Completion service.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a Completion
+ * @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 Completion(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (Completion.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Completion;
+
+ /**
+ * Creates new Completion service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.talent.v4.Completion
+ * @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 {Completion} RPC service. Useful where requests and/or responses are streamed.
+ */
+ Completion.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.Completion|completeQuery}.
+ * @memberof google.cloud.talent.v4.Completion
+ * @typedef CompleteQueryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.CompleteQueryResponse} [response] CompleteQueryResponse
+ */
+
+ /**
+ * Calls CompleteQuery.
+ * @function completeQuery
+ * @memberof google.cloud.talent.v4.Completion
+ * @instance
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest} request CompleteQueryRequest message or plain object
+ * @param {google.cloud.talent.v4.Completion.CompleteQueryCallback} callback Node-style callback called with the error, if any, and CompleteQueryResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(Completion.prototype.completeQuery = function completeQuery(request, callback) {
+ return this.rpcCall(completeQuery, $root.google.cloud.talent.v4.CompleteQueryRequest, $root.google.cloud.talent.v4.CompleteQueryResponse, request, callback);
+ }, "name", { value: "CompleteQuery" });
+
+ /**
+ * Calls CompleteQuery.
+ * @function completeQuery
+ * @memberof google.cloud.talent.v4.Completion
+ * @instance
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest} request CompleteQueryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return Completion;
+ })();
+
+ v4.CompleteQueryRequest = (function() {
+
+ /**
+ * Properties of a CompleteQueryRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface ICompleteQueryRequest
+ * @property {string|null} [tenant] CompleteQueryRequest tenant
+ * @property {string|null} [query] CompleteQueryRequest query
+ * @property {Array.|null} [languageCodes] CompleteQueryRequest languageCodes
+ * @property {number|null} [pageSize] CompleteQueryRequest pageSize
+ * @property {string|null} [company] CompleteQueryRequest company
+ * @property {google.cloud.talent.v4.CompleteQueryRequest.CompletionScope|null} [scope] CompleteQueryRequest scope
+ * @property {google.cloud.talent.v4.CompleteQueryRequest.CompletionType|null} [type] CompleteQueryRequest type
+ */
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CompleteQueryRequest.
+ * @implements ICompleteQueryRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest=} [properties] Properties to set
+ */
+ function CompleteQueryRequest(properties) {
+ this.languageCodes = [];
+ 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]];
+ }
+
+ /**
+ * CompleteQueryRequest tenant.
+ * @member {string} tenant
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.tenant = "";
+
+ /**
+ * CompleteQueryRequest query.
+ * @member {string} query
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.query = "";
+
+ /**
+ * CompleteQueryRequest languageCodes.
+ * @member {Array.} languageCodes
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.languageCodes = $util.emptyArray;
+
+ /**
+ * CompleteQueryRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.pageSize = 0;
+
+ /**
+ * CompleteQueryRequest company.
+ * @member {string} company
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.company = "";
+
+ /**
+ * CompleteQueryRequest scope.
+ * @member {google.cloud.talent.v4.CompleteQueryRequest.CompletionScope} scope
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.scope = 0;
+
+ /**
+ * CompleteQueryRequest type.
+ * @member {google.cloud.talent.v4.CompleteQueryRequest.CompletionType} type
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ */
+ CompleteQueryRequest.prototype.type = 0;
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompleteQueryRequest} CompleteQueryRequest instance
+ */
+ CompleteQueryRequest.create = function create(properties) {
+ return new CompleteQueryRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest} message CompleteQueryRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompleteQueryRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tenant != null && Object.hasOwnProperty.call(message, "tenant"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.tenant);
+ if (message.query != null && Object.hasOwnProperty.call(message, "query"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.query);
+ if (message.languageCodes != null && message.languageCodes.length)
+ for (var i = 0; i < message.languageCodes.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCodes[i]);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.pageSize);
+ if (message.company != null && Object.hasOwnProperty.call(message, "company"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.company);
+ if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.scope);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.type);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryRequest} message CompleteQueryRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompleteQueryRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompleteQueryRequest} CompleteQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompleteQueryRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompleteQueryRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.tenant = reader.string();
+ break;
+ }
+ case 2: {
+ message.query = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.languageCodes && message.languageCodes.length))
+ message.languageCodes = [];
+ message.languageCodes.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 5: {
+ message.company = reader.string();
+ break;
+ }
+ case 6: {
+ message.scope = reader.int32();
+ break;
+ }
+ case 7: {
+ message.type = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompleteQueryRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompleteQueryRequest} CompleteQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompleteQueryRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompleteQueryRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompleteQueryRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tenant != null && message.hasOwnProperty("tenant"))
+ if (!$util.isString(message.tenant))
+ return "tenant: string expected";
+ if (message.query != null && message.hasOwnProperty("query"))
+ if (!$util.isString(message.query))
+ return "query: string expected";
+ if (message.languageCodes != null && message.hasOwnProperty("languageCodes")) {
+ if (!Array.isArray(message.languageCodes))
+ return "languageCodes: array expected";
+ for (var i = 0; i < message.languageCodes.length; ++i)
+ if (!$util.isString(message.languageCodes[i]))
+ return "languageCodes: string[] expected";
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.company != null && message.hasOwnProperty("company"))
+ if (!$util.isString(message.company))
+ return "company: string expected";
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ switch (message.scope) {
+ default:
+ return "scope: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompleteQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompleteQueryRequest} CompleteQueryRequest
+ */
+ CompleteQueryRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompleteQueryRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompleteQueryRequest();
+ if (object.tenant != null)
+ message.tenant = String(object.tenant);
+ if (object.query != null)
+ message.query = String(object.query);
+ if (object.languageCodes) {
+ if (!Array.isArray(object.languageCodes))
+ throw TypeError(".google.cloud.talent.v4.CompleteQueryRequest.languageCodes: array expected");
+ message.languageCodes = [];
+ for (var i = 0; i < object.languageCodes.length; ++i)
+ message.languageCodes[i] = String(object.languageCodes[i]);
+ }
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.company != null)
+ message.company = String(object.company);
+ switch (object.scope) {
+ default:
+ if (typeof object.scope === "number") {
+ message.scope = object.scope;
+ break;
+ }
+ break;
+ case "COMPLETION_SCOPE_UNSPECIFIED":
+ case 0:
+ message.scope = 0;
+ break;
+ case "TENANT":
+ case 1:
+ message.scope = 1;
+ break;
+ case "PUBLIC":
+ case 2:
+ message.scope = 2;
+ break;
+ }
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "COMPLETION_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "JOB_TITLE":
+ case 1:
+ message.type = 1;
+ break;
+ case "COMPANY_NAME":
+ case 2:
+ message.type = 2;
+ break;
+ case "COMBINED":
+ case 3:
+ message.type = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompleteQueryRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryRequest} message CompleteQueryRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompleteQueryRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.languageCodes = [];
+ if (options.defaults) {
+ object.tenant = "";
+ object.query = "";
+ object.pageSize = 0;
+ object.company = "";
+ object.scope = options.enums === String ? "COMPLETION_SCOPE_UNSPECIFIED" : 0;
+ object.type = options.enums === String ? "COMPLETION_TYPE_UNSPECIFIED" : 0;
+ }
+ if (message.tenant != null && message.hasOwnProperty("tenant"))
+ object.tenant = message.tenant;
+ if (message.query != null && message.hasOwnProperty("query"))
+ object.query = message.query;
+ if (message.languageCodes && message.languageCodes.length) {
+ object.languageCodes = [];
+ for (var j = 0; j < message.languageCodes.length; ++j)
+ object.languageCodes[j] = message.languageCodes[j];
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.company != null && message.hasOwnProperty("company"))
+ object.company = message.company;
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ object.scope = options.enums === String ? $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionScope[message.scope] === undefined ? message.scope : $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionScope[message.scope] : message.scope;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionType[message.type] === undefined ? message.type : $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionType[message.type] : message.type;
+ return object;
+ };
+
+ /**
+ * Converts this CompleteQueryRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompleteQueryRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompleteQueryRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompleteQueryRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompleteQueryRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompleteQueryRequest";
+ };
+
+ /**
+ * CompletionScope enum.
+ * @name google.cloud.talent.v4.CompleteQueryRequest.CompletionScope
+ * @enum {number}
+ * @property {number} COMPLETION_SCOPE_UNSPECIFIED=0 COMPLETION_SCOPE_UNSPECIFIED value
+ * @property {number} TENANT=1 TENANT value
+ * @property {number} PUBLIC=2 PUBLIC value
+ */
+ CompleteQueryRequest.CompletionScope = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPLETION_SCOPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "TENANT"] = 1;
+ values[valuesById[2] = "PUBLIC"] = 2;
+ return values;
+ })();
+
+ /**
+ * CompletionType enum.
+ * @name google.cloud.talent.v4.CompleteQueryRequest.CompletionType
+ * @enum {number}
+ * @property {number} COMPLETION_TYPE_UNSPECIFIED=0 COMPLETION_TYPE_UNSPECIFIED value
+ * @property {number} JOB_TITLE=1 JOB_TITLE value
+ * @property {number} COMPANY_NAME=2 COMPANY_NAME value
+ * @property {number} COMBINED=3 COMBINED value
+ */
+ CompleteQueryRequest.CompletionType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPLETION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "JOB_TITLE"] = 1;
+ values[valuesById[2] = "COMPANY_NAME"] = 2;
+ values[valuesById[3] = "COMBINED"] = 3;
+ return values;
+ })();
+
+ return CompleteQueryRequest;
+ })();
+
+ v4.CompleteQueryResponse = (function() {
+
+ /**
+ * Properties of a CompleteQueryResponse.
+ * @memberof google.cloud.talent.v4
+ * @interface ICompleteQueryResponse
+ * @property {Array.|null} [completionResults] CompleteQueryResponse completionResults
+ * @property {google.cloud.talent.v4.IResponseMetadata|null} [metadata] CompleteQueryResponse metadata
+ */
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CompleteQueryResponse.
+ * @implements ICompleteQueryResponse
+ * @constructor
+ * @param {google.cloud.talent.v4.ICompleteQueryResponse=} [properties] Properties to set
+ */
+ function CompleteQueryResponse(properties) {
+ this.completionResults = [];
+ 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]];
+ }
+
+ /**
+ * CompleteQueryResponse completionResults.
+ * @member {Array.} completionResults
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @instance
+ */
+ CompleteQueryResponse.prototype.completionResults = $util.emptyArray;
+
+ /**
+ * CompleteQueryResponse metadata.
+ * @member {google.cloud.talent.v4.IResponseMetadata|null|undefined} metadata
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @instance
+ */
+ CompleteQueryResponse.prototype.metadata = null;
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryResponse=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse} CompleteQueryResponse instance
+ */
+ CompleteQueryResponse.create = function create(properties) {
+ return new CompleteQueryResponse(properties);
+ };
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryResponse} message CompleteQueryResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompleteQueryResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.completionResults != null && message.completionResults.length)
+ for (var i = 0; i < message.completionResults.length; ++i)
+ $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.encode(message.completionResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
+ $root.google.cloud.talent.v4.ResponseMetadata.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {google.cloud.talent.v4.ICompleteQueryResponse} message CompleteQueryResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompleteQueryResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse} CompleteQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompleteQueryResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompleteQueryResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.completionResults && message.completionResults.length))
+ message.completionResults = [];
+ message.completionResults.push($root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.metadata = $root.google.cloud.talent.v4.ResponseMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompleteQueryResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse} CompleteQueryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompleteQueryResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompleteQueryResponse message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompleteQueryResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.completionResults != null && message.hasOwnProperty("completionResults")) {
+ if (!Array.isArray(message.completionResults))
+ return "completionResults: array expected";
+ for (var i = 0; i < message.completionResults.length; ++i) {
+ var error = $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.verify(message.completionResults[i]);
+ if (error)
+ return "completionResults." + error;
+ }
+ }
+ if (message.metadata != null && message.hasOwnProperty("metadata")) {
+ var error = $root.google.cloud.talent.v4.ResponseMetadata.verify(message.metadata);
+ if (error)
+ return "metadata." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CompleteQueryResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse} CompleteQueryResponse
+ */
+ CompleteQueryResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompleteQueryResponse)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompleteQueryResponse();
+ if (object.completionResults) {
+ if (!Array.isArray(object.completionResults))
+ throw TypeError(".google.cloud.talent.v4.CompleteQueryResponse.completionResults: array expected");
+ message.completionResults = [];
+ for (var i = 0; i < object.completionResults.length; ++i) {
+ if (typeof object.completionResults[i] !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompleteQueryResponse.completionResults: object expected");
+ message.completionResults[i] = $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.fromObject(object.completionResults[i]);
+ }
+ }
+ if (object.metadata != null) {
+ if (typeof object.metadata !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompleteQueryResponse.metadata: object expected");
+ message.metadata = $root.google.cloud.talent.v4.ResponseMetadata.fromObject(object.metadata);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompleteQueryResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryResponse} message CompleteQueryResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompleteQueryResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.completionResults = [];
+ if (options.defaults)
+ object.metadata = null;
+ if (message.completionResults && message.completionResults.length) {
+ object.completionResults = [];
+ for (var j = 0; j < message.completionResults.length; ++j)
+ object.completionResults[j] = $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.toObject(message.completionResults[j], options);
+ }
+ if (message.metadata != null && message.hasOwnProperty("metadata"))
+ object.metadata = $root.google.cloud.talent.v4.ResponseMetadata.toObject(message.metadata, options);
+ return object;
+ };
+
+ /**
+ * Converts this CompleteQueryResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompleteQueryResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompleteQueryResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompleteQueryResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompleteQueryResponse";
+ };
+
+ CompleteQueryResponse.CompletionResult = (function() {
+
+ /**
+ * Properties of a CompletionResult.
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @interface ICompletionResult
+ * @property {string|null} [suggestion] CompletionResult suggestion
+ * @property {google.cloud.talent.v4.CompleteQueryRequest.CompletionType|null} [type] CompletionResult type
+ * @property {string|null} [imageUri] CompletionResult imageUri
+ */
+
+ /**
+ * Constructs a new CompletionResult.
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse
+ * @classdesc Represents a CompletionResult.
+ * @implements ICompletionResult
+ * @constructor
+ * @param {google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult=} [properties] Properties to set
+ */
+ function CompletionResult(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]];
+ }
+
+ /**
+ * CompletionResult suggestion.
+ * @member {string} suggestion
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @instance
+ */
+ CompletionResult.prototype.suggestion = "";
+
+ /**
+ * CompletionResult type.
+ * @member {google.cloud.talent.v4.CompleteQueryRequest.CompletionType} type
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @instance
+ */
+ CompletionResult.prototype.type = 0;
+
+ /**
+ * CompletionResult imageUri.
+ * @member {string} imageUri
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @instance
+ */
+ CompletionResult.prototype.imageUri = "";
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse.CompletionResult} CompletionResult instance
+ */
+ CompletionResult.create = function create(properties) {
+ return new CompletionResult(properties);
+ };
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult} message CompletionResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompletionResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.suggestion != null && Object.hasOwnProperty.call(message, "suggestion"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.suggestion);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);
+ if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.imageUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompleteQueryResponse.CompletionResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryResponse.ICompletionResult} message CompletionResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompletionResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse.CompletionResult} CompletionResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompletionResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.suggestion = reader.string();
+ break;
+ }
+ case 2: {
+ message.type = reader.int32();
+ break;
+ }
+ case 3: {
+ message.imageUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompletionResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse.CompletionResult} CompletionResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompletionResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompletionResult message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompletionResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.suggestion != null && message.hasOwnProperty("suggestion"))
+ if (!$util.isString(message.suggestion))
+ return "suggestion: string expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ if (!$util.isString(message.imageUri))
+ return "imageUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CompletionResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompleteQueryResponse.CompletionResult} CompletionResult
+ */
+ CompletionResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompleteQueryResponse.CompletionResult();
+ if (object.suggestion != null)
+ message.suggestion = String(object.suggestion);
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "COMPLETION_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "JOB_TITLE":
+ case 1:
+ message.type = 1;
+ break;
+ case "COMPANY_NAME":
+ case 2:
+ message.type = 2;
+ break;
+ case "COMBINED":
+ case 3:
+ message.type = 3;
+ break;
+ }
+ if (object.imageUri != null)
+ message.imageUri = String(object.imageUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompletionResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {google.cloud.talent.v4.CompleteQueryResponse.CompletionResult} message CompletionResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompletionResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.suggestion = "";
+ object.type = options.enums === String ? "COMPLETION_TYPE_UNSPECIFIED" : 0;
+ object.imageUri = "";
+ }
+ if (message.suggestion != null && message.hasOwnProperty("suggestion"))
+ object.suggestion = message.suggestion;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionType[message.type] === undefined ? message.type : $root.google.cloud.talent.v4.CompleteQueryRequest.CompletionType[message.type] : message.type;
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ object.imageUri = message.imageUri;
+ return object;
+ };
+
+ /**
+ * Converts this CompletionResult to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompletionResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompletionResult
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompleteQueryResponse.CompletionResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompletionResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompleteQueryResponse.CompletionResult";
+ };
+
+ return CompletionResult;
+ })();
+
+ return CompleteQueryResponse;
+ })();
+
+ v4.ClientEvent = (function() {
+
+ /**
+ * Properties of a ClientEvent.
+ * @memberof google.cloud.talent.v4
+ * @interface IClientEvent
+ * @property {string|null} [requestId] ClientEvent requestId
+ * @property {string|null} [eventId] ClientEvent eventId
+ * @property {google.protobuf.ITimestamp|null} [createTime] ClientEvent createTime
+ * @property {google.cloud.talent.v4.IJobEvent|null} [jobEvent] ClientEvent jobEvent
+ * @property {string|null} [eventNotes] ClientEvent eventNotes
+ */
+
+ /**
+ * Constructs a new ClientEvent.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a ClientEvent.
+ * @implements IClientEvent
+ * @constructor
+ * @param {google.cloud.talent.v4.IClientEvent=} [properties] Properties to set
+ */
+ function ClientEvent(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]];
+ }
+
+ /**
+ * ClientEvent requestId.
+ * @member {string} requestId
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ ClientEvent.prototype.requestId = "";
+
+ /**
+ * ClientEvent eventId.
+ * @member {string} eventId
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ ClientEvent.prototype.eventId = "";
+
+ /**
+ * ClientEvent createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ ClientEvent.prototype.createTime = null;
+
+ /**
+ * ClientEvent jobEvent.
+ * @member {google.cloud.talent.v4.IJobEvent|null|undefined} jobEvent
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ ClientEvent.prototype.jobEvent = null;
+
+ /**
+ * ClientEvent eventNotes.
+ * @member {string} eventNotes
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ ClientEvent.prototype.eventNotes = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ClientEvent event.
+ * @member {"jobEvent"|undefined} event
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ */
+ Object.defineProperty(ClientEvent.prototype, "event", {
+ get: $util.oneOfGetter($oneOfFields = ["jobEvent"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ClientEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {google.cloud.talent.v4.IClientEvent=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.ClientEvent} ClientEvent instance
+ */
+ ClientEvent.create = function create(properties) {
+ return new ClientEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ClientEvent message. Does not implicitly {@link google.cloud.talent.v4.ClientEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {google.cloud.talent.v4.IClientEvent} message ClientEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.requestId != null && Object.hasOwnProperty.call(message, "requestId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.requestId);
+ if (message.eventId != null && Object.hasOwnProperty.call(message, "eventId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.eventId);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.jobEvent != null && Object.hasOwnProperty.call(message, "jobEvent"))
+ $root.google.cloud.talent.v4.JobEvent.encode(message.jobEvent, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.eventNotes != null && Object.hasOwnProperty.call(message, "eventNotes"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.eventNotes);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ClientEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4.ClientEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {google.cloud.talent.v4.IClientEvent} message ClientEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ClientEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.ClientEvent} ClientEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientEvent.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.ClientEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.requestId = reader.string();
+ break;
+ }
+ case 2: {
+ message.eventId = reader.string();
+ break;
+ }
+ case 4: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.jobEvent = $root.google.cloud.talent.v4.JobEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.eventNotes = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ClientEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.ClientEvent} ClientEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ClientEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ClientEvent message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ClientEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ if (!$util.isString(message.requestId))
+ return "requestId: string expected";
+ if (message.eventId != null && message.hasOwnProperty("eventId"))
+ if (!$util.isString(message.eventId))
+ return "eventId: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.jobEvent != null && message.hasOwnProperty("jobEvent")) {
+ properties.event = 1;
+ {
+ var error = $root.google.cloud.talent.v4.JobEvent.verify(message.jobEvent);
+ if (error)
+ return "jobEvent." + error;
+ }
+ }
+ if (message.eventNotes != null && message.hasOwnProperty("eventNotes"))
+ if (!$util.isString(message.eventNotes))
+ return "eventNotes: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ClientEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.ClientEvent} ClientEvent
+ */
+ ClientEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.ClientEvent)
+ return object;
+ var message = new $root.google.cloud.talent.v4.ClientEvent();
+ if (object.requestId != null)
+ message.requestId = String(object.requestId);
+ if (object.eventId != null)
+ message.eventId = String(object.eventId);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.ClientEvent.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.jobEvent != null) {
+ if (typeof object.jobEvent !== "object")
+ throw TypeError(".google.cloud.talent.v4.ClientEvent.jobEvent: object expected");
+ message.jobEvent = $root.google.cloud.talent.v4.JobEvent.fromObject(object.jobEvent);
+ }
+ if (object.eventNotes != null)
+ message.eventNotes = String(object.eventNotes);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ClientEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {google.cloud.talent.v4.ClientEvent} message ClientEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ClientEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.requestId = "";
+ object.eventId = "";
+ object.createTime = null;
+ object.eventNotes = "";
+ }
+ if (message.requestId != null && message.hasOwnProperty("requestId"))
+ object.requestId = message.requestId;
+ if (message.eventId != null && message.hasOwnProperty("eventId"))
+ object.eventId = message.eventId;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.jobEvent != null && message.hasOwnProperty("jobEvent")) {
+ object.jobEvent = $root.google.cloud.talent.v4.JobEvent.toObject(message.jobEvent, options);
+ if (options.oneofs)
+ object.event = "jobEvent";
+ }
+ if (message.eventNotes != null && message.hasOwnProperty("eventNotes"))
+ object.eventNotes = message.eventNotes;
+ return object;
+ };
+
+ /**
+ * Converts this ClientEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ClientEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ClientEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.ClientEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ClientEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.ClientEvent";
+ };
+
+ return ClientEvent;
+ })();
+
+ v4.JobEvent = (function() {
+
+ /**
+ * Properties of a JobEvent.
+ * @memberof google.cloud.talent.v4
+ * @interface IJobEvent
+ * @property {google.cloud.talent.v4.JobEvent.JobEventType|null} [type] JobEvent type
+ * @property {Array.|null} [jobs] JobEvent jobs
+ */
+
+ /**
+ * Constructs a new JobEvent.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a JobEvent.
+ * @implements IJobEvent
+ * @constructor
+ * @param {google.cloud.talent.v4.IJobEvent=} [properties] Properties to set
+ */
+ function JobEvent(properties) {
+ this.jobs = [];
+ 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]];
+ }
+
+ /**
+ * JobEvent type.
+ * @member {google.cloud.talent.v4.JobEvent.JobEventType} type
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @instance
+ */
+ JobEvent.prototype.type = 0;
+
+ /**
+ * JobEvent jobs.
+ * @member {Array.} jobs
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @instance
+ */
+ JobEvent.prototype.jobs = $util.emptyArray;
+
+ /**
+ * Creates a new JobEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {google.cloud.talent.v4.IJobEvent=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.JobEvent} JobEvent instance
+ */
+ JobEvent.create = function create(properties) {
+ return new JobEvent(properties);
+ };
+
+ /**
+ * Encodes the specified JobEvent message. Does not implicitly {@link google.cloud.talent.v4.JobEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {google.cloud.talent.v4.IJobEvent} message JobEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JobEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);
+ if (message.jobs != null && message.jobs.length)
+ for (var i = 0; i < message.jobs.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.jobs[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified JobEvent message, length delimited. Does not implicitly {@link google.cloud.talent.v4.JobEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {google.cloud.talent.v4.IJobEvent} message JobEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JobEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.JobEvent} JobEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JobEvent.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.JobEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.jobs && message.jobs.length))
+ message.jobs = [];
+ message.jobs.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a JobEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.JobEvent} JobEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JobEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a JobEvent message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ JobEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ break;
+ }
+ if (message.jobs != null && message.hasOwnProperty("jobs")) {
+ if (!Array.isArray(message.jobs))
+ return "jobs: array expected";
+ for (var i = 0; i < message.jobs.length; ++i)
+ if (!$util.isString(message.jobs[i]))
+ return "jobs: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a JobEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.JobEvent} JobEvent
+ */
+ JobEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.JobEvent)
+ return object;
+ var message = new $root.google.cloud.talent.v4.JobEvent();
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "JOB_EVENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "IMPRESSION":
+ case 1:
+ message.type = 1;
+ break;
+ case "VIEW":
+ case 2:
+ message.type = 2;
+ break;
+ case "VIEW_REDIRECT":
+ case 3:
+ message.type = 3;
+ break;
+ case "APPLICATION_START":
+ case 4:
+ message.type = 4;
+ break;
+ case "APPLICATION_FINISH":
+ case 5:
+ message.type = 5;
+ break;
+ case "APPLICATION_QUICK_SUBMISSION":
+ case 6:
+ message.type = 6;
+ break;
+ case "APPLICATION_REDIRECT":
+ case 7:
+ message.type = 7;
+ break;
+ case "APPLICATION_START_FROM_SEARCH":
+ case 8:
+ message.type = 8;
+ break;
+ case "APPLICATION_REDIRECT_FROM_SEARCH":
+ case 9:
+ message.type = 9;
+ break;
+ case "APPLICATION_COMPANY_SUBMIT":
+ case 10:
+ message.type = 10;
+ break;
+ case "BOOKMARK":
+ case 11:
+ message.type = 11;
+ break;
+ case "NOTIFICATION":
+ case 12:
+ message.type = 12;
+ break;
+ case "HIRED":
+ case 13:
+ message.type = 13;
+ break;
+ case "SENT_CV":
+ case 14:
+ message.type = 14;
+ break;
+ case "INTERVIEW_GRANTED":
+ case 15:
+ message.type = 15;
+ break;
+ }
+ if (object.jobs) {
+ if (!Array.isArray(object.jobs))
+ throw TypeError(".google.cloud.talent.v4.JobEvent.jobs: array expected");
+ message.jobs = [];
+ for (var i = 0; i < object.jobs.length; ++i)
+ message.jobs[i] = String(object.jobs[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a JobEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {google.cloud.talent.v4.JobEvent} message JobEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ JobEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.jobs = [];
+ if (options.defaults)
+ object.type = options.enums === String ? "JOB_EVENT_TYPE_UNSPECIFIED" : 0;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.talent.v4.JobEvent.JobEventType[message.type] === undefined ? message.type : $root.google.cloud.talent.v4.JobEvent.JobEventType[message.type] : message.type;
+ if (message.jobs && message.jobs.length) {
+ object.jobs = [];
+ for (var j = 0; j < message.jobs.length; ++j)
+ object.jobs[j] = message.jobs[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this JobEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ JobEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for JobEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.JobEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ JobEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.JobEvent";
+ };
+
+ /**
+ * JobEventType enum.
+ * @name google.cloud.talent.v4.JobEvent.JobEventType
+ * @enum {number}
+ * @property {number} JOB_EVENT_TYPE_UNSPECIFIED=0 JOB_EVENT_TYPE_UNSPECIFIED value
+ * @property {number} IMPRESSION=1 IMPRESSION value
+ * @property {number} VIEW=2 VIEW value
+ * @property {number} VIEW_REDIRECT=3 VIEW_REDIRECT value
+ * @property {number} APPLICATION_START=4 APPLICATION_START value
+ * @property {number} APPLICATION_FINISH=5 APPLICATION_FINISH value
+ * @property {number} APPLICATION_QUICK_SUBMISSION=6 APPLICATION_QUICK_SUBMISSION value
+ * @property {number} APPLICATION_REDIRECT=7 APPLICATION_REDIRECT value
+ * @property {number} APPLICATION_START_FROM_SEARCH=8 APPLICATION_START_FROM_SEARCH value
+ * @property {number} APPLICATION_REDIRECT_FROM_SEARCH=9 APPLICATION_REDIRECT_FROM_SEARCH value
+ * @property {number} APPLICATION_COMPANY_SUBMIT=10 APPLICATION_COMPANY_SUBMIT value
+ * @property {number} BOOKMARK=11 BOOKMARK value
+ * @property {number} NOTIFICATION=12 NOTIFICATION value
+ * @property {number} HIRED=13 HIRED value
+ * @property {number} SENT_CV=14 SENT_CV value
+ * @property {number} INTERVIEW_GRANTED=15 INTERVIEW_GRANTED value
+ */
+ JobEvent.JobEventType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "JOB_EVENT_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "IMPRESSION"] = 1;
+ values[valuesById[2] = "VIEW"] = 2;
+ values[valuesById[3] = "VIEW_REDIRECT"] = 3;
+ values[valuesById[4] = "APPLICATION_START"] = 4;
+ values[valuesById[5] = "APPLICATION_FINISH"] = 5;
+ values[valuesById[6] = "APPLICATION_QUICK_SUBMISSION"] = 6;
+ values[valuesById[7] = "APPLICATION_REDIRECT"] = 7;
+ values[valuesById[8] = "APPLICATION_START_FROM_SEARCH"] = 8;
+ values[valuesById[9] = "APPLICATION_REDIRECT_FROM_SEARCH"] = 9;
+ values[valuesById[10] = "APPLICATION_COMPANY_SUBMIT"] = 10;
+ values[valuesById[11] = "BOOKMARK"] = 11;
+ values[valuesById[12] = "NOTIFICATION"] = 12;
+ values[valuesById[13] = "HIRED"] = 13;
+ values[valuesById[14] = "SENT_CV"] = 14;
+ values[valuesById[15] = "INTERVIEW_GRANTED"] = 15;
+ return values;
+ })();
+
+ return JobEvent;
+ })();
+
+ v4.EventService = (function() {
+
+ /**
+ * Constructs a new EventService service.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents an EventService
+ * @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 EventService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (EventService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = EventService;
+
+ /**
+ * Creates new EventService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.talent.v4.EventService
+ * @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 {EventService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ EventService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.talent.v4.EventService|createClientEvent}.
+ * @memberof google.cloud.talent.v4.EventService
+ * @typedef CreateClientEventCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.talent.v4.ClientEvent} [response] ClientEvent
+ */
+
+ /**
+ * Calls CreateClientEvent.
+ * @function createClientEvent
+ * @memberof google.cloud.talent.v4.EventService
+ * @instance
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest} request CreateClientEventRequest message or plain object
+ * @param {google.cloud.talent.v4.EventService.CreateClientEventCallback} callback Node-style callback called with the error, if any, and ClientEvent
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(EventService.prototype.createClientEvent = function createClientEvent(request, callback) {
+ return this.rpcCall(createClientEvent, $root.google.cloud.talent.v4.CreateClientEventRequest, $root.google.cloud.talent.v4.ClientEvent, request, callback);
+ }, "name", { value: "CreateClientEvent" });
+
+ /**
+ * Calls CreateClientEvent.
+ * @function createClientEvent
+ * @memberof google.cloud.talent.v4.EventService
+ * @instance
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest} request CreateClientEventRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return EventService;
+ })();
+
+ v4.CreateClientEventRequest = (function() {
+
+ /**
+ * Properties of a CreateClientEventRequest.
+ * @memberof google.cloud.talent.v4
+ * @interface ICreateClientEventRequest
+ * @property {string|null} [parent] CreateClientEventRequest parent
+ * @property {google.cloud.talent.v4.IClientEvent|null} [clientEvent] CreateClientEventRequest clientEvent
+ */
+
+ /**
+ * Constructs a new CreateClientEventRequest.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CreateClientEventRequest.
+ * @implements ICreateClientEventRequest
+ * @constructor
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest=} [properties] Properties to set
+ */
+ function CreateClientEventRequest(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]];
+ }
+
+ /**
+ * CreateClientEventRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @instance
+ */
+ CreateClientEventRequest.prototype.parent = "";
+
+ /**
+ * CreateClientEventRequest clientEvent.
+ * @member {google.cloud.talent.v4.IClientEvent|null|undefined} clientEvent
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @instance
+ */
+ CreateClientEventRequest.prototype.clientEvent = null;
+
+ /**
+ * Creates a new CreateClientEventRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CreateClientEventRequest} CreateClientEventRequest instance
+ */
+ CreateClientEventRequest.create = function create(properties) {
+ return new CreateClientEventRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateClientEventRequest message. Does not implicitly {@link google.cloud.talent.v4.CreateClientEventRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest} message CreateClientEventRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateClientEventRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.clientEvent != null && Object.hasOwnProperty.call(message, "clientEvent"))
+ $root.google.cloud.talent.v4.ClientEvent.encode(message.clientEvent, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateClientEventRequest message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CreateClientEventRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {google.cloud.talent.v4.ICreateClientEventRequest} message CreateClientEventRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateClientEventRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CreateClientEventRequest} CreateClientEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateClientEventRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CreateClientEventRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.clientEvent = $root.google.cloud.talent.v4.ClientEvent.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateClientEventRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CreateClientEventRequest} CreateClientEventRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateClientEventRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateClientEventRequest message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateClientEventRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.clientEvent != null && message.hasOwnProperty("clientEvent")) {
+ var error = $root.google.cloud.talent.v4.ClientEvent.verify(message.clientEvent);
+ if (error)
+ return "clientEvent." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateClientEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CreateClientEventRequest} CreateClientEventRequest
+ */
+ CreateClientEventRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CreateClientEventRequest)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CreateClientEventRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.clientEvent != null) {
+ if (typeof object.clientEvent !== "object")
+ throw TypeError(".google.cloud.talent.v4.CreateClientEventRequest.clientEvent: object expected");
+ message.clientEvent = $root.google.cloud.talent.v4.ClientEvent.fromObject(object.clientEvent);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateClientEventRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {google.cloud.talent.v4.CreateClientEventRequest} message CreateClientEventRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateClientEventRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.clientEvent = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.clientEvent != null && message.hasOwnProperty("clientEvent"))
+ object.clientEvent = $root.google.cloud.talent.v4.ClientEvent.toObject(message.clientEvent, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateClientEventRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateClientEventRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateClientEventRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CreateClientEventRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateClientEventRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CreateClientEventRequest";
+ };
+
+ return CreateClientEventRequest;
+ })();
+
+ v4.JobQuery = (function() {
+
+ /**
+ * Properties of a JobQuery.
+ * @memberof google.cloud.talent.v4
+ * @interface IJobQuery
+ * @property {string|null} [query] JobQuery query
+ * @property {string|null} [queryLanguageCode] JobQuery queryLanguageCode
+ * @property {Array.|null} [companies] JobQuery companies
+ * @property {Array.|null} [locationFilters] JobQuery locationFilters
+ * @property {Array.|null} [jobCategories] JobQuery jobCategories
+ * @property {google.cloud.talent.v4.ICommuteFilter|null} [commuteFilter] JobQuery commuteFilter
+ * @property {Array.|null} [companyDisplayNames] JobQuery companyDisplayNames
+ * @property {google.cloud.talent.v4.ICompensationFilter|null} [compensationFilter] JobQuery compensationFilter
+ * @property {string|null} [customAttributeFilter] JobQuery customAttributeFilter
+ * @property {boolean|null} [disableSpellCheck] JobQuery disableSpellCheck
+ * @property {Array.|null} [employmentTypes] JobQuery employmentTypes
+ * @property {Array.|null} [languageCodes] JobQuery languageCodes
+ * @property {google.cloud.talent.v4.ITimestampRange|null} [publishTimeRange] JobQuery publishTimeRange
+ * @property {Array.|null} [excludedJobs] JobQuery excludedJobs
+ */
+
+ /**
+ * Constructs a new JobQuery.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a JobQuery.
+ * @implements IJobQuery
+ * @constructor
+ * @param {google.cloud.talent.v4.IJobQuery=} [properties] Properties to set
+ */
+ function JobQuery(properties) {
+ this.companies = [];
+ this.locationFilters = [];
+ this.jobCategories = [];
+ this.companyDisplayNames = [];
+ this.employmentTypes = [];
+ this.languageCodes = [];
+ this.excludedJobs = [];
+ 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]];
+ }
+
+ /**
+ * JobQuery query.
+ * @member {string} query
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.query = "";
+
+ /**
+ * JobQuery queryLanguageCode.
+ * @member {string} queryLanguageCode
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.queryLanguageCode = "";
+
+ /**
+ * JobQuery companies.
+ * @member {Array.} companies
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.companies = $util.emptyArray;
+
+ /**
+ * JobQuery locationFilters.
+ * @member {Array.} locationFilters
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.locationFilters = $util.emptyArray;
+
+ /**
+ * JobQuery jobCategories.
+ * @member {Array.} jobCategories
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.jobCategories = $util.emptyArray;
+
+ /**
+ * JobQuery commuteFilter.
+ * @member {google.cloud.talent.v4.ICommuteFilter|null|undefined} commuteFilter
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.commuteFilter = null;
+
+ /**
+ * JobQuery companyDisplayNames.
+ * @member {Array.} companyDisplayNames
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.companyDisplayNames = $util.emptyArray;
+
+ /**
+ * JobQuery compensationFilter.
+ * @member {google.cloud.talent.v4.ICompensationFilter|null|undefined} compensationFilter
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.compensationFilter = null;
+
+ /**
+ * JobQuery customAttributeFilter.
+ * @member {string} customAttributeFilter
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.customAttributeFilter = "";
+
+ /**
+ * JobQuery disableSpellCheck.
+ * @member {boolean} disableSpellCheck
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.disableSpellCheck = false;
+
+ /**
+ * JobQuery employmentTypes.
+ * @member {Array.} employmentTypes
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.employmentTypes = $util.emptyArray;
+
+ /**
+ * JobQuery languageCodes.
+ * @member {Array.} languageCodes
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.languageCodes = $util.emptyArray;
+
+ /**
+ * JobQuery publishTimeRange.
+ * @member {google.cloud.talent.v4.ITimestampRange|null|undefined} publishTimeRange
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.publishTimeRange = null;
+
+ /**
+ * JobQuery excludedJobs.
+ * @member {Array.} excludedJobs
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ */
+ JobQuery.prototype.excludedJobs = $util.emptyArray;
+
+ /**
+ * Creates a new JobQuery instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {google.cloud.talent.v4.IJobQuery=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.JobQuery} JobQuery instance
+ */
+ JobQuery.create = function create(properties) {
+ return new JobQuery(properties);
+ };
+
+ /**
+ * Encodes the specified JobQuery message. Does not implicitly {@link google.cloud.talent.v4.JobQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {google.cloud.talent.v4.IJobQuery} message JobQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JobQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.query != null && Object.hasOwnProperty.call(message, "query"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.query);
+ if (message.companies != null && message.companies.length)
+ for (var i = 0; i < message.companies.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.companies[i]);
+ if (message.locationFilters != null && message.locationFilters.length)
+ for (var i = 0; i < message.locationFilters.length; ++i)
+ $root.google.cloud.talent.v4.LocationFilter.encode(message.locationFilters[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.jobCategories != null && message.jobCategories.length) {
+ writer.uint32(/* id 4, wireType 2 =*/34).fork();
+ for (var i = 0; i < message.jobCategories.length; ++i)
+ writer.int32(message.jobCategories[i]);
+ writer.ldelim();
+ }
+ if (message.commuteFilter != null && Object.hasOwnProperty.call(message, "commuteFilter"))
+ $root.google.cloud.talent.v4.CommuteFilter.encode(message.commuteFilter, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.companyDisplayNames != null && message.companyDisplayNames.length)
+ for (var i = 0; i < message.companyDisplayNames.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.companyDisplayNames[i]);
+ if (message.compensationFilter != null && Object.hasOwnProperty.call(message, "compensationFilter"))
+ $root.google.cloud.talent.v4.CompensationFilter.encode(message.compensationFilter, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.customAttributeFilter != null && Object.hasOwnProperty.call(message, "customAttributeFilter"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.customAttributeFilter);
+ if (message.disableSpellCheck != null && Object.hasOwnProperty.call(message, "disableSpellCheck"))
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.disableSpellCheck);
+ if (message.employmentTypes != null && message.employmentTypes.length) {
+ writer.uint32(/* id 10, wireType 2 =*/82).fork();
+ for (var i = 0; i < message.employmentTypes.length; ++i)
+ writer.int32(message.employmentTypes[i]);
+ writer.ldelim();
+ }
+ if (message.languageCodes != null && message.languageCodes.length)
+ for (var i = 0; i < message.languageCodes.length; ++i)
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.languageCodes[i]);
+ if (message.publishTimeRange != null && Object.hasOwnProperty.call(message, "publishTimeRange"))
+ $root.google.cloud.talent.v4.TimestampRange.encode(message.publishTimeRange, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.excludedJobs != null && message.excludedJobs.length)
+ for (var i = 0; i < message.excludedJobs.length; ++i)
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.excludedJobs[i]);
+ if (message.queryLanguageCode != null && Object.hasOwnProperty.call(message, "queryLanguageCode"))
+ writer.uint32(/* id 14, wireType 2 =*/114).string(message.queryLanguageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified JobQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4.JobQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {google.cloud.talent.v4.IJobQuery} message JobQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ JobQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.JobQuery} JobQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JobQuery.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.JobQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.query = reader.string();
+ break;
+ }
+ case 14: {
+ message.queryLanguageCode = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.companies && message.companies.length))
+ message.companies = [];
+ message.companies.push(reader.string());
+ break;
+ }
+ case 3: {
+ if (!(message.locationFilters && message.locationFilters.length))
+ message.locationFilters = [];
+ message.locationFilters.push($root.google.cloud.talent.v4.LocationFilter.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.jobCategories && message.jobCategories.length))
+ message.jobCategories = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.jobCategories.push(reader.int32());
+ } else
+ message.jobCategories.push(reader.int32());
+ break;
+ }
+ case 5: {
+ message.commuteFilter = $root.google.cloud.talent.v4.CommuteFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ if (!(message.companyDisplayNames && message.companyDisplayNames.length))
+ message.companyDisplayNames = [];
+ message.companyDisplayNames.push(reader.string());
+ break;
+ }
+ case 7: {
+ message.compensationFilter = $root.google.cloud.talent.v4.CompensationFilter.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.customAttributeFilter = reader.string();
+ break;
+ }
+ case 9: {
+ message.disableSpellCheck = reader.bool();
+ break;
+ }
+ case 10: {
+ if (!(message.employmentTypes && message.employmentTypes.length))
+ message.employmentTypes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.employmentTypes.push(reader.int32());
+ } else
+ message.employmentTypes.push(reader.int32());
+ break;
+ }
+ case 11: {
+ if (!(message.languageCodes && message.languageCodes.length))
+ message.languageCodes = [];
+ message.languageCodes.push(reader.string());
+ break;
+ }
+ case 12: {
+ message.publishTimeRange = $root.google.cloud.talent.v4.TimestampRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ if (!(message.excludedJobs && message.excludedJobs.length))
+ message.excludedJobs = [];
+ message.excludedJobs.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a JobQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.JobQuery} JobQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ JobQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a JobQuery message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ JobQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.query != null && message.hasOwnProperty("query"))
+ if (!$util.isString(message.query))
+ return "query: string expected";
+ if (message.queryLanguageCode != null && message.hasOwnProperty("queryLanguageCode"))
+ if (!$util.isString(message.queryLanguageCode))
+ return "queryLanguageCode: string expected";
+ if (message.companies != null && message.hasOwnProperty("companies")) {
+ if (!Array.isArray(message.companies))
+ return "companies: array expected";
+ for (var i = 0; i < message.companies.length; ++i)
+ if (!$util.isString(message.companies[i]))
+ return "companies: string[] expected";
+ }
+ if (message.locationFilters != null && message.hasOwnProperty("locationFilters")) {
+ if (!Array.isArray(message.locationFilters))
+ return "locationFilters: array expected";
+ for (var i = 0; i < message.locationFilters.length; ++i) {
+ var error = $root.google.cloud.talent.v4.LocationFilter.verify(message.locationFilters[i]);
+ if (error)
+ return "locationFilters." + error;
+ }
+ }
+ if (message.jobCategories != null && message.hasOwnProperty("jobCategories")) {
+ if (!Array.isArray(message.jobCategories))
+ return "jobCategories: array expected";
+ for (var i = 0; i < message.jobCategories.length; ++i)
+ switch (message.jobCategories[i]) {
+ default:
+ return "jobCategories: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ case 30:
+ break;
+ }
+ }
+ if (message.commuteFilter != null && message.hasOwnProperty("commuteFilter")) {
+ var error = $root.google.cloud.talent.v4.CommuteFilter.verify(message.commuteFilter);
+ if (error)
+ return "commuteFilter." + error;
+ }
+ if (message.companyDisplayNames != null && message.hasOwnProperty("companyDisplayNames")) {
+ if (!Array.isArray(message.companyDisplayNames))
+ return "companyDisplayNames: array expected";
+ for (var i = 0; i < message.companyDisplayNames.length; ++i)
+ if (!$util.isString(message.companyDisplayNames[i]))
+ return "companyDisplayNames: string[] expected";
+ }
+ if (message.compensationFilter != null && message.hasOwnProperty("compensationFilter")) {
+ var error = $root.google.cloud.talent.v4.CompensationFilter.verify(message.compensationFilter);
+ if (error)
+ return "compensationFilter." + error;
+ }
+ if (message.customAttributeFilter != null && message.hasOwnProperty("customAttributeFilter"))
+ if (!$util.isString(message.customAttributeFilter))
+ return "customAttributeFilter: string expected";
+ if (message.disableSpellCheck != null && message.hasOwnProperty("disableSpellCheck"))
+ if (typeof message.disableSpellCheck !== "boolean")
+ return "disableSpellCheck: boolean expected";
+ if (message.employmentTypes != null && message.hasOwnProperty("employmentTypes")) {
+ if (!Array.isArray(message.employmentTypes))
+ return "employmentTypes: array expected";
+ for (var i = 0; i < message.employmentTypes.length; ++i)
+ switch (message.employmentTypes[i]) {
+ default:
+ return "employmentTypes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ break;
+ }
+ }
+ if (message.languageCodes != null && message.hasOwnProperty("languageCodes")) {
+ if (!Array.isArray(message.languageCodes))
+ return "languageCodes: array expected";
+ for (var i = 0; i < message.languageCodes.length; ++i)
+ if (!$util.isString(message.languageCodes[i]))
+ return "languageCodes: string[] expected";
+ }
+ if (message.publishTimeRange != null && message.hasOwnProperty("publishTimeRange")) {
+ var error = $root.google.cloud.talent.v4.TimestampRange.verify(message.publishTimeRange);
+ if (error)
+ return "publishTimeRange." + error;
+ }
+ if (message.excludedJobs != null && message.hasOwnProperty("excludedJobs")) {
+ if (!Array.isArray(message.excludedJobs))
+ return "excludedJobs: array expected";
+ for (var i = 0; i < message.excludedJobs.length; ++i)
+ if (!$util.isString(message.excludedJobs[i]))
+ return "excludedJobs: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a JobQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.JobQuery} JobQuery
+ */
+ JobQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.JobQuery)
+ return object;
+ var message = new $root.google.cloud.talent.v4.JobQuery();
+ if (object.query != null)
+ message.query = String(object.query);
+ if (object.queryLanguageCode != null)
+ message.queryLanguageCode = String(object.queryLanguageCode);
+ if (object.companies) {
+ if (!Array.isArray(object.companies))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.companies: array expected");
+ message.companies = [];
+ for (var i = 0; i < object.companies.length; ++i)
+ message.companies[i] = String(object.companies[i]);
+ }
+ if (object.locationFilters) {
+ if (!Array.isArray(object.locationFilters))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.locationFilters: array expected");
+ message.locationFilters = [];
+ for (var i = 0; i < object.locationFilters.length; ++i) {
+ if (typeof object.locationFilters[i] !== "object")
+ throw TypeError(".google.cloud.talent.v4.JobQuery.locationFilters: object expected");
+ message.locationFilters[i] = $root.google.cloud.talent.v4.LocationFilter.fromObject(object.locationFilters[i]);
+ }
+ }
+ if (object.jobCategories) {
+ if (!Array.isArray(object.jobCategories))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.jobCategories: array expected");
+ message.jobCategories = [];
+ for (var i = 0; i < object.jobCategories.length; ++i)
+ switch (object.jobCategories[i]) {
+ default:
+ if (typeof object.jobCategories[i] === "number") {
+ message.jobCategories[i] = object.jobCategories[i];
+ break;
+ }
+ case "JOB_CATEGORY_UNSPECIFIED":
+ case 0:
+ message.jobCategories[i] = 0;
+ break;
+ case "ACCOUNTING_AND_FINANCE":
+ case 1:
+ message.jobCategories[i] = 1;
+ break;
+ case "ADMINISTRATIVE_AND_OFFICE":
+ case 2:
+ message.jobCategories[i] = 2;
+ break;
+ case "ADVERTISING_AND_MARKETING":
+ case 3:
+ message.jobCategories[i] = 3;
+ break;
+ case "ANIMAL_CARE":
+ case 4:
+ message.jobCategories[i] = 4;
+ break;
+ case "ART_FASHION_AND_DESIGN":
+ case 5:
+ message.jobCategories[i] = 5;
+ break;
+ case "BUSINESS_OPERATIONS":
+ case 6:
+ message.jobCategories[i] = 6;
+ break;
+ case "CLEANING_AND_FACILITIES":
+ case 7:
+ message.jobCategories[i] = 7;
+ break;
+ case "COMPUTER_AND_IT":
+ case 8:
+ message.jobCategories[i] = 8;
+ break;
+ case "CONSTRUCTION":
+ case 9:
+ message.jobCategories[i] = 9;
+ break;
+ case "CUSTOMER_SERVICE":
+ case 10:
+ message.jobCategories[i] = 10;
+ break;
+ case "EDUCATION":
+ case 11:
+ message.jobCategories[i] = 11;
+ break;
+ case "ENTERTAINMENT_AND_TRAVEL":
+ case 12:
+ message.jobCategories[i] = 12;
+ break;
+ case "FARMING_AND_OUTDOORS":
+ case 13:
+ message.jobCategories[i] = 13;
+ break;
+ case "HEALTHCARE":
+ case 14:
+ message.jobCategories[i] = 14;
+ break;
+ case "HUMAN_RESOURCES":
+ case 15:
+ message.jobCategories[i] = 15;
+ break;
+ case "INSTALLATION_MAINTENANCE_AND_REPAIR":
+ case 16:
+ message.jobCategories[i] = 16;
+ break;
+ case "LEGAL":
+ case 17:
+ message.jobCategories[i] = 17;
+ break;
+ case "MANAGEMENT":
+ case 18:
+ message.jobCategories[i] = 18;
+ break;
+ case "MANUFACTURING_AND_WAREHOUSE":
+ case 19:
+ message.jobCategories[i] = 19;
+ break;
+ case "MEDIA_COMMUNICATIONS_AND_WRITING":
+ case 20:
+ message.jobCategories[i] = 20;
+ break;
+ case "OIL_GAS_AND_MINING":
+ case 21:
+ message.jobCategories[i] = 21;
+ break;
+ case "PERSONAL_CARE_AND_SERVICES":
+ case 22:
+ message.jobCategories[i] = 22;
+ break;
+ case "PROTECTIVE_SERVICES":
+ case 23:
+ message.jobCategories[i] = 23;
+ break;
+ case "REAL_ESTATE":
+ case 24:
+ message.jobCategories[i] = 24;
+ break;
+ case "RESTAURANT_AND_HOSPITALITY":
+ case 25:
+ message.jobCategories[i] = 25;
+ break;
+ case "SALES_AND_RETAIL":
+ case 26:
+ message.jobCategories[i] = 26;
+ break;
+ case "SCIENCE_AND_ENGINEERING":
+ case 27:
+ message.jobCategories[i] = 27;
+ break;
+ case "SOCIAL_SERVICES_AND_NON_PROFIT":
+ case 28:
+ message.jobCategories[i] = 28;
+ break;
+ case "SPORTS_FITNESS_AND_RECREATION":
+ case 29:
+ message.jobCategories[i] = 29;
+ break;
+ case "TRANSPORTATION_AND_LOGISTICS":
+ case 30:
+ message.jobCategories[i] = 30;
+ break;
+ }
+ }
+ if (object.commuteFilter != null) {
+ if (typeof object.commuteFilter !== "object")
+ throw TypeError(".google.cloud.talent.v4.JobQuery.commuteFilter: object expected");
+ message.commuteFilter = $root.google.cloud.talent.v4.CommuteFilter.fromObject(object.commuteFilter);
+ }
+ if (object.companyDisplayNames) {
+ if (!Array.isArray(object.companyDisplayNames))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.companyDisplayNames: array expected");
+ message.companyDisplayNames = [];
+ for (var i = 0; i < object.companyDisplayNames.length; ++i)
+ message.companyDisplayNames[i] = String(object.companyDisplayNames[i]);
+ }
+ if (object.compensationFilter != null) {
+ if (typeof object.compensationFilter !== "object")
+ throw TypeError(".google.cloud.talent.v4.JobQuery.compensationFilter: object expected");
+ message.compensationFilter = $root.google.cloud.talent.v4.CompensationFilter.fromObject(object.compensationFilter);
+ }
+ if (object.customAttributeFilter != null)
+ message.customAttributeFilter = String(object.customAttributeFilter);
+ if (object.disableSpellCheck != null)
+ message.disableSpellCheck = Boolean(object.disableSpellCheck);
+ if (object.employmentTypes) {
+ if (!Array.isArray(object.employmentTypes))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.employmentTypes: array expected");
+ message.employmentTypes = [];
+ for (var i = 0; i < object.employmentTypes.length; ++i)
+ switch (object.employmentTypes[i]) {
+ default:
+ if (typeof object.employmentTypes[i] === "number") {
+ message.employmentTypes[i] = object.employmentTypes[i];
+ break;
+ }
+ case "EMPLOYMENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.employmentTypes[i] = 0;
+ break;
+ case "FULL_TIME":
+ case 1:
+ message.employmentTypes[i] = 1;
+ break;
+ case "PART_TIME":
+ case 2:
+ message.employmentTypes[i] = 2;
+ break;
+ case "CONTRACTOR":
+ case 3:
+ message.employmentTypes[i] = 3;
+ break;
+ case "CONTRACT_TO_HIRE":
+ case 4:
+ message.employmentTypes[i] = 4;
+ break;
+ case "TEMPORARY":
+ case 5:
+ message.employmentTypes[i] = 5;
+ break;
+ case "INTERN":
+ case 6:
+ message.employmentTypes[i] = 6;
+ break;
+ case "VOLUNTEER":
+ case 7:
+ message.employmentTypes[i] = 7;
+ break;
+ case "PER_DIEM":
+ case 8:
+ message.employmentTypes[i] = 8;
+ break;
+ case "FLY_IN_FLY_OUT":
+ case 9:
+ message.employmentTypes[i] = 9;
+ break;
+ case "OTHER_EMPLOYMENT_TYPE":
+ case 10:
+ message.employmentTypes[i] = 10;
+ break;
+ }
+ }
+ if (object.languageCodes) {
+ if (!Array.isArray(object.languageCodes))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.languageCodes: array expected");
+ message.languageCodes = [];
+ for (var i = 0; i < object.languageCodes.length; ++i)
+ message.languageCodes[i] = String(object.languageCodes[i]);
+ }
+ if (object.publishTimeRange != null) {
+ if (typeof object.publishTimeRange !== "object")
+ throw TypeError(".google.cloud.talent.v4.JobQuery.publishTimeRange: object expected");
+ message.publishTimeRange = $root.google.cloud.talent.v4.TimestampRange.fromObject(object.publishTimeRange);
+ }
+ if (object.excludedJobs) {
+ if (!Array.isArray(object.excludedJobs))
+ throw TypeError(".google.cloud.talent.v4.JobQuery.excludedJobs: array expected");
+ message.excludedJobs = [];
+ for (var i = 0; i < object.excludedJobs.length; ++i)
+ message.excludedJobs[i] = String(object.excludedJobs[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a JobQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {google.cloud.talent.v4.JobQuery} message JobQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ JobQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.companies = [];
+ object.locationFilters = [];
+ object.jobCategories = [];
+ object.companyDisplayNames = [];
+ object.employmentTypes = [];
+ object.languageCodes = [];
+ object.excludedJobs = [];
+ }
+ if (options.defaults) {
+ object.query = "";
+ object.commuteFilter = null;
+ object.compensationFilter = null;
+ object.customAttributeFilter = "";
+ object.disableSpellCheck = false;
+ object.publishTimeRange = null;
+ object.queryLanguageCode = "";
+ }
+ if (message.query != null && message.hasOwnProperty("query"))
+ object.query = message.query;
+ if (message.companies && message.companies.length) {
+ object.companies = [];
+ for (var j = 0; j < message.companies.length; ++j)
+ object.companies[j] = message.companies[j];
+ }
+ if (message.locationFilters && message.locationFilters.length) {
+ object.locationFilters = [];
+ for (var j = 0; j < message.locationFilters.length; ++j)
+ object.locationFilters[j] = $root.google.cloud.talent.v4.LocationFilter.toObject(message.locationFilters[j], options);
+ }
+ if (message.jobCategories && message.jobCategories.length) {
+ object.jobCategories = [];
+ for (var j = 0; j < message.jobCategories.length; ++j)
+ object.jobCategories[j] = options.enums === String ? $root.google.cloud.talent.v4.JobCategory[message.jobCategories[j]] === undefined ? message.jobCategories[j] : $root.google.cloud.talent.v4.JobCategory[message.jobCategories[j]] : message.jobCategories[j];
+ }
+ if (message.commuteFilter != null && message.hasOwnProperty("commuteFilter"))
+ object.commuteFilter = $root.google.cloud.talent.v4.CommuteFilter.toObject(message.commuteFilter, options);
+ if (message.companyDisplayNames && message.companyDisplayNames.length) {
+ object.companyDisplayNames = [];
+ for (var j = 0; j < message.companyDisplayNames.length; ++j)
+ object.companyDisplayNames[j] = message.companyDisplayNames[j];
+ }
+ if (message.compensationFilter != null && message.hasOwnProperty("compensationFilter"))
+ object.compensationFilter = $root.google.cloud.talent.v4.CompensationFilter.toObject(message.compensationFilter, options);
+ if (message.customAttributeFilter != null && message.hasOwnProperty("customAttributeFilter"))
+ object.customAttributeFilter = message.customAttributeFilter;
+ if (message.disableSpellCheck != null && message.hasOwnProperty("disableSpellCheck"))
+ object.disableSpellCheck = message.disableSpellCheck;
+ if (message.employmentTypes && message.employmentTypes.length) {
+ object.employmentTypes = [];
+ for (var j = 0; j < message.employmentTypes.length; ++j)
+ object.employmentTypes[j] = options.enums === String ? $root.google.cloud.talent.v4.EmploymentType[message.employmentTypes[j]] === undefined ? message.employmentTypes[j] : $root.google.cloud.talent.v4.EmploymentType[message.employmentTypes[j]] : message.employmentTypes[j];
+ }
+ if (message.languageCodes && message.languageCodes.length) {
+ object.languageCodes = [];
+ for (var j = 0; j < message.languageCodes.length; ++j)
+ object.languageCodes[j] = message.languageCodes[j];
+ }
+ if (message.publishTimeRange != null && message.hasOwnProperty("publishTimeRange"))
+ object.publishTimeRange = $root.google.cloud.talent.v4.TimestampRange.toObject(message.publishTimeRange, options);
+ if (message.excludedJobs && message.excludedJobs.length) {
+ object.excludedJobs = [];
+ for (var j = 0; j < message.excludedJobs.length; ++j)
+ object.excludedJobs[j] = message.excludedJobs[j];
+ }
+ if (message.queryLanguageCode != null && message.hasOwnProperty("queryLanguageCode"))
+ object.queryLanguageCode = message.queryLanguageCode;
+ return object;
+ };
+
+ /**
+ * Converts this JobQuery to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ JobQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for JobQuery
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.JobQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ JobQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.JobQuery";
+ };
+
+ return JobQuery;
+ })();
+
+ v4.LocationFilter = (function() {
+
+ /**
+ * Properties of a LocationFilter.
+ * @memberof google.cloud.talent.v4
+ * @interface ILocationFilter
+ * @property {string|null} [address] LocationFilter address
+ * @property {string|null} [regionCode] LocationFilter regionCode
+ * @property {google.type.ILatLng|null} [latLng] LocationFilter latLng
+ * @property {number|null} [distanceInMiles] LocationFilter distanceInMiles
+ * @property {google.cloud.talent.v4.LocationFilter.TelecommutePreference|null} [telecommutePreference] LocationFilter telecommutePreference
+ */
+
+ /**
+ * Constructs a new LocationFilter.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a LocationFilter.
+ * @implements ILocationFilter
+ * @constructor
+ * @param {google.cloud.talent.v4.ILocationFilter=} [properties] Properties to set
+ */
+ function LocationFilter(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]];
+ }
+
+ /**
+ * LocationFilter address.
+ * @member {string} address
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ */
+ LocationFilter.prototype.address = "";
+
+ /**
+ * LocationFilter regionCode.
+ * @member {string} regionCode
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ */
+ LocationFilter.prototype.regionCode = "";
+
+ /**
+ * LocationFilter latLng.
+ * @member {google.type.ILatLng|null|undefined} latLng
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ */
+ LocationFilter.prototype.latLng = null;
+
+ /**
+ * LocationFilter distanceInMiles.
+ * @member {number} distanceInMiles
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ */
+ LocationFilter.prototype.distanceInMiles = 0;
+
+ /**
+ * LocationFilter telecommutePreference.
+ * @member {google.cloud.talent.v4.LocationFilter.TelecommutePreference} telecommutePreference
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ */
+ LocationFilter.prototype.telecommutePreference = 0;
+
+ /**
+ * Creates a new LocationFilter instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ILocationFilter=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.LocationFilter} LocationFilter instance
+ */
+ LocationFilter.create = function create(properties) {
+ return new LocationFilter(properties);
+ };
+
+ /**
+ * Encodes the specified LocationFilter message. Does not implicitly {@link google.cloud.talent.v4.LocationFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ILocationFilter} message LocationFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.address != null && Object.hasOwnProperty.call(message, "address"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.address);
+ if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.regionCode);
+ if (message.latLng != null && Object.hasOwnProperty.call(message, "latLng"))
+ $root.google.type.LatLng.encode(message.latLng, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.distanceInMiles != null && Object.hasOwnProperty.call(message, "distanceInMiles"))
+ writer.uint32(/* id 4, wireType 1 =*/33).double(message.distanceInMiles);
+ if (message.telecommutePreference != null && Object.hasOwnProperty.call(message, "telecommutePreference"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.telecommutePreference);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.LocationFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ILocationFilter} message LocationFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.LocationFilter} LocationFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.LocationFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.address = reader.string();
+ break;
+ }
+ case 2: {
+ message.regionCode = reader.string();
+ break;
+ }
+ case 3: {
+ message.latLng = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.distanceInMiles = reader.double();
+ break;
+ }
+ case 5: {
+ message.telecommutePreference = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocationFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.LocationFilter} LocationFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocationFilter message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocationFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.address != null && message.hasOwnProperty("address"))
+ if (!$util.isString(message.address))
+ return "address: string expected";
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ if (!$util.isString(message.regionCode))
+ return "regionCode: string expected";
+ if (message.latLng != null && message.hasOwnProperty("latLng")) {
+ var error = $root.google.type.LatLng.verify(message.latLng);
+ if (error)
+ return "latLng." + error;
+ }
+ if (message.distanceInMiles != null && message.hasOwnProperty("distanceInMiles"))
+ if (typeof message.distanceInMiles !== "number")
+ return "distanceInMiles: number expected";
+ if (message.telecommutePreference != null && message.hasOwnProperty("telecommutePreference"))
+ switch (message.telecommutePreference) {
+ default:
+ return "telecommutePreference: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LocationFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.LocationFilter} LocationFilter
+ */
+ LocationFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.LocationFilter)
+ return object;
+ var message = new $root.google.cloud.talent.v4.LocationFilter();
+ if (object.address != null)
+ message.address = String(object.address);
+ if (object.regionCode != null)
+ message.regionCode = String(object.regionCode);
+ if (object.latLng != null) {
+ if (typeof object.latLng !== "object")
+ throw TypeError(".google.cloud.talent.v4.LocationFilter.latLng: object expected");
+ message.latLng = $root.google.type.LatLng.fromObject(object.latLng);
+ }
+ if (object.distanceInMiles != null)
+ message.distanceInMiles = Number(object.distanceInMiles);
+ switch (object.telecommutePreference) {
+ default:
+ if (typeof object.telecommutePreference === "number") {
+ message.telecommutePreference = object.telecommutePreference;
+ break;
+ }
+ break;
+ case "TELECOMMUTE_PREFERENCE_UNSPECIFIED":
+ case 0:
+ message.telecommutePreference = 0;
+ break;
+ case "TELECOMMUTE_EXCLUDED":
+ case 1:
+ message.telecommutePreference = 1;
+ break;
+ case "TELECOMMUTE_ALLOWED":
+ case 2:
+ message.telecommutePreference = 2;
+ break;
+ case "TELECOMMUTE_JOBS_EXCLUDED":
+ case 3:
+ message.telecommutePreference = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocationFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {google.cloud.talent.v4.LocationFilter} message LocationFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocationFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.address = "";
+ object.regionCode = "";
+ object.latLng = null;
+ object.distanceInMiles = 0;
+ object.telecommutePreference = options.enums === String ? "TELECOMMUTE_PREFERENCE_UNSPECIFIED" : 0;
+ }
+ if (message.address != null && message.hasOwnProperty("address"))
+ object.address = message.address;
+ if (message.regionCode != null && message.hasOwnProperty("regionCode"))
+ object.regionCode = message.regionCode;
+ if (message.latLng != null && message.hasOwnProperty("latLng"))
+ object.latLng = $root.google.type.LatLng.toObject(message.latLng, options);
+ if (message.distanceInMiles != null && message.hasOwnProperty("distanceInMiles"))
+ object.distanceInMiles = options.json && !isFinite(message.distanceInMiles) ? String(message.distanceInMiles) : message.distanceInMiles;
+ if (message.telecommutePreference != null && message.hasOwnProperty("telecommutePreference"))
+ object.telecommutePreference = options.enums === String ? $root.google.cloud.talent.v4.LocationFilter.TelecommutePreference[message.telecommutePreference] === undefined ? message.telecommutePreference : $root.google.cloud.talent.v4.LocationFilter.TelecommutePreference[message.telecommutePreference] : message.telecommutePreference;
+ return object;
+ };
+
+ /**
+ * Converts this LocationFilter to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocationFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocationFilter
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.LocationFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocationFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.LocationFilter";
+ };
+
+ /**
+ * TelecommutePreference enum.
+ * @name google.cloud.talent.v4.LocationFilter.TelecommutePreference
+ * @enum {number}
+ * @property {number} TELECOMMUTE_PREFERENCE_UNSPECIFIED=0 TELECOMMUTE_PREFERENCE_UNSPECIFIED value
+ * @property {number} TELECOMMUTE_EXCLUDED=1 TELECOMMUTE_EXCLUDED value
+ * @property {number} TELECOMMUTE_ALLOWED=2 TELECOMMUTE_ALLOWED value
+ * @property {number} TELECOMMUTE_JOBS_EXCLUDED=3 TELECOMMUTE_JOBS_EXCLUDED value
+ */
+ LocationFilter.TelecommutePreference = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TELECOMMUTE_PREFERENCE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "TELECOMMUTE_EXCLUDED"] = 1;
+ values[valuesById[2] = "TELECOMMUTE_ALLOWED"] = 2;
+ values[valuesById[3] = "TELECOMMUTE_JOBS_EXCLUDED"] = 3;
+ return values;
+ })();
+
+ return LocationFilter;
+ })();
+
+ v4.CompensationFilter = (function() {
+
+ /**
+ * Properties of a CompensationFilter.
+ * @memberof google.cloud.talent.v4
+ * @interface ICompensationFilter
+ * @property {google.cloud.talent.v4.CompensationFilter.FilterType|null} [type] CompensationFilter type
+ * @property {Array.|null} [units] CompensationFilter units
+ * @property {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null} [range] CompensationFilter range
+ * @property {boolean|null} [includeJobsWithUnspecifiedCompensationRange] CompensationFilter includeJobsWithUnspecifiedCompensationRange
+ */
+
+ /**
+ * Constructs a new CompensationFilter.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CompensationFilter.
+ * @implements ICompensationFilter
+ * @constructor
+ * @param {google.cloud.talent.v4.ICompensationFilter=} [properties] Properties to set
+ */
+ function CompensationFilter(properties) {
+ this.units = [];
+ 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]];
+ }
+
+ /**
+ * CompensationFilter type.
+ * @member {google.cloud.talent.v4.CompensationFilter.FilterType} type
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @instance
+ */
+ CompensationFilter.prototype.type = 0;
+
+ /**
+ * CompensationFilter units.
+ * @member {Array.} units
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @instance
+ */
+ CompensationFilter.prototype.units = $util.emptyArray;
+
+ /**
+ * CompensationFilter range.
+ * @member {google.cloud.talent.v4.CompensationInfo.ICompensationRange|null|undefined} range
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @instance
+ */
+ CompensationFilter.prototype.range = null;
+
+ /**
+ * CompensationFilter includeJobsWithUnspecifiedCompensationRange.
+ * @member {boolean} includeJobsWithUnspecifiedCompensationRange
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @instance
+ */
+ CompensationFilter.prototype.includeJobsWithUnspecifiedCompensationRange = false;
+
+ /**
+ * Creates a new CompensationFilter instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationFilter=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CompensationFilter} CompensationFilter instance
+ */
+ CompensationFilter.create = function create(properties) {
+ return new CompensationFilter(properties);
+ };
+
+ /**
+ * Encodes the specified CompensationFilter message. Does not implicitly {@link google.cloud.talent.v4.CompensationFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationFilter} message CompensationFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);
+ if (message.units != null && message.units.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.units.length; ++i)
+ writer.int32(message.units[i]);
+ writer.ldelim();
+ }
+ if (message.range != null && Object.hasOwnProperty.call(message, "range"))
+ $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.encode(message.range, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.includeJobsWithUnspecifiedCompensationRange != null && Object.hasOwnProperty.call(message, "includeJobsWithUnspecifiedCompensationRange"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.includeJobsWithUnspecifiedCompensationRange);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompensationFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CompensationFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICompensationFilter} message CompensationFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompensationFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CompensationFilter} CompensationFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CompensationFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.units && message.units.length))
+ message.units = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.units.push(reader.int32());
+ } else
+ message.units.push(reader.int32());
+ break;
+ }
+ case 3: {
+ message.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.includeJobsWithUnspecifiedCompensationRange = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompensationFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CompensationFilter} CompensationFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompensationFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompensationFilter message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompensationFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.units != null && message.hasOwnProperty("units")) {
+ if (!Array.isArray(message.units))
+ return "units: array expected";
+ for (var i = 0; i < message.units.length; ++i)
+ switch (message.units[i]) {
+ default:
+ return "units: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ }
+ if (message.range != null && message.hasOwnProperty("range")) {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.verify(message.range);
+ if (error)
+ return "range." + error;
+ }
+ if (message.includeJobsWithUnspecifiedCompensationRange != null && message.hasOwnProperty("includeJobsWithUnspecifiedCompensationRange"))
+ if (typeof message.includeJobsWithUnspecifiedCompensationRange !== "boolean")
+ return "includeJobsWithUnspecifiedCompensationRange: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a CompensationFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CompensationFilter} CompensationFilter
+ */
+ CompensationFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CompensationFilter)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CompensationFilter();
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "FILTER_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "UNIT_ONLY":
+ case 1:
+ message.type = 1;
+ break;
+ case "UNIT_AND_AMOUNT":
+ case 2:
+ message.type = 2;
+ break;
+ case "ANNUALIZED_BASE_AMOUNT":
+ case 3:
+ message.type = 3;
+ break;
+ case "ANNUALIZED_TOTAL_AMOUNT":
+ case 4:
+ message.type = 4;
+ break;
+ }
+ if (object.units) {
+ if (!Array.isArray(object.units))
+ throw TypeError(".google.cloud.talent.v4.CompensationFilter.units: array expected");
+ message.units = [];
+ for (var i = 0; i < object.units.length; ++i)
+ switch (object.units[i]) {
+ default:
+ if (typeof object.units[i] === "number") {
+ message.units[i] = object.units[i];
+ break;
+ }
+ case "COMPENSATION_UNIT_UNSPECIFIED":
+ case 0:
+ message.units[i] = 0;
+ break;
+ case "HOURLY":
+ case 1:
+ message.units[i] = 1;
+ break;
+ case "DAILY":
+ case 2:
+ message.units[i] = 2;
+ break;
+ case "WEEKLY":
+ case 3:
+ message.units[i] = 3;
+ break;
+ case "MONTHLY":
+ case 4:
+ message.units[i] = 4;
+ break;
+ case "YEARLY":
+ case 5:
+ message.units[i] = 5;
+ break;
+ case "ONE_TIME":
+ case 6:
+ message.units[i] = 6;
+ break;
+ case "OTHER_COMPENSATION_UNIT":
+ case 7:
+ message.units[i] = 7;
+ break;
+ }
+ }
+ if (object.range != null) {
+ if (typeof object.range !== "object")
+ throw TypeError(".google.cloud.talent.v4.CompensationFilter.range: object expected");
+ message.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.fromObject(object.range);
+ }
+ if (object.includeJobsWithUnspecifiedCompensationRange != null)
+ message.includeJobsWithUnspecifiedCompensationRange = Boolean(object.includeJobsWithUnspecifiedCompensationRange);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompensationFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {google.cloud.talent.v4.CompensationFilter} message CompensationFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompensationFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.units = [];
+ if (options.defaults) {
+ object.type = options.enums === String ? "FILTER_TYPE_UNSPECIFIED" : 0;
+ object.range = null;
+ object.includeJobsWithUnspecifiedCompensationRange = false;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.talent.v4.CompensationFilter.FilterType[message.type] === undefined ? message.type : $root.google.cloud.talent.v4.CompensationFilter.FilterType[message.type] : message.type;
+ if (message.units && message.units.length) {
+ object.units = [];
+ for (var j = 0; j < message.units.length; ++j)
+ object.units[j] = options.enums === String ? $root.google.cloud.talent.v4.CompensationInfo.CompensationUnit[message.units[j]] === undefined ? message.units[j] : $root.google.cloud.talent.v4.CompensationInfo.CompensationUnit[message.units[j]] : message.units[j];
+ }
+ if (message.range != null && message.hasOwnProperty("range"))
+ object.range = $root.google.cloud.talent.v4.CompensationInfo.CompensationRange.toObject(message.range, options);
+ if (message.includeJobsWithUnspecifiedCompensationRange != null && message.hasOwnProperty("includeJobsWithUnspecifiedCompensationRange"))
+ object.includeJobsWithUnspecifiedCompensationRange = message.includeJobsWithUnspecifiedCompensationRange;
+ return object;
+ };
+
+ /**
+ * Converts this CompensationFilter to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompensationFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompensationFilter
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CompensationFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompensationFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CompensationFilter";
+ };
+
+ /**
+ * FilterType enum.
+ * @name google.cloud.talent.v4.CompensationFilter.FilterType
+ * @enum {number}
+ * @property {number} FILTER_TYPE_UNSPECIFIED=0 FILTER_TYPE_UNSPECIFIED value
+ * @property {number} UNIT_ONLY=1 UNIT_ONLY value
+ * @property {number} UNIT_AND_AMOUNT=2 UNIT_AND_AMOUNT value
+ * @property {number} ANNUALIZED_BASE_AMOUNT=3 ANNUALIZED_BASE_AMOUNT value
+ * @property {number} ANNUALIZED_TOTAL_AMOUNT=4 ANNUALIZED_TOTAL_AMOUNT value
+ */
+ CompensationFilter.FilterType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FILTER_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "UNIT_ONLY"] = 1;
+ values[valuesById[2] = "UNIT_AND_AMOUNT"] = 2;
+ values[valuesById[3] = "ANNUALIZED_BASE_AMOUNT"] = 3;
+ values[valuesById[4] = "ANNUALIZED_TOTAL_AMOUNT"] = 4;
+ return values;
+ })();
+
+ return CompensationFilter;
+ })();
+
+ v4.CommuteFilter = (function() {
+
+ /**
+ * Properties of a CommuteFilter.
+ * @memberof google.cloud.talent.v4
+ * @interface ICommuteFilter
+ * @property {google.cloud.talent.v4.CommuteMethod|null} [commuteMethod] CommuteFilter commuteMethod
+ * @property {google.type.ILatLng|null} [startCoordinates] CommuteFilter startCoordinates
+ * @property {google.protobuf.IDuration|null} [travelDuration] CommuteFilter travelDuration
+ * @property {boolean|null} [allowImpreciseAddresses] CommuteFilter allowImpreciseAddresses
+ * @property {google.cloud.talent.v4.CommuteFilter.RoadTraffic|null} [roadTraffic] CommuteFilter roadTraffic
+ * @property {google.type.ITimeOfDay|null} [departureTime] CommuteFilter departureTime
+ */
+
+ /**
+ * Constructs a new CommuteFilter.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a CommuteFilter.
+ * @implements ICommuteFilter
+ * @constructor
+ * @param {google.cloud.talent.v4.ICommuteFilter=} [properties] Properties to set
+ */
+ function CommuteFilter(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]];
+ }
+
+ /**
+ * CommuteFilter commuteMethod.
+ * @member {google.cloud.talent.v4.CommuteMethod} commuteMethod
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.commuteMethod = 0;
+
+ /**
+ * CommuteFilter startCoordinates.
+ * @member {google.type.ILatLng|null|undefined} startCoordinates
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.startCoordinates = null;
+
+ /**
+ * CommuteFilter travelDuration.
+ * @member {google.protobuf.IDuration|null|undefined} travelDuration
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.travelDuration = null;
+
+ /**
+ * CommuteFilter allowImpreciseAddresses.
+ * @member {boolean} allowImpreciseAddresses
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.allowImpreciseAddresses = false;
+
+ /**
+ * CommuteFilter roadTraffic.
+ * @member {google.cloud.talent.v4.CommuteFilter.RoadTraffic|null|undefined} roadTraffic
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.roadTraffic = null;
+
+ /**
+ * CommuteFilter departureTime.
+ * @member {google.type.ITimeOfDay|null|undefined} departureTime
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ CommuteFilter.prototype.departureTime = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CommuteFilter trafficOption.
+ * @member {"roadTraffic"|"departureTime"|undefined} trafficOption
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ */
+ Object.defineProperty(CommuteFilter.prototype, "trafficOption", {
+ get: $util.oneOfGetter($oneOfFields = ["roadTraffic", "departureTime"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CommuteFilter instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICommuteFilter=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.CommuteFilter} CommuteFilter instance
+ */
+ CommuteFilter.create = function create(properties) {
+ return new CommuteFilter(properties);
+ };
+
+ /**
+ * Encodes the specified CommuteFilter message. Does not implicitly {@link google.cloud.talent.v4.CommuteFilter.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICommuteFilter} message CommuteFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommuteFilter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.commuteMethod != null && Object.hasOwnProperty.call(message, "commuteMethod"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.commuteMethod);
+ if (message.startCoordinates != null && Object.hasOwnProperty.call(message, "startCoordinates"))
+ $root.google.type.LatLng.encode(message.startCoordinates, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.travelDuration != null && Object.hasOwnProperty.call(message, "travelDuration"))
+ $root.google.protobuf.Duration.encode(message.travelDuration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.allowImpreciseAddresses != null && Object.hasOwnProperty.call(message, "allowImpreciseAddresses"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.allowImpreciseAddresses);
+ if (message.roadTraffic != null && Object.hasOwnProperty.call(message, "roadTraffic"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.roadTraffic);
+ if (message.departureTime != null && Object.hasOwnProperty.call(message, "departureTime"))
+ $root.google.type.TimeOfDay.encode(message.departureTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CommuteFilter message, length delimited. Does not implicitly {@link google.cloud.talent.v4.CommuteFilter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {google.cloud.talent.v4.ICommuteFilter} message CommuteFilter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommuteFilter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.CommuteFilter} CommuteFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommuteFilter.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.CommuteFilter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.commuteMethod = reader.int32();
+ break;
+ }
+ case 2: {
+ message.startCoordinates = $root.google.type.LatLng.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.travelDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.allowImpreciseAddresses = reader.bool();
+ break;
+ }
+ case 5: {
+ message.roadTraffic = reader.int32();
+ break;
+ }
+ case 6: {
+ message.departureTime = $root.google.type.TimeOfDay.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CommuteFilter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.CommuteFilter} CommuteFilter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommuteFilter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CommuteFilter message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CommuteFilter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.commuteMethod != null && message.hasOwnProperty("commuteMethod"))
+ switch (message.commuteMethod) {
+ default:
+ return "commuteMethod: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.startCoordinates != null && message.hasOwnProperty("startCoordinates")) {
+ var error = $root.google.type.LatLng.verify(message.startCoordinates);
+ if (error)
+ return "startCoordinates." + error;
+ }
+ if (message.travelDuration != null && message.hasOwnProperty("travelDuration")) {
+ var error = $root.google.protobuf.Duration.verify(message.travelDuration);
+ if (error)
+ return "travelDuration." + error;
+ }
+ if (message.allowImpreciseAddresses != null && message.hasOwnProperty("allowImpreciseAddresses"))
+ if (typeof message.allowImpreciseAddresses !== "boolean")
+ return "allowImpreciseAddresses: boolean expected";
+ if (message.roadTraffic != null && message.hasOwnProperty("roadTraffic")) {
+ properties.trafficOption = 1;
+ switch (message.roadTraffic) {
+ default:
+ return "roadTraffic: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.departureTime != null && message.hasOwnProperty("departureTime")) {
+ if (properties.trafficOption === 1)
+ return "trafficOption: multiple values";
+ properties.trafficOption = 1;
+ {
+ var error = $root.google.type.TimeOfDay.verify(message.departureTime);
+ if (error)
+ return "departureTime." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CommuteFilter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.CommuteFilter} CommuteFilter
+ */
+ CommuteFilter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.CommuteFilter)
+ return object;
+ var message = new $root.google.cloud.talent.v4.CommuteFilter();
+ switch (object.commuteMethod) {
+ default:
+ if (typeof object.commuteMethod === "number") {
+ message.commuteMethod = object.commuteMethod;
+ break;
+ }
+ break;
+ case "COMMUTE_METHOD_UNSPECIFIED":
+ case 0:
+ message.commuteMethod = 0;
+ break;
+ case "DRIVING":
+ case 1:
+ message.commuteMethod = 1;
+ break;
+ case "TRANSIT":
+ case 2:
+ message.commuteMethod = 2;
+ break;
+ case "WALKING":
+ case 3:
+ message.commuteMethod = 3;
+ break;
+ case "CYCLING":
+ case 4:
+ message.commuteMethod = 4;
+ break;
+ case "TRANSIT_ACCESSIBLE":
+ case 5:
+ message.commuteMethod = 5;
+ break;
+ }
+ if (object.startCoordinates != null) {
+ if (typeof object.startCoordinates !== "object")
+ throw TypeError(".google.cloud.talent.v4.CommuteFilter.startCoordinates: object expected");
+ message.startCoordinates = $root.google.type.LatLng.fromObject(object.startCoordinates);
+ }
+ if (object.travelDuration != null) {
+ if (typeof object.travelDuration !== "object")
+ throw TypeError(".google.cloud.talent.v4.CommuteFilter.travelDuration: object expected");
+ message.travelDuration = $root.google.protobuf.Duration.fromObject(object.travelDuration);
+ }
+ if (object.allowImpreciseAddresses != null)
+ message.allowImpreciseAddresses = Boolean(object.allowImpreciseAddresses);
+ switch (object.roadTraffic) {
+ default:
+ if (typeof object.roadTraffic === "number") {
+ message.roadTraffic = object.roadTraffic;
+ break;
+ }
+ break;
+ case "ROAD_TRAFFIC_UNSPECIFIED":
+ case 0:
+ message.roadTraffic = 0;
+ break;
+ case "TRAFFIC_FREE":
+ case 1:
+ message.roadTraffic = 1;
+ break;
+ case "BUSY_HOUR":
+ case 2:
+ message.roadTraffic = 2;
+ break;
+ }
+ if (object.departureTime != null) {
+ if (typeof object.departureTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.CommuteFilter.departureTime: object expected");
+ message.departureTime = $root.google.type.TimeOfDay.fromObject(object.departureTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CommuteFilter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {google.cloud.talent.v4.CommuteFilter} message CommuteFilter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CommuteFilter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.commuteMethod = options.enums === String ? "COMMUTE_METHOD_UNSPECIFIED" : 0;
+ object.startCoordinates = null;
+ object.travelDuration = null;
+ object.allowImpreciseAddresses = false;
+ }
+ if (message.commuteMethod != null && message.hasOwnProperty("commuteMethod"))
+ object.commuteMethod = options.enums === String ? $root.google.cloud.talent.v4.CommuteMethod[message.commuteMethod] === undefined ? message.commuteMethod : $root.google.cloud.talent.v4.CommuteMethod[message.commuteMethod] : message.commuteMethod;
+ if (message.startCoordinates != null && message.hasOwnProperty("startCoordinates"))
+ object.startCoordinates = $root.google.type.LatLng.toObject(message.startCoordinates, options);
+ if (message.travelDuration != null && message.hasOwnProperty("travelDuration"))
+ object.travelDuration = $root.google.protobuf.Duration.toObject(message.travelDuration, options);
+ if (message.allowImpreciseAddresses != null && message.hasOwnProperty("allowImpreciseAddresses"))
+ object.allowImpreciseAddresses = message.allowImpreciseAddresses;
+ if (message.roadTraffic != null && message.hasOwnProperty("roadTraffic")) {
+ object.roadTraffic = options.enums === String ? $root.google.cloud.talent.v4.CommuteFilter.RoadTraffic[message.roadTraffic] === undefined ? message.roadTraffic : $root.google.cloud.talent.v4.CommuteFilter.RoadTraffic[message.roadTraffic] : message.roadTraffic;
+ if (options.oneofs)
+ object.trafficOption = "roadTraffic";
+ }
+ if (message.departureTime != null && message.hasOwnProperty("departureTime")) {
+ object.departureTime = $root.google.type.TimeOfDay.toObject(message.departureTime, options);
+ if (options.oneofs)
+ object.trafficOption = "departureTime";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CommuteFilter to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CommuteFilter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CommuteFilter
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.CommuteFilter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CommuteFilter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.CommuteFilter";
+ };
+
+ /**
+ * RoadTraffic enum.
+ * @name google.cloud.talent.v4.CommuteFilter.RoadTraffic
+ * @enum {number}
+ * @property {number} ROAD_TRAFFIC_UNSPECIFIED=0 ROAD_TRAFFIC_UNSPECIFIED value
+ * @property {number} TRAFFIC_FREE=1 TRAFFIC_FREE value
+ * @property {number} BUSY_HOUR=2 BUSY_HOUR value
+ */
+ CommuteFilter.RoadTraffic = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ROAD_TRAFFIC_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "TRAFFIC_FREE"] = 1;
+ values[valuesById[2] = "BUSY_HOUR"] = 2;
+ return values;
+ })();
+
+ return CommuteFilter;
+ })();
+
+ v4.HistogramQuery = (function() {
+
+ /**
+ * Properties of a HistogramQuery.
+ * @memberof google.cloud.talent.v4
+ * @interface IHistogramQuery
+ * @property {string|null} [histogramQuery] HistogramQuery histogramQuery
+ */
+
+ /**
+ * Constructs a new HistogramQuery.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a HistogramQuery.
+ * @implements IHistogramQuery
+ * @constructor
+ * @param {google.cloud.talent.v4.IHistogramQuery=} [properties] Properties to set
+ */
+ function HistogramQuery(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]];
+ }
+
+ /**
+ * HistogramQuery histogramQuery.
+ * @member {string} histogramQuery
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @instance
+ */
+ HistogramQuery.prototype.histogramQuery = "";
+
+ /**
+ * Creates a new HistogramQuery instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQuery=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.HistogramQuery} HistogramQuery instance
+ */
+ HistogramQuery.create = function create(properties) {
+ return new HistogramQuery(properties);
+ };
+
+ /**
+ * Encodes the specified HistogramQuery message. Does not implicitly {@link google.cloud.talent.v4.HistogramQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQuery} message HistogramQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HistogramQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.histogramQuery != null && Object.hasOwnProperty.call(message, "histogramQuery"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.histogramQuery);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HistogramQuery message, length delimited. Does not implicitly {@link google.cloud.talent.v4.HistogramQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQuery} message HistogramQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HistogramQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.HistogramQuery} HistogramQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HistogramQuery.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.HistogramQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.histogramQuery = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HistogramQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.HistogramQuery} HistogramQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HistogramQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HistogramQuery message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HistogramQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.histogramQuery != null && message.hasOwnProperty("histogramQuery"))
+ if (!$util.isString(message.histogramQuery))
+ return "histogramQuery: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a HistogramQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.HistogramQuery} HistogramQuery
+ */
+ HistogramQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.HistogramQuery)
+ return object;
+ var message = new $root.google.cloud.talent.v4.HistogramQuery();
+ if (object.histogramQuery != null)
+ message.histogramQuery = String(object.histogramQuery);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HistogramQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {google.cloud.talent.v4.HistogramQuery} message HistogramQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HistogramQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.histogramQuery = "";
+ if (message.histogramQuery != null && message.hasOwnProperty("histogramQuery"))
+ object.histogramQuery = message.histogramQuery;
+ return object;
+ };
+
+ /**
+ * Converts this HistogramQuery to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HistogramQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HistogramQuery
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.HistogramQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HistogramQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.HistogramQuery";
+ };
+
+ return HistogramQuery;
+ })();
+
+ v4.HistogramQueryResult = (function() {
+
+ /**
+ * Properties of a HistogramQueryResult.
+ * @memberof google.cloud.talent.v4
+ * @interface IHistogramQueryResult
+ * @property {string|null} [histogramQuery] HistogramQueryResult histogramQuery
+ * @property {Object.|null} [histogram] HistogramQueryResult histogram
+ */
+
+ /**
+ * Constructs a new HistogramQueryResult.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a HistogramQueryResult.
+ * @implements IHistogramQueryResult
+ * @constructor
+ * @param {google.cloud.talent.v4.IHistogramQueryResult=} [properties] Properties to set
+ */
+ function HistogramQueryResult(properties) {
+ this.histogram = {};
+ 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]];
+ }
+
+ /**
+ * HistogramQueryResult histogramQuery.
+ * @member {string} histogramQuery
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @instance
+ */
+ HistogramQueryResult.prototype.histogramQuery = "";
+
+ /**
+ * HistogramQueryResult histogram.
+ * @member {Object.} histogram
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @instance
+ */
+ HistogramQueryResult.prototype.histogram = $util.emptyObject;
+
+ /**
+ * Creates a new HistogramQueryResult instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQueryResult=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.HistogramQueryResult} HistogramQueryResult instance
+ */
+ HistogramQueryResult.create = function create(properties) {
+ return new HistogramQueryResult(properties);
+ };
+
+ /**
+ * Encodes the specified HistogramQueryResult message. Does not implicitly {@link google.cloud.talent.v4.HistogramQueryResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQueryResult} message HistogramQueryResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HistogramQueryResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.histogramQuery != null && Object.hasOwnProperty.call(message, "histogramQuery"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.histogramQuery);
+ if (message.histogram != null && Object.hasOwnProperty.call(message, "histogram"))
+ for (var keys = Object.keys(message.histogram), 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 0 =*/16).int64(message.histogram[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HistogramQueryResult message, length delimited. Does not implicitly {@link google.cloud.talent.v4.HistogramQueryResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {google.cloud.talent.v4.IHistogramQueryResult} message HistogramQueryResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HistogramQueryResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.HistogramQueryResult} HistogramQueryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HistogramQueryResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.HistogramQueryResult(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.histogramQuery = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.histogram === $util.emptyObject)
+ message.histogram = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = 0;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.int64();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.histogram[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HistogramQueryResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.HistogramQueryResult} HistogramQueryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HistogramQueryResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HistogramQueryResult message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HistogramQueryResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.histogramQuery != null && message.hasOwnProperty("histogramQuery"))
+ if (!$util.isString(message.histogramQuery))
+ return "histogramQuery: string expected";
+ if (message.histogram != null && message.hasOwnProperty("histogram")) {
+ if (!$util.isObject(message.histogram))
+ return "histogram: object expected";
+ var key = Object.keys(message.histogram);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isInteger(message.histogram[key[i]]) && !(message.histogram[key[i]] && $util.isInteger(message.histogram[key[i]].low) && $util.isInteger(message.histogram[key[i]].high)))
+ return "histogram: integer|Long{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a HistogramQueryResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.HistogramQueryResult} HistogramQueryResult
+ */
+ HistogramQueryResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.HistogramQueryResult)
+ return object;
+ var message = new $root.google.cloud.talent.v4.HistogramQueryResult();
+ if (object.histogramQuery != null)
+ message.histogramQuery = String(object.histogramQuery);
+ if (object.histogram) {
+ if (typeof object.histogram !== "object")
+ throw TypeError(".google.cloud.talent.v4.HistogramQueryResult.histogram: object expected");
+ message.histogram = {};
+ for (var keys = Object.keys(object.histogram), i = 0; i < keys.length; ++i)
+ if ($util.Long)
+ (message.histogram[keys[i]] = $util.Long.fromValue(object.histogram[keys[i]])).unsigned = false;
+ else if (typeof object.histogram[keys[i]] === "string")
+ message.histogram[keys[i]] = parseInt(object.histogram[keys[i]], 10);
+ else if (typeof object.histogram[keys[i]] === "number")
+ message.histogram[keys[i]] = object.histogram[keys[i]];
+ else if (typeof object.histogram[keys[i]] === "object")
+ message.histogram[keys[i]] = new $util.LongBits(object.histogram[keys[i]].low >>> 0, object.histogram[keys[i]].high >>> 0).toNumber();
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HistogramQueryResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {google.cloud.talent.v4.HistogramQueryResult} message HistogramQueryResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HistogramQueryResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.histogram = {};
+ if (options.defaults)
+ object.histogramQuery = "";
+ if (message.histogramQuery != null && message.hasOwnProperty("histogramQuery"))
+ object.histogramQuery = message.histogramQuery;
+ var keys2;
+ if (message.histogram && (keys2 = Object.keys(message.histogram)).length) {
+ object.histogram = {};
+ for (var j = 0; j < keys2.length; ++j)
+ if (typeof message.histogram[keys2[j]] === "number")
+ object.histogram[keys2[j]] = options.longs === String ? String(message.histogram[keys2[j]]) : message.histogram[keys2[j]];
+ else
+ object.histogram[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.histogram[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.histogram[keys2[j]].low >>> 0, message.histogram[keys2[j]].high >>> 0).toNumber() : message.histogram[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this HistogramQueryResult to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HistogramQueryResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HistogramQueryResult
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.HistogramQueryResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HistogramQueryResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.HistogramQueryResult";
+ };
+
+ return HistogramQueryResult;
+ })();
+
+ v4.Job = (function() {
+
+ /**
+ * Properties of a Job.
+ * @memberof google.cloud.talent.v4
+ * @interface IJob
+ * @property {string|null} [name] Job name
+ * @property {string|null} [company] Job company
+ * @property {string|null} [requisitionId] Job requisitionId
+ * @property {string|null} [title] Job title
+ * @property {string|null} [description] Job description
+ * @property {Array.|null} [addresses] Job addresses
+ * @property {google.cloud.talent.v4.Job.IApplicationInfo|null} [applicationInfo] Job applicationInfo
+ * @property {Array.|null} [jobBenefits] Job jobBenefits
+ * @property {google.cloud.talent.v4.ICompensationInfo|null} [compensationInfo] Job compensationInfo
+ * @property {Object.|null} [customAttributes] Job customAttributes
+ * @property {Array.|null} [degreeTypes] Job degreeTypes
+ * @property {string|null} [department] Job department
+ * @property {Array.|null} [employmentTypes] Job employmentTypes
+ * @property {string|null} [incentives] Job incentives
+ * @property {string|null} [languageCode] Job languageCode
+ * @property {google.cloud.talent.v4.JobLevel|null} [jobLevel] Job jobLevel
+ * @property {number|null} [promotionValue] Job promotionValue
+ * @property {string|null} [qualifications] Job qualifications
+ * @property {string|null} [responsibilities] Job responsibilities
+ * @property {google.cloud.talent.v4.PostingRegion|null} [postingRegion] Job postingRegion
+ * @property {google.cloud.talent.v4.Visibility|null} [visibility] Job visibility
+ * @property {google.protobuf.ITimestamp|null} [jobStartTime] Job jobStartTime
+ * @property {google.protobuf.ITimestamp|null} [jobEndTime] Job jobEndTime
+ * @property {google.protobuf.ITimestamp|null} [postingPublishTime] Job postingPublishTime
+ * @property {google.protobuf.ITimestamp|null} [postingExpireTime] Job postingExpireTime
+ * @property {google.protobuf.ITimestamp|null} [postingCreateTime] Job postingCreateTime
+ * @property {google.protobuf.ITimestamp|null} [postingUpdateTime] Job postingUpdateTime
+ * @property {string|null} [companyDisplayName] Job companyDisplayName
+ * @property {google.cloud.talent.v4.Job.IDerivedInfo|null} [derivedInfo] Job derivedInfo
+ * @property {google.cloud.talent.v4.Job.IProcessingOptions|null} [processingOptions] Job processingOptions
+ */
+
+ /**
+ * Constructs a new Job.
+ * @memberof google.cloud.talent.v4
+ * @classdesc Represents a Job.
+ * @implements IJob
+ * @constructor
+ * @param {google.cloud.talent.v4.IJob=} [properties] Properties to set
+ */
+ function Job(properties) {
+ this.addresses = [];
+ this.jobBenefits = [];
+ this.customAttributes = {};
+ this.degreeTypes = [];
+ this.employmentTypes = [];
+ 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]];
+ }
+
+ /**
+ * Job name.
+ * @member {string} name
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.name = "";
+
+ /**
+ * Job company.
+ * @member {string} company
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.company = "";
+
+ /**
+ * Job requisitionId.
+ * @member {string} requisitionId
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.requisitionId = "";
+
+ /**
+ * Job title.
+ * @member {string} title
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.title = "";
+
+ /**
+ * Job description.
+ * @member {string} description
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.description = "";
+
+ /**
+ * Job addresses.
+ * @member {Array.} addresses
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.addresses = $util.emptyArray;
+
+ /**
+ * Job applicationInfo.
+ * @member {google.cloud.talent.v4.Job.IApplicationInfo|null|undefined} applicationInfo
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.applicationInfo = null;
+
+ /**
+ * Job jobBenefits.
+ * @member {Array.} jobBenefits
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.jobBenefits = $util.emptyArray;
+
+ /**
+ * Job compensationInfo.
+ * @member {google.cloud.talent.v4.ICompensationInfo|null|undefined} compensationInfo
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.compensationInfo = null;
+
+ /**
+ * Job customAttributes.
+ * @member {Object.} customAttributes
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.customAttributes = $util.emptyObject;
+
+ /**
+ * Job degreeTypes.
+ * @member {Array.} degreeTypes
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.degreeTypes = $util.emptyArray;
+
+ /**
+ * Job department.
+ * @member {string} department
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.department = "";
+
+ /**
+ * Job employmentTypes.
+ * @member {Array.} employmentTypes
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.employmentTypes = $util.emptyArray;
+
+ /**
+ * Job incentives.
+ * @member {string} incentives
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.incentives = "";
+
+ /**
+ * Job languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.languageCode = "";
+
+ /**
+ * Job jobLevel.
+ * @member {google.cloud.talent.v4.JobLevel} jobLevel
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.jobLevel = 0;
+
+ /**
+ * Job promotionValue.
+ * @member {number} promotionValue
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.promotionValue = 0;
+
+ /**
+ * Job qualifications.
+ * @member {string} qualifications
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.qualifications = "";
+
+ /**
+ * Job responsibilities.
+ * @member {string} responsibilities
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.responsibilities = "";
+
+ /**
+ * Job postingRegion.
+ * @member {google.cloud.talent.v4.PostingRegion} postingRegion
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.postingRegion = 0;
+
+ /**
+ * Job visibility.
+ * @member {google.cloud.talent.v4.Visibility} visibility
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.visibility = 0;
+
+ /**
+ * Job jobStartTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} jobStartTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.jobStartTime = null;
+
+ /**
+ * Job jobEndTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} jobEndTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.jobEndTime = null;
+
+ /**
+ * Job postingPublishTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} postingPublishTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.postingPublishTime = null;
+
+ /**
+ * Job postingExpireTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} postingExpireTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.postingExpireTime = null;
+
+ /**
+ * Job postingCreateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} postingCreateTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.postingCreateTime = null;
+
+ /**
+ * Job postingUpdateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} postingUpdateTime
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.postingUpdateTime = null;
+
+ /**
+ * Job companyDisplayName.
+ * @member {string} companyDisplayName
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.companyDisplayName = "";
+
+ /**
+ * Job derivedInfo.
+ * @member {google.cloud.talent.v4.Job.IDerivedInfo|null|undefined} derivedInfo
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.derivedInfo = null;
+
+ /**
+ * Job processingOptions.
+ * @member {google.cloud.talent.v4.Job.IProcessingOptions|null|undefined} processingOptions
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ */
+ Job.prototype.processingOptions = null;
+
+ /**
+ * Creates a new Job instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {google.cloud.talent.v4.IJob=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Job} Job instance
+ */
+ Job.create = function create(properties) {
+ return new Job(properties);
+ };
+
+ /**
+ * Encodes the specified Job message. Does not implicitly {@link google.cloud.talent.v4.Job.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {google.cloud.talent.v4.IJob} message Job message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Job.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.company != null && Object.hasOwnProperty.call(message, "company"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.company);
+ if (message.requisitionId != null && Object.hasOwnProperty.call(message, "requisitionId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.requisitionId);
+ if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.title);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.addresses != null && message.addresses.length)
+ for (var i = 0; i < message.addresses.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.addresses[i]);
+ if (message.applicationInfo != null && Object.hasOwnProperty.call(message, "applicationInfo"))
+ $root.google.cloud.talent.v4.Job.ApplicationInfo.encode(message.applicationInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.jobBenefits != null && message.jobBenefits.length) {
+ writer.uint32(/* id 8, wireType 2 =*/66).fork();
+ for (var i = 0; i < message.jobBenefits.length; ++i)
+ writer.int32(message.jobBenefits[i]);
+ writer.ldelim();
+ }
+ if (message.compensationInfo != null && Object.hasOwnProperty.call(message, "compensationInfo"))
+ $root.google.cloud.talent.v4.CompensationInfo.encode(message.compensationInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.customAttributes != null && Object.hasOwnProperty.call(message, "customAttributes"))
+ for (var keys = Object.keys(message.customAttributes), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.talent.v4.CustomAttribute.encode(message.customAttributes[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.degreeTypes != null && message.degreeTypes.length) {
+ writer.uint32(/* id 11, wireType 2 =*/90).fork();
+ for (var i = 0; i < message.degreeTypes.length; ++i)
+ writer.int32(message.degreeTypes[i]);
+ writer.ldelim();
+ }
+ if (message.department != null && Object.hasOwnProperty.call(message, "department"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.department);
+ if (message.employmentTypes != null && message.employmentTypes.length) {
+ writer.uint32(/* id 13, wireType 2 =*/106).fork();
+ for (var i = 0; i < message.employmentTypes.length; ++i)
+ writer.int32(message.employmentTypes[i]);
+ writer.ldelim();
+ }
+ if (message.incentives != null && Object.hasOwnProperty.call(message, "incentives"))
+ writer.uint32(/* id 14, wireType 2 =*/114).string(message.incentives);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.languageCode);
+ if (message.jobLevel != null && Object.hasOwnProperty.call(message, "jobLevel"))
+ writer.uint32(/* id 16, wireType 0 =*/128).int32(message.jobLevel);
+ if (message.promotionValue != null && Object.hasOwnProperty.call(message, "promotionValue"))
+ writer.uint32(/* id 17, wireType 0 =*/136).int32(message.promotionValue);
+ if (message.qualifications != null && Object.hasOwnProperty.call(message, "qualifications"))
+ writer.uint32(/* id 18, wireType 2 =*/146).string(message.qualifications);
+ if (message.responsibilities != null && Object.hasOwnProperty.call(message, "responsibilities"))
+ writer.uint32(/* id 19, wireType 2 =*/154).string(message.responsibilities);
+ if (message.postingRegion != null && Object.hasOwnProperty.call(message, "postingRegion"))
+ writer.uint32(/* id 20, wireType 0 =*/160).int32(message.postingRegion);
+ if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility"))
+ writer.uint32(/* id 21, wireType 0 =*/168).int32(message.visibility);
+ if (message.jobStartTime != null && Object.hasOwnProperty.call(message, "jobStartTime"))
+ $root.google.protobuf.Timestamp.encode(message.jobStartTime, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ if (message.jobEndTime != null && Object.hasOwnProperty.call(message, "jobEndTime"))
+ $root.google.protobuf.Timestamp.encode(message.jobEndTime, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.postingPublishTime != null && Object.hasOwnProperty.call(message, "postingPublishTime"))
+ $root.google.protobuf.Timestamp.encode(message.postingPublishTime, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();
+ if (message.postingExpireTime != null && Object.hasOwnProperty.call(message, "postingExpireTime"))
+ $root.google.protobuf.Timestamp.encode(message.postingExpireTime, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.postingCreateTime != null && Object.hasOwnProperty.call(message, "postingCreateTime"))
+ $root.google.protobuf.Timestamp.encode(message.postingCreateTime, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
+ if (message.postingUpdateTime != null && Object.hasOwnProperty.call(message, "postingUpdateTime"))
+ $root.google.protobuf.Timestamp.encode(message.postingUpdateTime, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();
+ if (message.companyDisplayName != null && Object.hasOwnProperty.call(message, "companyDisplayName"))
+ writer.uint32(/* id 28, wireType 2 =*/226).string(message.companyDisplayName);
+ if (message.derivedInfo != null && Object.hasOwnProperty.call(message, "derivedInfo"))
+ $root.google.cloud.talent.v4.Job.DerivedInfo.encode(message.derivedInfo, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim();
+ if (message.processingOptions != null && Object.hasOwnProperty.call(message, "processingOptions"))
+ $root.google.cloud.talent.v4.Job.ProcessingOptions.encode(message.processingOptions, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Job message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {google.cloud.talent.v4.IJob} message Job message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Job.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Job message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Job} Job
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Job.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Job(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.company = reader.string();
+ break;
+ }
+ case 3: {
+ message.requisitionId = reader.string();
+ break;
+ }
+ case 4: {
+ message.title = reader.string();
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ if (!(message.addresses && message.addresses.length))
+ message.addresses = [];
+ message.addresses.push(reader.string());
+ break;
+ }
+ case 7: {
+ message.applicationInfo = $root.google.cloud.talent.v4.Job.ApplicationInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ if (!(message.jobBenefits && message.jobBenefits.length))
+ message.jobBenefits = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.jobBenefits.push(reader.int32());
+ } else
+ message.jobBenefits.push(reader.int32());
+ break;
+ }
+ case 9: {
+ message.compensationInfo = $root.google.cloud.talent.v4.CompensationInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 10: {
+ if (message.customAttributes === $util.emptyObject)
+ message.customAttributes = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.talent.v4.CustomAttribute.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.customAttributes[key] = value;
+ break;
+ }
+ case 11: {
+ if (!(message.degreeTypes && message.degreeTypes.length))
+ message.degreeTypes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.degreeTypes.push(reader.int32());
+ } else
+ message.degreeTypes.push(reader.int32());
+ break;
+ }
+ case 12: {
+ message.department = reader.string();
+ break;
+ }
+ case 13: {
+ if (!(message.employmentTypes && message.employmentTypes.length))
+ message.employmentTypes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.employmentTypes.push(reader.int32());
+ } else
+ message.employmentTypes.push(reader.int32());
+ break;
+ }
+ case 14: {
+ message.incentives = reader.string();
+ break;
+ }
+ case 15: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 16: {
+ message.jobLevel = reader.int32();
+ break;
+ }
+ case 17: {
+ message.promotionValue = reader.int32();
+ break;
+ }
+ case 18: {
+ message.qualifications = reader.string();
+ break;
+ }
+ case 19: {
+ message.responsibilities = reader.string();
+ break;
+ }
+ case 20: {
+ message.postingRegion = reader.int32();
+ break;
+ }
+ case 21: {
+ message.visibility = reader.int32();
+ break;
+ }
+ case 22: {
+ message.jobStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 23: {
+ message.jobEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 24: {
+ message.postingPublishTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 25: {
+ message.postingExpireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 26: {
+ message.postingCreateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 27: {
+ message.postingUpdateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 28: {
+ message.companyDisplayName = reader.string();
+ break;
+ }
+ case 29: {
+ message.derivedInfo = $root.google.cloud.talent.v4.Job.DerivedInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 30: {
+ message.processingOptions = $root.google.cloud.talent.v4.Job.ProcessingOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Job message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Job} Job
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Job.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Job message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Job.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.company != null && message.hasOwnProperty("company"))
+ if (!$util.isString(message.company))
+ return "company: string expected";
+ if (message.requisitionId != null && message.hasOwnProperty("requisitionId"))
+ if (!$util.isString(message.requisitionId))
+ return "requisitionId: string expected";
+ if (message.title != null && message.hasOwnProperty("title"))
+ if (!$util.isString(message.title))
+ return "title: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.addresses != null && message.hasOwnProperty("addresses")) {
+ if (!Array.isArray(message.addresses))
+ return "addresses: array expected";
+ for (var i = 0; i < message.addresses.length; ++i)
+ if (!$util.isString(message.addresses[i]))
+ return "addresses: string[] expected";
+ }
+ if (message.applicationInfo != null && message.hasOwnProperty("applicationInfo")) {
+ var error = $root.google.cloud.talent.v4.Job.ApplicationInfo.verify(message.applicationInfo);
+ if (error)
+ return "applicationInfo." + error;
+ }
+ if (message.jobBenefits != null && message.hasOwnProperty("jobBenefits")) {
+ if (!Array.isArray(message.jobBenefits))
+ return "jobBenefits: array expected";
+ for (var i = 0; i < message.jobBenefits.length; ++i)
+ switch (message.jobBenefits[i]) {
+ default:
+ return "jobBenefits: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ break;
+ }
+ }
+ if (message.compensationInfo != null && message.hasOwnProperty("compensationInfo")) {
+ var error = $root.google.cloud.talent.v4.CompensationInfo.verify(message.compensationInfo);
+ if (error)
+ return "compensationInfo." + error;
+ }
+ if (message.customAttributes != null && message.hasOwnProperty("customAttributes")) {
+ if (!$util.isObject(message.customAttributes))
+ return "customAttributes: object expected";
+ var key = Object.keys(message.customAttributes);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.talent.v4.CustomAttribute.verify(message.customAttributes[key[i]]);
+ if (error)
+ return "customAttributes." + error;
+ }
+ }
+ if (message.degreeTypes != null && message.hasOwnProperty("degreeTypes")) {
+ if (!Array.isArray(message.degreeTypes))
+ return "degreeTypes: array expected";
+ for (var i = 0; i < message.degreeTypes.length; ++i)
+ switch (message.degreeTypes[i]) {
+ default:
+ return "degreeTypes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ }
+ if (message.department != null && message.hasOwnProperty("department"))
+ if (!$util.isString(message.department))
+ return "department: string expected";
+ if (message.employmentTypes != null && message.hasOwnProperty("employmentTypes")) {
+ if (!Array.isArray(message.employmentTypes))
+ return "employmentTypes: array expected";
+ for (var i = 0; i < message.employmentTypes.length; ++i)
+ switch (message.employmentTypes[i]) {
+ default:
+ return "employmentTypes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ break;
+ }
+ }
+ if (message.incentives != null && message.hasOwnProperty("incentives"))
+ if (!$util.isString(message.incentives))
+ return "incentives: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.jobLevel != null && message.hasOwnProperty("jobLevel"))
+ switch (message.jobLevel) {
+ default:
+ return "jobLevel: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.promotionValue != null && message.hasOwnProperty("promotionValue"))
+ if (!$util.isInteger(message.promotionValue))
+ return "promotionValue: integer expected";
+ if (message.qualifications != null && message.hasOwnProperty("qualifications"))
+ if (!$util.isString(message.qualifications))
+ return "qualifications: string expected";
+ if (message.responsibilities != null && message.hasOwnProperty("responsibilities"))
+ if (!$util.isString(message.responsibilities))
+ return "responsibilities: string expected";
+ if (message.postingRegion != null && message.hasOwnProperty("postingRegion"))
+ switch (message.postingRegion) {
+ default:
+ return "postingRegion: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ switch (message.visibility) {
+ default:
+ return "visibility: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.jobStartTime != null && message.hasOwnProperty("jobStartTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.jobStartTime);
+ if (error)
+ return "jobStartTime." + error;
+ }
+ if (message.jobEndTime != null && message.hasOwnProperty("jobEndTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.jobEndTime);
+ if (error)
+ return "jobEndTime." + error;
+ }
+ if (message.postingPublishTime != null && message.hasOwnProperty("postingPublishTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.postingPublishTime);
+ if (error)
+ return "postingPublishTime." + error;
+ }
+ if (message.postingExpireTime != null && message.hasOwnProperty("postingExpireTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.postingExpireTime);
+ if (error)
+ return "postingExpireTime." + error;
+ }
+ if (message.postingCreateTime != null && message.hasOwnProperty("postingCreateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.postingCreateTime);
+ if (error)
+ return "postingCreateTime." + error;
+ }
+ if (message.postingUpdateTime != null && message.hasOwnProperty("postingUpdateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.postingUpdateTime);
+ if (error)
+ return "postingUpdateTime." + error;
+ }
+ if (message.companyDisplayName != null && message.hasOwnProperty("companyDisplayName"))
+ if (!$util.isString(message.companyDisplayName))
+ return "companyDisplayName: string expected";
+ if (message.derivedInfo != null && message.hasOwnProperty("derivedInfo")) {
+ var error = $root.google.cloud.talent.v4.Job.DerivedInfo.verify(message.derivedInfo);
+ if (error)
+ return "derivedInfo." + error;
+ }
+ if (message.processingOptions != null && message.hasOwnProperty("processingOptions")) {
+ var error = $root.google.cloud.talent.v4.Job.ProcessingOptions.verify(message.processingOptions);
+ if (error)
+ return "processingOptions." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Job message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Job} Job
+ */
+ Job.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Job)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Job();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.company != null)
+ message.company = String(object.company);
+ if (object.requisitionId != null)
+ message.requisitionId = String(object.requisitionId);
+ if (object.title != null)
+ message.title = String(object.title);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.addresses) {
+ if (!Array.isArray(object.addresses))
+ throw TypeError(".google.cloud.talent.v4.Job.addresses: array expected");
+ message.addresses = [];
+ for (var i = 0; i < object.addresses.length; ++i)
+ message.addresses[i] = String(object.addresses[i]);
+ }
+ if (object.applicationInfo != null) {
+ if (typeof object.applicationInfo !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.applicationInfo: object expected");
+ message.applicationInfo = $root.google.cloud.talent.v4.Job.ApplicationInfo.fromObject(object.applicationInfo);
+ }
+ if (object.jobBenefits) {
+ if (!Array.isArray(object.jobBenefits))
+ throw TypeError(".google.cloud.talent.v4.Job.jobBenefits: array expected");
+ message.jobBenefits = [];
+ for (var i = 0; i < object.jobBenefits.length; ++i)
+ switch (object.jobBenefits[i]) {
+ default:
+ if (typeof object.jobBenefits[i] === "number") {
+ message.jobBenefits[i] = object.jobBenefits[i];
+ break;
+ }
+ case "JOB_BENEFIT_UNSPECIFIED":
+ case 0:
+ message.jobBenefits[i] = 0;
+ break;
+ case "CHILD_CARE":
+ case 1:
+ message.jobBenefits[i] = 1;
+ break;
+ case "DENTAL":
+ case 2:
+ message.jobBenefits[i] = 2;
+ break;
+ case "DOMESTIC_PARTNER":
+ case 3:
+ message.jobBenefits[i] = 3;
+ break;
+ case "FLEXIBLE_HOURS":
+ case 4:
+ message.jobBenefits[i] = 4;
+ break;
+ case "MEDICAL":
+ case 5:
+ message.jobBenefits[i] = 5;
+ break;
+ case "LIFE_INSURANCE":
+ case 6:
+ message.jobBenefits[i] = 6;
+ break;
+ case "PARENTAL_LEAVE":
+ case 7:
+ message.jobBenefits[i] = 7;
+ break;
+ case "RETIREMENT_PLAN":
+ case 8:
+ message.jobBenefits[i] = 8;
+ break;
+ case "SICK_DAYS":
+ case 9:
+ message.jobBenefits[i] = 9;
+ break;
+ case "VACATION":
+ case 10:
+ message.jobBenefits[i] = 10;
+ break;
+ case "VISION":
+ case 11:
+ message.jobBenefits[i] = 11;
+ break;
+ }
+ }
+ if (object.compensationInfo != null) {
+ if (typeof object.compensationInfo !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.compensationInfo: object expected");
+ message.compensationInfo = $root.google.cloud.talent.v4.CompensationInfo.fromObject(object.compensationInfo);
+ }
+ if (object.customAttributes) {
+ if (typeof object.customAttributes !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.customAttributes: object expected");
+ message.customAttributes = {};
+ for (var keys = Object.keys(object.customAttributes), i = 0; i < keys.length; ++i) {
+ if (typeof object.customAttributes[keys[i]] !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.customAttributes: object expected");
+ message.customAttributes[keys[i]] = $root.google.cloud.talent.v4.CustomAttribute.fromObject(object.customAttributes[keys[i]]);
+ }
+ }
+ if (object.degreeTypes) {
+ if (!Array.isArray(object.degreeTypes))
+ throw TypeError(".google.cloud.talent.v4.Job.degreeTypes: array expected");
+ message.degreeTypes = [];
+ for (var i = 0; i < object.degreeTypes.length; ++i)
+ switch (object.degreeTypes[i]) {
+ default:
+ if (typeof object.degreeTypes[i] === "number") {
+ message.degreeTypes[i] = object.degreeTypes[i];
+ break;
+ }
+ case "DEGREE_TYPE_UNSPECIFIED":
+ case 0:
+ message.degreeTypes[i] = 0;
+ break;
+ case "PRIMARY_EDUCATION":
+ case 1:
+ message.degreeTypes[i] = 1;
+ break;
+ case "LOWER_SECONDARY_EDUCATION":
+ case 2:
+ message.degreeTypes[i] = 2;
+ break;
+ case "UPPER_SECONDARY_EDUCATION":
+ case 3:
+ message.degreeTypes[i] = 3;
+ break;
+ case "ADULT_REMEDIAL_EDUCATION":
+ case 4:
+ message.degreeTypes[i] = 4;
+ break;
+ case "ASSOCIATES_OR_EQUIVALENT":
+ case 5:
+ message.degreeTypes[i] = 5;
+ break;
+ case "BACHELORS_OR_EQUIVALENT":
+ case 6:
+ message.degreeTypes[i] = 6;
+ break;
+ case "MASTERS_OR_EQUIVALENT":
+ case 7:
+ message.degreeTypes[i] = 7;
+ break;
+ case "DOCTORAL_OR_EQUIVALENT":
+ case 8:
+ message.degreeTypes[i] = 8;
+ break;
+ }
+ }
+ if (object.department != null)
+ message.department = String(object.department);
+ if (object.employmentTypes) {
+ if (!Array.isArray(object.employmentTypes))
+ throw TypeError(".google.cloud.talent.v4.Job.employmentTypes: array expected");
+ message.employmentTypes = [];
+ for (var i = 0; i < object.employmentTypes.length; ++i)
+ switch (object.employmentTypes[i]) {
+ default:
+ if (typeof object.employmentTypes[i] === "number") {
+ message.employmentTypes[i] = object.employmentTypes[i];
+ break;
+ }
+ case "EMPLOYMENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.employmentTypes[i] = 0;
+ break;
+ case "FULL_TIME":
+ case 1:
+ message.employmentTypes[i] = 1;
+ break;
+ case "PART_TIME":
+ case 2:
+ message.employmentTypes[i] = 2;
+ break;
+ case "CONTRACTOR":
+ case 3:
+ message.employmentTypes[i] = 3;
+ break;
+ case "CONTRACT_TO_HIRE":
+ case 4:
+ message.employmentTypes[i] = 4;
+ break;
+ case "TEMPORARY":
+ case 5:
+ message.employmentTypes[i] = 5;
+ break;
+ case "INTERN":
+ case 6:
+ message.employmentTypes[i] = 6;
+ break;
+ case "VOLUNTEER":
+ case 7:
+ message.employmentTypes[i] = 7;
+ break;
+ case "PER_DIEM":
+ case 8:
+ message.employmentTypes[i] = 8;
+ break;
+ case "FLY_IN_FLY_OUT":
+ case 9:
+ message.employmentTypes[i] = 9;
+ break;
+ case "OTHER_EMPLOYMENT_TYPE":
+ case 10:
+ message.employmentTypes[i] = 10;
+ break;
+ }
+ }
+ if (object.incentives != null)
+ message.incentives = String(object.incentives);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ switch (object.jobLevel) {
+ default:
+ if (typeof object.jobLevel === "number") {
+ message.jobLevel = object.jobLevel;
+ break;
+ }
+ break;
+ case "JOB_LEVEL_UNSPECIFIED":
+ case 0:
+ message.jobLevel = 0;
+ break;
+ case "ENTRY_LEVEL":
+ case 1:
+ message.jobLevel = 1;
+ break;
+ case "EXPERIENCED":
+ case 2:
+ message.jobLevel = 2;
+ break;
+ case "MANAGER":
+ case 3:
+ message.jobLevel = 3;
+ break;
+ case "DIRECTOR":
+ case 4:
+ message.jobLevel = 4;
+ break;
+ case "EXECUTIVE":
+ case 5:
+ message.jobLevel = 5;
+ break;
+ }
+ if (object.promotionValue != null)
+ message.promotionValue = object.promotionValue | 0;
+ if (object.qualifications != null)
+ message.qualifications = String(object.qualifications);
+ if (object.responsibilities != null)
+ message.responsibilities = String(object.responsibilities);
+ switch (object.postingRegion) {
+ default:
+ if (typeof object.postingRegion === "number") {
+ message.postingRegion = object.postingRegion;
+ break;
+ }
+ break;
+ case "POSTING_REGION_UNSPECIFIED":
+ case 0:
+ message.postingRegion = 0;
+ break;
+ case "ADMINISTRATIVE_AREA":
+ case 1:
+ message.postingRegion = 1;
+ break;
+ case "NATION":
+ case 2:
+ message.postingRegion = 2;
+ break;
+ case "TELECOMMUTE":
+ case 3:
+ message.postingRegion = 3;
+ break;
+ }
+ switch (object.visibility) {
+ default:
+ if (typeof object.visibility === "number") {
+ message.visibility = object.visibility;
+ break;
+ }
+ break;
+ case "VISIBILITY_UNSPECIFIED":
+ case 0:
+ message.visibility = 0;
+ break;
+ case "ACCOUNT_ONLY":
+ case 1:
+ message.visibility = 1;
+ break;
+ case "SHARED_WITH_GOOGLE":
+ case 2:
+ message.visibility = 2;
+ break;
+ case "SHARED_WITH_PUBLIC":
+ case 3:
+ message.visibility = 3;
+ break;
+ }
+ if (object.jobStartTime != null) {
+ if (typeof object.jobStartTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.jobStartTime: object expected");
+ message.jobStartTime = $root.google.protobuf.Timestamp.fromObject(object.jobStartTime);
+ }
+ if (object.jobEndTime != null) {
+ if (typeof object.jobEndTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.jobEndTime: object expected");
+ message.jobEndTime = $root.google.protobuf.Timestamp.fromObject(object.jobEndTime);
+ }
+ if (object.postingPublishTime != null) {
+ if (typeof object.postingPublishTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.postingPublishTime: object expected");
+ message.postingPublishTime = $root.google.protobuf.Timestamp.fromObject(object.postingPublishTime);
+ }
+ if (object.postingExpireTime != null) {
+ if (typeof object.postingExpireTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.postingExpireTime: object expected");
+ message.postingExpireTime = $root.google.protobuf.Timestamp.fromObject(object.postingExpireTime);
+ }
+ if (object.postingCreateTime != null) {
+ if (typeof object.postingCreateTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.postingCreateTime: object expected");
+ message.postingCreateTime = $root.google.protobuf.Timestamp.fromObject(object.postingCreateTime);
+ }
+ if (object.postingUpdateTime != null) {
+ if (typeof object.postingUpdateTime !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.postingUpdateTime: object expected");
+ message.postingUpdateTime = $root.google.protobuf.Timestamp.fromObject(object.postingUpdateTime);
+ }
+ if (object.companyDisplayName != null)
+ message.companyDisplayName = String(object.companyDisplayName);
+ if (object.derivedInfo != null) {
+ if (typeof object.derivedInfo !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.derivedInfo: object expected");
+ message.derivedInfo = $root.google.cloud.talent.v4.Job.DerivedInfo.fromObject(object.derivedInfo);
+ }
+ if (object.processingOptions != null) {
+ if (typeof object.processingOptions !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.processingOptions: object expected");
+ message.processingOptions = $root.google.cloud.talent.v4.Job.ProcessingOptions.fromObject(object.processingOptions);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Job message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {google.cloud.talent.v4.Job} message Job
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Job.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.addresses = [];
+ object.jobBenefits = [];
+ object.degreeTypes = [];
+ object.employmentTypes = [];
+ }
+ if (options.objects || options.defaults)
+ object.customAttributes = {};
+ if (options.defaults) {
+ object.name = "";
+ object.company = "";
+ object.requisitionId = "";
+ object.title = "";
+ object.description = "";
+ object.applicationInfo = null;
+ object.compensationInfo = null;
+ object.department = "";
+ object.incentives = "";
+ object.languageCode = "";
+ object.jobLevel = options.enums === String ? "JOB_LEVEL_UNSPECIFIED" : 0;
+ object.promotionValue = 0;
+ object.qualifications = "";
+ object.responsibilities = "";
+ object.postingRegion = options.enums === String ? "POSTING_REGION_UNSPECIFIED" : 0;
+ object.visibility = options.enums === String ? "VISIBILITY_UNSPECIFIED" : 0;
+ object.jobStartTime = null;
+ object.jobEndTime = null;
+ object.postingPublishTime = null;
+ object.postingExpireTime = null;
+ object.postingCreateTime = null;
+ object.postingUpdateTime = null;
+ object.companyDisplayName = "";
+ object.derivedInfo = null;
+ object.processingOptions = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.company != null && message.hasOwnProperty("company"))
+ object.company = message.company;
+ if (message.requisitionId != null && message.hasOwnProperty("requisitionId"))
+ object.requisitionId = message.requisitionId;
+ if (message.title != null && message.hasOwnProperty("title"))
+ object.title = message.title;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.addresses && message.addresses.length) {
+ object.addresses = [];
+ for (var j = 0; j < message.addresses.length; ++j)
+ object.addresses[j] = message.addresses[j];
+ }
+ if (message.applicationInfo != null && message.hasOwnProperty("applicationInfo"))
+ object.applicationInfo = $root.google.cloud.talent.v4.Job.ApplicationInfo.toObject(message.applicationInfo, options);
+ if (message.jobBenefits && message.jobBenefits.length) {
+ object.jobBenefits = [];
+ for (var j = 0; j < message.jobBenefits.length; ++j)
+ object.jobBenefits[j] = options.enums === String ? $root.google.cloud.talent.v4.JobBenefit[message.jobBenefits[j]] === undefined ? message.jobBenefits[j] : $root.google.cloud.talent.v4.JobBenefit[message.jobBenefits[j]] : message.jobBenefits[j];
+ }
+ if (message.compensationInfo != null && message.hasOwnProperty("compensationInfo"))
+ object.compensationInfo = $root.google.cloud.talent.v4.CompensationInfo.toObject(message.compensationInfo, options);
+ var keys2;
+ if (message.customAttributes && (keys2 = Object.keys(message.customAttributes)).length) {
+ object.customAttributes = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.customAttributes[keys2[j]] = $root.google.cloud.talent.v4.CustomAttribute.toObject(message.customAttributes[keys2[j]], options);
+ }
+ if (message.degreeTypes && message.degreeTypes.length) {
+ object.degreeTypes = [];
+ for (var j = 0; j < message.degreeTypes.length; ++j)
+ object.degreeTypes[j] = options.enums === String ? $root.google.cloud.talent.v4.DegreeType[message.degreeTypes[j]] === undefined ? message.degreeTypes[j] : $root.google.cloud.talent.v4.DegreeType[message.degreeTypes[j]] : message.degreeTypes[j];
+ }
+ if (message.department != null && message.hasOwnProperty("department"))
+ object.department = message.department;
+ if (message.employmentTypes && message.employmentTypes.length) {
+ object.employmentTypes = [];
+ for (var j = 0; j < message.employmentTypes.length; ++j)
+ object.employmentTypes[j] = options.enums === String ? $root.google.cloud.talent.v4.EmploymentType[message.employmentTypes[j]] === undefined ? message.employmentTypes[j] : $root.google.cloud.talent.v4.EmploymentType[message.employmentTypes[j]] : message.employmentTypes[j];
+ }
+ if (message.incentives != null && message.hasOwnProperty("incentives"))
+ object.incentives = message.incentives;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.jobLevel != null && message.hasOwnProperty("jobLevel"))
+ object.jobLevel = options.enums === String ? $root.google.cloud.talent.v4.JobLevel[message.jobLevel] === undefined ? message.jobLevel : $root.google.cloud.talent.v4.JobLevel[message.jobLevel] : message.jobLevel;
+ if (message.promotionValue != null && message.hasOwnProperty("promotionValue"))
+ object.promotionValue = message.promotionValue;
+ if (message.qualifications != null && message.hasOwnProperty("qualifications"))
+ object.qualifications = message.qualifications;
+ if (message.responsibilities != null && message.hasOwnProperty("responsibilities"))
+ object.responsibilities = message.responsibilities;
+ if (message.postingRegion != null && message.hasOwnProperty("postingRegion"))
+ object.postingRegion = options.enums === String ? $root.google.cloud.talent.v4.PostingRegion[message.postingRegion] === undefined ? message.postingRegion : $root.google.cloud.talent.v4.PostingRegion[message.postingRegion] : message.postingRegion;
+ if (message.visibility != null && message.hasOwnProperty("visibility"))
+ object.visibility = options.enums === String ? $root.google.cloud.talent.v4.Visibility[message.visibility] === undefined ? message.visibility : $root.google.cloud.talent.v4.Visibility[message.visibility] : message.visibility;
+ if (message.jobStartTime != null && message.hasOwnProperty("jobStartTime"))
+ object.jobStartTime = $root.google.protobuf.Timestamp.toObject(message.jobStartTime, options);
+ if (message.jobEndTime != null && message.hasOwnProperty("jobEndTime"))
+ object.jobEndTime = $root.google.protobuf.Timestamp.toObject(message.jobEndTime, options);
+ if (message.postingPublishTime != null && message.hasOwnProperty("postingPublishTime"))
+ object.postingPublishTime = $root.google.protobuf.Timestamp.toObject(message.postingPublishTime, options);
+ if (message.postingExpireTime != null && message.hasOwnProperty("postingExpireTime"))
+ object.postingExpireTime = $root.google.protobuf.Timestamp.toObject(message.postingExpireTime, options);
+ if (message.postingCreateTime != null && message.hasOwnProperty("postingCreateTime"))
+ object.postingCreateTime = $root.google.protobuf.Timestamp.toObject(message.postingCreateTime, options);
+ if (message.postingUpdateTime != null && message.hasOwnProperty("postingUpdateTime"))
+ object.postingUpdateTime = $root.google.protobuf.Timestamp.toObject(message.postingUpdateTime, options);
+ if (message.companyDisplayName != null && message.hasOwnProperty("companyDisplayName"))
+ object.companyDisplayName = message.companyDisplayName;
+ if (message.derivedInfo != null && message.hasOwnProperty("derivedInfo"))
+ object.derivedInfo = $root.google.cloud.talent.v4.Job.DerivedInfo.toObject(message.derivedInfo, options);
+ if (message.processingOptions != null && message.hasOwnProperty("processingOptions"))
+ object.processingOptions = $root.google.cloud.talent.v4.Job.ProcessingOptions.toObject(message.processingOptions, options);
+ return object;
+ };
+
+ /**
+ * Converts this Job to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Job
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Job.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Job
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Job
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Job.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Job";
+ };
+
+ Job.ApplicationInfo = (function() {
+
+ /**
+ * Properties of an ApplicationInfo.
+ * @memberof google.cloud.talent.v4.Job
+ * @interface IApplicationInfo
+ * @property {Array.|null} [emails] ApplicationInfo emails
+ * @property {string|null} [instruction] ApplicationInfo instruction
+ * @property {Array.|null} [uris] ApplicationInfo uris
+ */
+
+ /**
+ * Constructs a new ApplicationInfo.
+ * @memberof google.cloud.talent.v4.Job
+ * @classdesc Represents an ApplicationInfo.
+ * @implements IApplicationInfo
+ * @constructor
+ * @param {google.cloud.talent.v4.Job.IApplicationInfo=} [properties] Properties to set
+ */
+ function ApplicationInfo(properties) {
+ this.emails = [];
+ this.uris = [];
+ 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]];
+ }
+
+ /**
+ * ApplicationInfo emails.
+ * @member {Array.} emails
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @instance
+ */
+ ApplicationInfo.prototype.emails = $util.emptyArray;
+
+ /**
+ * ApplicationInfo instruction.
+ * @member {string} instruction
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @instance
+ */
+ ApplicationInfo.prototype.instruction = "";
+
+ /**
+ * ApplicationInfo uris.
+ * @member {Array.} uris
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @instance
+ */
+ ApplicationInfo.prototype.uris = $util.emptyArray;
+
+ /**
+ * Creates a new ApplicationInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IApplicationInfo=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Job.ApplicationInfo} ApplicationInfo instance
+ */
+ ApplicationInfo.create = function create(properties) {
+ return new ApplicationInfo(properties);
+ };
+
+ /**
+ * Encodes the specified ApplicationInfo message. Does not implicitly {@link google.cloud.talent.v4.Job.ApplicationInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IApplicationInfo} message ApplicationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ApplicationInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.emails != null && message.emails.length)
+ for (var i = 0; i < message.emails.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.emails[i]);
+ if (message.instruction != null && Object.hasOwnProperty.call(message, "instruction"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.instruction);
+ if (message.uris != null && message.uris.length)
+ for (var i = 0; i < message.uris.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.uris[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ApplicationInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.ApplicationInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IApplicationInfo} message ApplicationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ApplicationInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Job.ApplicationInfo} ApplicationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ApplicationInfo.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Job.ApplicationInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.emails && message.emails.length))
+ message.emails = [];
+ message.emails.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.instruction = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.uris && message.uris.length))
+ message.uris = [];
+ message.uris.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ApplicationInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Job.ApplicationInfo} ApplicationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ApplicationInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ApplicationInfo message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ApplicationInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.emails != null && message.hasOwnProperty("emails")) {
+ if (!Array.isArray(message.emails))
+ return "emails: array expected";
+ for (var i = 0; i < message.emails.length; ++i)
+ if (!$util.isString(message.emails[i]))
+ return "emails: string[] expected";
+ }
+ if (message.instruction != null && message.hasOwnProperty("instruction"))
+ if (!$util.isString(message.instruction))
+ return "instruction: string expected";
+ if (message.uris != null && message.hasOwnProperty("uris")) {
+ if (!Array.isArray(message.uris))
+ return "uris: array expected";
+ for (var i = 0; i < message.uris.length; ++i)
+ if (!$util.isString(message.uris[i]))
+ return "uris: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ApplicationInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Job.ApplicationInfo} ApplicationInfo
+ */
+ ApplicationInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Job.ApplicationInfo)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Job.ApplicationInfo();
+ if (object.emails) {
+ if (!Array.isArray(object.emails))
+ throw TypeError(".google.cloud.talent.v4.Job.ApplicationInfo.emails: array expected");
+ message.emails = [];
+ for (var i = 0; i < object.emails.length; ++i)
+ message.emails[i] = String(object.emails[i]);
+ }
+ if (object.instruction != null)
+ message.instruction = String(object.instruction);
+ if (object.uris) {
+ if (!Array.isArray(object.uris))
+ throw TypeError(".google.cloud.talent.v4.Job.ApplicationInfo.uris: array expected");
+ message.uris = [];
+ for (var i = 0; i < object.uris.length; ++i)
+ message.uris[i] = String(object.uris[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ApplicationInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.ApplicationInfo} message ApplicationInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ApplicationInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.emails = [];
+ object.uris = [];
+ }
+ if (options.defaults)
+ object.instruction = "";
+ if (message.emails && message.emails.length) {
+ object.emails = [];
+ for (var j = 0; j < message.emails.length; ++j)
+ object.emails[j] = message.emails[j];
+ }
+ if (message.instruction != null && message.hasOwnProperty("instruction"))
+ object.instruction = message.instruction;
+ if (message.uris && message.uris.length) {
+ object.uris = [];
+ for (var j = 0; j < message.uris.length; ++j)
+ object.uris[j] = message.uris[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ApplicationInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ApplicationInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ApplicationInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Job.ApplicationInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ApplicationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Job.ApplicationInfo";
+ };
+
+ return ApplicationInfo;
+ })();
+
+ Job.DerivedInfo = (function() {
+
+ /**
+ * Properties of a DerivedInfo.
+ * @memberof google.cloud.talent.v4.Job
+ * @interface IDerivedInfo
+ * @property {Array.|null} [locations] DerivedInfo locations
+ * @property {Array.|null} [jobCategories] DerivedInfo jobCategories
+ */
+
+ /**
+ * Constructs a new DerivedInfo.
+ * @memberof google.cloud.talent.v4.Job
+ * @classdesc Represents a DerivedInfo.
+ * @implements IDerivedInfo
+ * @constructor
+ * @param {google.cloud.talent.v4.Job.IDerivedInfo=} [properties] Properties to set
+ */
+ function DerivedInfo(properties) {
+ this.locations = [];
+ this.jobCategories = [];
+ 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]];
+ }
+
+ /**
+ * DerivedInfo locations.
+ * @member {Array.} locations
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @instance
+ */
+ DerivedInfo.prototype.locations = $util.emptyArray;
+
+ /**
+ * DerivedInfo jobCategories.
+ * @member {Array.} jobCategories
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @instance
+ */
+ DerivedInfo.prototype.jobCategories = $util.emptyArray;
+
+ /**
+ * Creates a new DerivedInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IDerivedInfo=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Job.DerivedInfo} DerivedInfo instance
+ */
+ DerivedInfo.create = function create(properties) {
+ return new DerivedInfo(properties);
+ };
+
+ /**
+ * Encodes the specified DerivedInfo message. Does not implicitly {@link google.cloud.talent.v4.Job.DerivedInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IDerivedInfo} message DerivedInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DerivedInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.locations != null && message.locations.length)
+ for (var i = 0; i < message.locations.length; ++i)
+ $root.google.cloud.talent.v4.Location.encode(message.locations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.jobCategories != null && message.jobCategories.length) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork();
+ for (var i = 0; i < message.jobCategories.length; ++i)
+ writer.int32(message.jobCategories[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DerivedInfo message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.DerivedInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.IDerivedInfo} message DerivedInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DerivedInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Job.DerivedInfo} DerivedInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DerivedInfo.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Job.DerivedInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.locations && message.locations.length))
+ message.locations = [];
+ message.locations.push($root.google.cloud.talent.v4.Location.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.jobCategories && message.jobCategories.length))
+ message.jobCategories = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.jobCategories.push(reader.int32());
+ } else
+ message.jobCategories.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DerivedInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Job.DerivedInfo} DerivedInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DerivedInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DerivedInfo message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DerivedInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.locations != null && message.hasOwnProperty("locations")) {
+ if (!Array.isArray(message.locations))
+ return "locations: array expected";
+ for (var i = 0; i < message.locations.length; ++i) {
+ var error = $root.google.cloud.talent.v4.Location.verify(message.locations[i]);
+ if (error)
+ return "locations." + error;
+ }
+ }
+ if (message.jobCategories != null && message.hasOwnProperty("jobCategories")) {
+ if (!Array.isArray(message.jobCategories))
+ return "jobCategories: array expected";
+ for (var i = 0; i < message.jobCategories.length; ++i)
+ switch (message.jobCategories[i]) {
+ default:
+ return "jobCategories: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 21:
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ case 30:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DerivedInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Job.DerivedInfo} DerivedInfo
+ */
+ DerivedInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Job.DerivedInfo)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Job.DerivedInfo();
+ if (object.locations) {
+ if (!Array.isArray(object.locations))
+ throw TypeError(".google.cloud.talent.v4.Job.DerivedInfo.locations: array expected");
+ message.locations = [];
+ for (var i = 0; i < object.locations.length; ++i) {
+ if (typeof object.locations[i] !== "object")
+ throw TypeError(".google.cloud.talent.v4.Job.DerivedInfo.locations: object expected");
+ message.locations[i] = $root.google.cloud.talent.v4.Location.fromObject(object.locations[i]);
+ }
+ }
+ if (object.jobCategories) {
+ if (!Array.isArray(object.jobCategories))
+ throw TypeError(".google.cloud.talent.v4.Job.DerivedInfo.jobCategories: array expected");
+ message.jobCategories = [];
+ for (var i = 0; i < object.jobCategories.length; ++i)
+ switch (object.jobCategories[i]) {
+ default:
+ if (typeof object.jobCategories[i] === "number") {
+ message.jobCategories[i] = object.jobCategories[i];
+ break;
+ }
+ case "JOB_CATEGORY_UNSPECIFIED":
+ case 0:
+ message.jobCategories[i] = 0;
+ break;
+ case "ACCOUNTING_AND_FINANCE":
+ case 1:
+ message.jobCategories[i] = 1;
+ break;
+ case "ADMINISTRATIVE_AND_OFFICE":
+ case 2:
+ message.jobCategories[i] = 2;
+ break;
+ case "ADVERTISING_AND_MARKETING":
+ case 3:
+ message.jobCategories[i] = 3;
+ break;
+ case "ANIMAL_CARE":
+ case 4:
+ message.jobCategories[i] = 4;
+ break;
+ case "ART_FASHION_AND_DESIGN":
+ case 5:
+ message.jobCategories[i] = 5;
+ break;
+ case "BUSINESS_OPERATIONS":
+ case 6:
+ message.jobCategories[i] = 6;
+ break;
+ case "CLEANING_AND_FACILITIES":
+ case 7:
+ message.jobCategories[i] = 7;
+ break;
+ case "COMPUTER_AND_IT":
+ case 8:
+ message.jobCategories[i] = 8;
+ break;
+ case "CONSTRUCTION":
+ case 9:
+ message.jobCategories[i] = 9;
+ break;
+ case "CUSTOMER_SERVICE":
+ case 10:
+ message.jobCategories[i] = 10;
+ break;
+ case "EDUCATION":
+ case 11:
+ message.jobCategories[i] = 11;
+ break;
+ case "ENTERTAINMENT_AND_TRAVEL":
+ case 12:
+ message.jobCategories[i] = 12;
+ break;
+ case "FARMING_AND_OUTDOORS":
+ case 13:
+ message.jobCategories[i] = 13;
+ break;
+ case "HEALTHCARE":
+ case 14:
+ message.jobCategories[i] = 14;
+ break;
+ case "HUMAN_RESOURCES":
+ case 15:
+ message.jobCategories[i] = 15;
+ break;
+ case "INSTALLATION_MAINTENANCE_AND_REPAIR":
+ case 16:
+ message.jobCategories[i] = 16;
+ break;
+ case "LEGAL":
+ case 17:
+ message.jobCategories[i] = 17;
+ break;
+ case "MANAGEMENT":
+ case 18:
+ message.jobCategories[i] = 18;
+ break;
+ case "MANUFACTURING_AND_WAREHOUSE":
+ case 19:
+ message.jobCategories[i] = 19;
+ break;
+ case "MEDIA_COMMUNICATIONS_AND_WRITING":
+ case 20:
+ message.jobCategories[i] = 20;
+ break;
+ case "OIL_GAS_AND_MINING":
+ case 21:
+ message.jobCategories[i] = 21;
+ break;
+ case "PERSONAL_CARE_AND_SERVICES":
+ case 22:
+ message.jobCategories[i] = 22;
+ break;
+ case "PROTECTIVE_SERVICES":
+ case 23:
+ message.jobCategories[i] = 23;
+ break;
+ case "REAL_ESTATE":
+ case 24:
+ message.jobCategories[i] = 24;
+ break;
+ case "RESTAURANT_AND_HOSPITALITY":
+ case 25:
+ message.jobCategories[i] = 25;
+ break;
+ case "SALES_AND_RETAIL":
+ case 26:
+ message.jobCategories[i] = 26;
+ break;
+ case "SCIENCE_AND_ENGINEERING":
+ case 27:
+ message.jobCategories[i] = 27;
+ break;
+ case "SOCIAL_SERVICES_AND_NON_PROFIT":
+ case 28:
+ message.jobCategories[i] = 28;
+ break;
+ case "SPORTS_FITNESS_AND_RECREATION":
+ case 29:
+ message.jobCategories[i] = 29;
+ break;
+ case "TRANSPORTATION_AND_LOGISTICS":
+ case 30:
+ message.jobCategories[i] = 30;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DerivedInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {google.cloud.talent.v4.Job.DerivedInfo} message DerivedInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DerivedInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.locations = [];
+ object.jobCategories = [];
+ }
+ if (message.locations && message.locations.length) {
+ object.locations = [];
+ for (var j = 0; j < message.locations.length; ++j)
+ object.locations[j] = $root.google.cloud.talent.v4.Location.toObject(message.locations[j], options);
+ }
+ if (message.jobCategories && message.jobCategories.length) {
+ object.jobCategories = [];
+ for (var j = 0; j < message.jobCategories.length; ++j)
+ object.jobCategories[j] = options.enums === String ? $root.google.cloud.talent.v4.JobCategory[message.jobCategories[j]] === undefined ? message.jobCategories[j] : $root.google.cloud.talent.v4.JobCategory[message.jobCategories[j]] : message.jobCategories[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DerivedInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DerivedInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DerivedInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.talent.v4.Job.DerivedInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DerivedInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.talent.v4.Job.DerivedInfo";
+ };
+
+ return DerivedInfo;
+ })();
+
+ Job.ProcessingOptions = (function() {
+
+ /**
+ * Properties of a ProcessingOptions.
+ * @memberof google.cloud.talent.v4.Job
+ * @interface IProcessingOptions
+ * @property {boolean|null} [disableStreetAddressResolution] ProcessingOptions disableStreetAddressResolution
+ * @property {google.cloud.talent.v4.HtmlSanitization|null} [htmlSanitization] ProcessingOptions htmlSanitization
+ */
+
+ /**
+ * Constructs a new ProcessingOptions.
+ * @memberof google.cloud.talent.v4.Job
+ * @classdesc Represents a ProcessingOptions.
+ * @implements IProcessingOptions
+ * @constructor
+ * @param {google.cloud.talent.v4.Job.IProcessingOptions=} [properties] Properties to set
+ */
+ function ProcessingOptions(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]];
+ }
+
+ /**
+ * ProcessingOptions disableStreetAddressResolution.
+ * @member {boolean} disableStreetAddressResolution
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @instance
+ */
+ ProcessingOptions.prototype.disableStreetAddressResolution = false;
+
+ /**
+ * ProcessingOptions htmlSanitization.
+ * @member {google.cloud.talent.v4.HtmlSanitization} htmlSanitization
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @instance
+ */
+ ProcessingOptions.prototype.htmlSanitization = 0;
+
+ /**
+ * Creates a new ProcessingOptions instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {google.cloud.talent.v4.Job.IProcessingOptions=} [properties] Properties to set
+ * @returns {google.cloud.talent.v4.Job.ProcessingOptions} ProcessingOptions instance
+ */
+ ProcessingOptions.create = function create(properties) {
+ return new ProcessingOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ProcessingOptions message. Does not implicitly {@link google.cloud.talent.v4.Job.ProcessingOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {google.cloud.talent.v4.Job.IProcessingOptions} message ProcessingOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProcessingOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.disableStreetAddressResolution != null && Object.hasOwnProperty.call(message, "disableStreetAddressResolution"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.disableStreetAddressResolution);
+ if (message.htmlSanitization != null && Object.hasOwnProperty.call(message, "htmlSanitization"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.htmlSanitization);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProcessingOptions message, length delimited. Does not implicitly {@link google.cloud.talent.v4.Job.ProcessingOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {google.cloud.talent.v4.Job.IProcessingOptions} message ProcessingOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProcessingOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.talent.v4.Job.ProcessingOptions} ProcessingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProcessingOptions.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.talent.v4.Job.ProcessingOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.disableStreetAddressResolution = reader.bool();
+ break;
+ }
+ case 2: {
+ message.htmlSanitization = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProcessingOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.talent.v4.Job.ProcessingOptions} ProcessingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProcessingOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProcessingOptions message.
+ * @function verify
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProcessingOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.disableStreetAddressResolution != null && message.hasOwnProperty("disableStreetAddressResolution"))
+ if (typeof message.disableStreetAddressResolution !== "boolean")
+ return "disableStreetAddressResolution: boolean expected";
+ if (message.htmlSanitization != null && message.hasOwnProperty("htmlSanitization"))
+ switch (message.htmlSanitization) {
+ default:
+ return "htmlSanitization: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ProcessingOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.talent.v4.Job.ProcessingOptions} ProcessingOptions
+ */
+ ProcessingOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.talent.v4.Job.ProcessingOptions)
+ return object;
+ var message = new $root.google.cloud.talent.v4.Job.ProcessingOptions();
+ if (object.disableStreetAddressResolution != null)
+ message.disableStreetAddressResolution = Boolean(object.disableStreetAddressResolution);
+ switch (object.htmlSanitization) {
+ default:
+ if (typeof object.htmlSanitization === "number") {
+ message.htmlSanitization = object.htmlSanitization;
+ break;
+ }
+ break;
+ case "HTML_SANITIZATION_UNSPECIFIED":
+ case 0:
+ message.htmlSanitization = 0;
+ break;
+ case "HTML_SANITIZATION_DISABLED":
+ case 1:
+ message.htmlSanitization = 1;
+ break;
+ case "SIMPLE_FORMATTING_ONLY":
+ case 2:
+ message.htmlSanitization = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProcessingOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.talent.v4.Job.ProcessingOptions
+ * @static
+ * @param {google.cloud.talent.v4.Job.ProcessingOptions} message ProcessingOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.