diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 42cb38ab746..c28f38cad8e 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -86,6 +86,7 @@
"packages/google-cloud-redis": "3.1.5",
"packages/google-cloud-resourcemanager": "4.1.3",
"packages/google-cloud-resourcesettings": "2.0.3",
+ "packages/google-cloud-retail": "2.1.1",
"packages/google-cloud-scheduler": "3.0.5",
"packages/google-cloud-secretmanager": "4.1.4",
"packages/google-cloud-security-privateca": "4.1.2",
diff --git a/packages/google-cloud-retail/.OwlBot.yaml b/packages/google-cloud-retail/.OwlBot.yaml
new file mode 100644
index 00000000000..a83221d6d9e
--- /dev/null
+++ b/packages/google-cloud-retail/.OwlBot.yaml
@@ -0,0 +1,21 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/retail/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-retail/$1
+
diff --git a/packages/google-cloud-retail/.eslintignore b/packages/google-cloud-retail/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-retail/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-retail/.eslintrc.json b/packages/google-cloud-retail/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-retail/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-retail/.gitattributes b/packages/google-cloud-retail/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-retail/.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-retail/.gitignore b/packages/google-cloud-retail/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-retail/.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-retail/.jsdoc.js b/packages/google-cloud-retail/.jsdoc.js
new file mode 100644
index 00000000000..1972981017b
--- /dev/null
+++ b/packages/google-cloud-retail/.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/retail',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-retail/.mocharc.js b/packages/google-cloud-retail/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-retail/.mocharc.js
@@ -0,0 +1,29 @@
+// 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.
+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-retail/.nycrc b/packages/google-cloud-retail/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-retail/.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-retail/.prettierignore b/packages/google-cloud-retail/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-retail/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-retail/.prettierrc.js b/packages/google-cloud-retail/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-retail/.prettierrc.js
@@ -0,0 +1,17 @@
+// 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.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-retail/.repo-metadata.json b/packages/google-cloud-retail/.repo-metadata.json
new file mode 100644
index 00000000000..22035054335
--- /dev/null
+++ b/packages/google-cloud-retail/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/retail/latest",
+ "api_id": "retail.googleapis.com",
+ "distribution_name": "@google-cloud/retail",
+ "release_level": "stable",
+ "default_version": "v2beta",
+ "language": "nodejs",
+ "name_pretty": "Retail API",
+ "repo": "googleapis/google-cloud-node",
+ "product_documentation": "https://cloud.google.com/recommendations/",
+ "requires_billing": true,
+ "name": "retail",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "api_shortname": "retail",
+ "library_type": "GAPIC_AUTO",
+ "codeowner_team": "@googleapis/cloud-retail-team"
+}
diff --git a/packages/google-cloud-retail/CHANGELOG.md b/packages/google-cloud-retail/CHANGELOG.md
new file mode 100644
index 00000000000..cfd45fa220e
--- /dev/null
+++ b/packages/google-cloud-retail/CHANGELOG.md
@@ -0,0 +1,227 @@
+# Changelog
+
+## [2.1.1](https://github.com/googleapis/nodejs-retail/compare/v2.1.0...v2.1.1) (2022-11-16)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#221](https://github.com/googleapis/nodejs-retail/issues/221)) ([5eb17fc](https://github.com/googleapis/nodejs-retail/commit/5eb17fc9c340cacbb8627442c58597015a2d4134))
+
+## [2.1.0](https://github.com/googleapis/nodejs-retail/compare/v2.0.0...v2.1.0) (2022-09-20)
+
+
+### Features
+
+* add local inventories info to the Product resource ([166a195](https://github.com/googleapis/nodejs-retail/commit/166a195d3d8b2d858418a6058ee72c5dd9036463))
+* allow adding labels in search requests ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow adding labels in search requests ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow disabling spell check in search requests ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow disabling spell check in search requests ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow enabling recommendation filtering on custom attributes ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow enabling recommendation filtering on custom attributes ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow returning min/max values on search numeric facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow returning min/max values on search numeric facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow skiping default branch protection when doing product full import ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow to return min/max values on search numeric facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow to use serving configs as an alias of placements ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow using serving configs as an alias of placements ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* allow using serving configs as an alias of placements ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* Model Services, BatchRemoveCatalogAttributes, ExactSearchableOption ([be33b58](https://github.com/googleapis/nodejs-retail/commit/be33b5817ce85ca245fc08a9598c7c1b48cb84fc))
+* new model service to manage recommendation models ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* release AttributesConfig APIs to v2 version ([166a195](https://github.com/googleapis/nodejs-retail/commit/166a195d3d8b2d858418a6058ee72c5dd9036463))
+* release CompletionConfig APIs to v2 version ([166a195](https://github.com/googleapis/nodejs-retail/commit/166a195d3d8b2d858418a6058ee72c5dd9036463))
+* release Control and ServingConfig serivces to v2 version ([166a195](https://github.com/googleapis/nodejs-retail/commit/166a195d3d8b2d858418a6058ee72c5dd9036463))
+* return output BigQuery table on product / event export response ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* return output BigQuery table on product / event export response ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* support case insensitive match on search facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* support case insensitive match on search facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* support case insensitive match on search facets ([b20cb74](https://github.com/googleapis/nodejs-retail/commit/b20cb7417e6e8daf3745d75224b2ea87a21680a1))
+* Support regapic LRO ([c074f6c](https://github.com/googleapis/nodejs-retail/commit/c074f6c8125d16e375c6c0bc8bae6b2e84ed56f9))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#206](https://github.com/googleapis/nodejs-retail/issues/206)) ([166a195](https://github.com/googleapis/nodejs-retail/commit/166a195d3d8b2d858418a6058ee72c5dd9036463))
+* Better support for fallback mode ([#204](https://github.com/googleapis/nodejs-retail/issues/204)) ([4256e26](https://github.com/googleapis/nodejs-retail/commit/4256e2690e9d66a9083a13962b8f9f706e4db710))
+* Change import long to require ([#205](https://github.com/googleapis/nodejs-retail/issues/205)) ([9acff3d](https://github.com/googleapis/nodejs-retail/commit/9acff3daf2571f5a087f85882ed50b23be52d4e8))
+* **deps:** Update dependency @google-cloud/storage to v6 ([#185](https://github.com/googleapis/nodejs-retail/issues/185)) ([d0e7c2f](https://github.com/googleapis/nodejs-retail/commit/d0e7c2fdd9306c8b162a4b1bd676937f60bcd1cb))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-retail/issues/1553)) ([#208](https://github.com/googleapis/nodejs-retail/issues/208)) ([a079b82](https://github.com/googleapis/nodejs-retail/commit/a079b82805b9550d9a7772ec620d70e5d28bc5a2))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-retail/issues/1546)) ([#207](https://github.com/googleapis/nodejs-retail/issues/207)) ([b742392](https://github.com/googleapis/nodejs-retail/commit/b7423929a30f635880eff37f479f95498cbfcde5))
+* use google-gax v3.3.0 ([a079b82](https://github.com/googleapis/nodejs-retail/commit/a079b82805b9550d9a7772ec620d70e5d28bc5a2))
+
+## [2.0.0](https://github.com/googleapis/nodejs-retail/compare/v1.8.1...v2.0.0) (2022-06-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#181)
+
+### Features
+
+* allow users to disable spell check in search requests ([#183](https://github.com/googleapis/nodejs-retail/issues/183)) ([05005ea](https://github.com/googleapis/nodejs-retail/commit/05005ea09accff4d04b152f2fa2bf452f6b9768b))
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/bigquery to v6 ([#186](https://github.com/googleapis/nodejs-retail/issues/186)) ([fc07923](https://github.com/googleapis/nodejs-retail/commit/fc0792311aac235e917fe045fc491858408bd770))
+
+
+### Build System
+
+* update library to use Node 12 ([#181](https://github.com/googleapis/nodejs-retail/issues/181)) ([809853f](https://github.com/googleapis/nodejs-retail/commit/809853f84e0bfe0f09ccb59ca750963732e23965))
+
+### [1.8.1](https://github.com/googleapis/nodejs-retail/compare/v1.8.0...v1.8.1) (2022-05-06)
+
+
+### Bug Fixes
+
+* read projectId from retailClient.getProjectId ([#159](https://github.com/googleapis/nodejs-retail/issues/159)) ([f4fa61c](https://github.com/googleapis/nodejs-retail/commit/f4fa61c2a385b197dd0cfd923b1ac1d07d6539de))
+
+## [1.8.0](https://github.com/googleapis/nodejs-retail/compare/v1.7.0...v1.8.0) (2022-04-08)
+
+
+### Features
+
+* allow search users to skip validation for invalid boost specs (v2alpha) ([3c6ffc1](https://github.com/googleapis/nodejs-retail/commit/3c6ffc1d6fee7095213824d45c3ca5bb0f974a1b))
+* Retail Tutorials. If create BQ table is requested, check if it exists and remove before creation ([#157](https://github.com/googleapis/nodejs-retail/issues/157)) ([349e171](https://github.com/googleapis/nodejs-retail/commit/349e171baacff751044665389e92e67f02ebc22c))
+* search returns applied control ids in the response (v2alpha) ([3c6ffc1](https://github.com/googleapis/nodejs-retail/commit/3c6ffc1d6fee7095213824d45c3ca5bb0f974a1b))
+* support batch products purge (v2alpha) ([#167](https://github.com/googleapis/nodejs-retail/issues/167)) ([3c6ffc1](https://github.com/googleapis/nodejs-retail/commit/3c6ffc1d6fee7095213824d45c3ca5bb0f974a1b))
+* support search personalization (v2alpha) ([3c6ffc1](https://github.com/googleapis/nodejs-retail/commit/3c6ffc1d6fee7095213824d45c3ca5bb0f974a1b))
+* users cannot switch to empty default branch unless force override (v2alpha) ([3c6ffc1](https://github.com/googleapis/nodejs-retail/commit/3c6ffc1d6fee7095213824d45c3ca5bb0f974a1b))
+
+## [1.7.0](https://github.com/googleapis/nodejs-retail/compare/v1.6.1...v1.7.0) (2022-04-01)
+
+
+### Features
+
+* users can skip validation, search personalization, return ids, and more; docs: suggest search users to not send IP, deprecate request_id, and more ([#160](https://github.com/googleapis/nodejs-retail/issues/160)) ([c793285](https://github.com/googleapis/nodejs-retail/commit/c7932857fc2326971041564094bb4b75802fc741))
+
+### [1.6.1](https://github.com/googleapis/nodejs-retail/compare/v1.6.0...v1.6.1) (2022-03-15)
+
+
+### Bug Fixes
+
+* remove gcloud_project env variable ([#156](https://github.com/googleapis/nodejs-retail/issues/156)) ([16cefb4](https://github.com/googleapis/nodejs-retail/commit/16cefb46e213f094daca8121bb09ec1e5c4da206))
+
+## [1.6.0](https://github.com/googleapis/nodejs-retail/compare/v1.5.0...v1.6.0) (2022-02-15)
+
+
+### Features
+
+* add ControlService ([92d4d84](https://github.com/googleapis/nodejs-retail/commit/92d4d849b9c4093778cf81bd56e8ebc2d6afd98b))
+* add ServingConfigService ([92d4d84](https://github.com/googleapis/nodejs-retail/commit/92d4d849b9c4093778cf81bd56e8ebc2d6afd98b))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-retail/compare/v1.4.0...v1.5.0) (2021-11-23)
+
+
+### Features
+
+* update grpc service config settings to reflect correct API deadlines ([0f24f0e](https://www.github.com/googleapis/nodejs-retail/commit/0f24f0e42c0cb3430935487fe6569873cfdb6860))
+* update grpc service config settings to reflect correct API deadlines ([#117](https://www.github.com/googleapis/nodejs-retail/issues/117)) ([0f24f0e](https://www.github.com/googleapis/nodejs-retail/commit/0f24f0e42c0cb3430935487fe6569873cfdb6860))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-retail/compare/v1.3.0...v1.4.0) (2021-11-04)
+
+
+### Features
+
+* Add local inventory ingestion APIs to product service in alpha channel ([#112](https://www.github.com/googleapis/nodejs-retail/issues/112)) ([8387781](https://www.github.com/googleapis/nodejs-retail/commit/8387781135ddb02b43af222bbbd3d5852e0147d3))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-retail/compare/v1.2.2...v1.3.0) (2021-10-19)
+
+
+### Features
+
+* add search mode to search request. If not specified, a single search request triggers both product search and faceted search. ([49b9b8e](https://www.github.com/googleapis/nodejs-retail/commit/49b9b8e22eba6318f54e44025df4e3c1900cb73e))
+* update grpc service config settings to reflect correct API deadlines ([49b9b8e](https://www.github.com/googleapis/nodejs-retail/commit/49b9b8e22eba6318f54e44025df4e3c1900cb73e))
+
+### [1.2.2](https://www.github.com/googleapis/nodejs-retail/compare/v1.2.1...v1.2.2) (2021-09-10)
+
+
+### Bug Fixes
+
+* **build:** set default branch to main ([#98](https://www.github.com/googleapis/nodejs-retail/issues/98)) ([637a23e](https://www.github.com/googleapis/nodejs-retail/commit/637a23e229641c42103c7b60f2ce2fb974e23d90))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-retail/compare/v1.2.0...v1.2.1) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#91](https://www.github.com/googleapis/nodejs-retail/issues/91)) ([893845a](https://www.github.com/googleapis/nodejs-retail/commit/893845aae9f43a41ad21f97000bc73da3fb985c0))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.6...v1.2.0) (2021-08-02)
+
+
+### Features
+
+* Add restricted Retail Search features for Retail API v2 ([b8279f4](https://www.github.com/googleapis/nodejs-retail/commit/b8279f4b3e90150d349ddd2071d8e25c51c07ec4))
+* Add restricted Retail Search features for Retail API v2alpha ([b8279f4](https://www.github.com/googleapis/nodejs-retail/commit/b8279f4b3e90150d349ddd2071d8e25c51c07ec4))
+* Add restricted Retail Search features for Retail API v2beta. ([#79](https://www.github.com/googleapis/nodejs-retail/issues/79)) ([b8279f4](https://www.github.com/googleapis/nodejs-retail/commit/b8279f4b3e90150d349ddd2071d8e25c51c07ec4))
+
+### [1.1.6](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.5...v1.1.6) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#73](https://www.github.com/googleapis/nodejs-retail/issues/73)) ([9ba9a09](https://www.github.com/googleapis/nodejs-retail/commit/9ba9a09c270b0ed2ef3eae76a284bb19af789317))
+
+### [1.1.5](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.4...v1.1.5) (2021-07-13)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#69](https://www.github.com/googleapis/nodejs-retail/issues/69)) ([b414012](https://www.github.com/googleapis/nodejs-retail/commit/b4140124e136a75e3a33baece43ef7ee5a717c7a))
+
+### [1.1.5](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.4...v1.1.5) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#69](https://www.github.com/googleapis/nodejs-retail/issues/69)) ([b414012](https://www.github.com/googleapis/nodejs-retail/commit/b4140124e136a75e3a33baece43ef7ee5a717c7a))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.3...v1.1.4) (2021-07-01)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.17.0 ([#66](https://www.github.com/googleapis/nodejs-retail/issues/66)) ([94fd8a8](https://www.github.com/googleapis/nodejs-retail/commit/94fd8a842f4fc7cfb480e72d4b3375ec0293cc09))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.2...v1.1.3) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#62](https://www.github.com/googleapis/nodejs-retail/issues/62)) ([ea912e8](https://www.github.com/googleapis/nodejs-retail/commit/ea912e887a5a0b0695bcc54d506ec8e7c4c605c3))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.1...v1.1.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#55](https://www.github.com/googleapis/nodejs-retail/issues/55)) ([907ba0c](https://www.github.com/googleapis/nodejs-retail/commit/907ba0cc02b8c02b85a2549b4d1e76bf8dc59c93))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-retail/compare/v1.1.0...v1.1.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#47](https://www.github.com/googleapis/nodejs-retail/issues/47)) ([3ed1774](https://www.github.com/googleapis/nodejs-retail/commit/3ed1774f8c50a9f1e96610e1cef724d233b10cc3))
+* use require() to load JSON protos ([#50](https://www.github.com/googleapis/nodejs-retail/issues/50)) ([45348f3](https://www.github.com/googleapis/nodejs-retail/commit/45348f3958cb3e1b70f4e335c3aba5b255887e06))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-retail/compare/v1.0.0...v1.1.0) (2021-03-02)
+
+
+### Features
+
+* **docs:** promote to ga ([#18](https://www.github.com/googleapis/nodejs-retail/issues/18)) ([e54b324](https://www.github.com/googleapis/nodejs-retail/commit/e54b32404d2de0cb6b460e9ca0cada6bd0e5b856))
+
+## 1.0.0 (2021-01-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* initial stub of library
+
+### Features
+
+* add initial samples ([#2](https://www.github.com/googleapis/nodejs-retail/issues/2)) ([8a64439](https://www.github.com/googleapis/nodejs-retail/commit/8a644390cc834141304d8903a0ab9da344221412))
+* initial stub of library ([82b5f8d](https://www.github.com/googleapis/nodejs-retail/commit/82b5f8d167189dd9eab0ff6209878a727014f0f7))
diff --git a/packages/google-cloud-retail/CODE_OF_CONDUCT.md b/packages/google-cloud-retail/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-retail/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-retail/CONTRIBUTING.md b/packages/google-cloud-retail/CONTRIBUTING.md
new file mode 100644
index 00000000000..0e48f15b5f0
--- /dev/null
+++ b/packages/google-cloud-retail/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 Retail API 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=retail.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-retail/LICENSE b/packages/google-cloud-retail/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-retail/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-retail/README.md b/packages/google-cloud-retail/README.md
new file mode 100644
index 00000000000..1ca590f9d1b
--- /dev/null
+++ b/packages/google-cloud-retail/README.md
@@ -0,0 +1,305 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Retail API: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/retail)
+
+
+
+
+Retail client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-retail/CHANGELOG.md).
+
+* [Retail API Node.js Client API Reference][client-docs]
+* [Retail API Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-retail](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-retail)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Retail API 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/retail
+```
+
+
+### Using the client library
+
+```javascript
+
+// Imports the Google Cloud client library
+const {CatalogServiceClient} = require('@google-cloud/retail');
+
+// TODO(developer): uncomment these variables with your information
+// const projectId = 'my-project'
+// const location = 'global'
+
+// Creates a client
+const client = new CatalogServiceClient();
+
+async function listCatalogs() {
+ const catalogs = await client.listCatalogs({
+ parent: `projects/${projectId}/locations/${location}`,
+ });
+ console.info(catalogs);
+}
+listCatalogs();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Catalog_service.add_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.add_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.add_catalog_attribute.js,samples/README.md) |
+| Catalog_service.get_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.get_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.get_attributes_config.js,samples/README.md) |
+| Catalog_service.get_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.get_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.get_completion_config.js,samples/README.md) |
+| Catalog_service.get_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.get_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.get_default_branch.js,samples/README.md) |
+| Catalog_service.list_catalogs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.list_catalogs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.list_catalogs.js,samples/README.md) |
+| Catalog_service.remove_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.remove_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.remove_catalog_attribute.js,samples/README.md) |
+| Catalog_service.replace_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.replace_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.replace_catalog_attribute.js,samples/README.md) |
+| Catalog_service.set_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.set_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.set_default_branch.js,samples/README.md) |
+| Catalog_service.update_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.update_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.update_attributes_config.js,samples/README.md) |
+| Catalog_service.update_catalog | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.update_catalog.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.update_catalog.js,samples/README.md) |
+| Catalog_service.update_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/catalog_service.update_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/catalog_service.update_completion_config.js,samples/README.md) |
+| Completion_service.complete_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/completion_service.complete_query.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/completion_service.complete_query.js,samples/README.md) |
+| Completion_service.import_completion_data | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/completion_service.import_completion_data.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/completion_service.import_completion_data.js,samples/README.md) |
+| Control_service.create_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/control_service.create_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/control_service.create_control.js,samples/README.md) |
+| Control_service.delete_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/control_service.delete_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/control_service.delete_control.js,samples/README.md) |
+| Control_service.get_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/control_service.get_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/control_service.get_control.js,samples/README.md) |
+| Control_service.list_controls | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/control_service.list_controls.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/control_service.list_controls.js,samples/README.md) |
+| Control_service.update_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/control_service.update_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/control_service.update_control.js,samples/README.md) |
+| Prediction_service.predict | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/prediction_service.predict.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/prediction_service.predict.js,samples/README.md) |
+| Product_service.add_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.add_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.add_fulfillment_places.js,samples/README.md) |
+| Product_service.add_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.add_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.add_local_inventories.js,samples/README.md) |
+| Product_service.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.create_product.js,samples/README.md) |
+| Product_service.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.delete_product.js,samples/README.md) |
+| Product_service.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.get_product.js,samples/README.md) |
+| Product_service.import_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.import_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.import_products.js,samples/README.md) |
+| Product_service.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.list_products.js,samples/README.md) |
+| Product_service.remove_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.remove_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.remove_fulfillment_places.js,samples/README.md) |
+| Product_service.remove_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.remove_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.remove_local_inventories.js,samples/README.md) |
+| Product_service.set_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.set_inventory.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.set_inventory.js,samples/README.md) |
+| Product_service.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/product_service.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/product_service.update_product.js,samples/README.md) |
+| Search_service.search | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/search_service.search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/search_service.search.js,samples/README.md) |
+| Serving_config_service.add_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.add_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.add_control.js,samples/README.md) |
+| Serving_config_service.create_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.create_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.create_serving_config.js,samples/README.md) |
+| Serving_config_service.delete_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.delete_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.delete_serving_config.js,samples/README.md) |
+| Serving_config_service.get_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.get_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.get_serving_config.js,samples/README.md) |
+| Serving_config_service.list_serving_configs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.list_serving_configs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.list_serving_configs.js,samples/README.md) |
+| Serving_config_service.remove_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.remove_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.remove_control.js,samples/README.md) |
+| Serving_config_service.update_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/serving_config_service.update_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/serving_config_service.update_serving_config.js,samples/README.md) |
+| User_event_service.collect_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/user_event_service.collect_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/user_event_service.collect_user_event.js,samples/README.md) |
+| User_event_service.import_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/user_event_service.import_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/user_event_service.import_user_events.js,samples/README.md) |
+| User_event_service.purge_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/user_event_service.purge_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/user_event_service.purge_user_events.js,samples/README.md) |
+| User_event_service.rejoin_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/user_event_service.rejoin_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/user_event_service.rejoin_user_events.js,samples/README.md) |
+| User_event_service.write_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2/user_event_service.write_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2/user_event_service.write_user_event.js,samples/README.md) |
+| Catalog_service.add_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.add_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.add_catalog_attribute.js,samples/README.md) |
+| Catalog_service.get_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_attributes_config.js,samples/README.md) |
+| Catalog_service.get_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_completion_config.js,samples/README.md) |
+| Catalog_service.get_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.get_default_branch.js,samples/README.md) |
+| Catalog_service.list_catalogs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.list_catalogs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.list_catalogs.js,samples/README.md) |
+| Catalog_service.remove_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.remove_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.remove_catalog_attribute.js,samples/README.md) |
+| Catalog_service.replace_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.replace_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.replace_catalog_attribute.js,samples/README.md) |
+| Catalog_service.set_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.set_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.set_default_branch.js,samples/README.md) |
+| Catalog_service.update_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_attributes_config.js,samples/README.md) |
+| Catalog_service.update_catalog | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_catalog.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_catalog.js,samples/README.md) |
+| Catalog_service.update_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/catalog_service.update_completion_config.js,samples/README.md) |
+| Completion_service.complete_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/completion_service.complete_query.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/completion_service.complete_query.js,samples/README.md) |
+| Completion_service.import_completion_data | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/completion_service.import_completion_data.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/completion_service.import_completion_data.js,samples/README.md) |
+| Control_service.create_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/control_service.create_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/control_service.create_control.js,samples/README.md) |
+| Control_service.delete_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/control_service.delete_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/control_service.delete_control.js,samples/README.md) |
+| Control_service.get_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/control_service.get_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/control_service.get_control.js,samples/README.md) |
+| Control_service.list_controls | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/control_service.list_controls.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/control_service.list_controls.js,samples/README.md) |
+| Control_service.update_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/control_service.update_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/control_service.update_control.js,samples/README.md) |
+| Model_service.create_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.create_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.create_model.js,samples/README.md) |
+| Model_service.delete_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.delete_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.delete_model.js,samples/README.md) |
+| Model_service.list_models | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.list_models.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.list_models.js,samples/README.md) |
+| Model_service.pause_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.pause_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.pause_model.js,samples/README.md) |
+| Model_service.resume_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.resume_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.resume_model.js,samples/README.md) |
+| Model_service.tune_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.tune_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.tune_model.js,samples/README.md) |
+| Model_service.update_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/model_service.update_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/model_service.update_model.js,samples/README.md) |
+| Prediction_service.predict | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/prediction_service.predict.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/prediction_service.predict.js,samples/README.md) |
+| Product_service.add_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.add_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.add_fulfillment_places.js,samples/README.md) |
+| Product_service.add_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.add_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.add_local_inventories.js,samples/README.md) |
+| Product_service.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.create_product.js,samples/README.md) |
+| Product_service.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.delete_product.js,samples/README.md) |
+| Product_service.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.get_product.js,samples/README.md) |
+| Product_service.import_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.import_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.import_products.js,samples/README.md) |
+| Product_service.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.list_products.js,samples/README.md) |
+| Product_service.purge_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.purge_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.purge_products.js,samples/README.md) |
+| Product_service.remove_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.remove_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.remove_fulfillment_places.js,samples/README.md) |
+| Product_service.remove_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.remove_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.remove_local_inventories.js,samples/README.md) |
+| Product_service.set_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.set_inventory.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.set_inventory.js,samples/README.md) |
+| Product_service.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/product_service.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/product_service.update_product.js,samples/README.md) |
+| Search_service.search | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/search_service.search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/search_service.search.js,samples/README.md) |
+| Serving_config_service.add_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.add_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.add_control.js,samples/README.md) |
+| Serving_config_service.create_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.create_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.create_serving_config.js,samples/README.md) |
+| Serving_config_service.delete_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.delete_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.delete_serving_config.js,samples/README.md) |
+| Serving_config_service.get_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.get_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.get_serving_config.js,samples/README.md) |
+| Serving_config_service.list_serving_configs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.list_serving_configs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.list_serving_configs.js,samples/README.md) |
+| Serving_config_service.remove_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.remove_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.remove_control.js,samples/README.md) |
+| Serving_config_service.update_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.update_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/serving_config_service.update_serving_config.js,samples/README.md) |
+| User_event_service.collect_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.collect_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.collect_user_event.js,samples/README.md) |
+| User_event_service.import_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.import_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.import_user_events.js,samples/README.md) |
+| User_event_service.purge_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.purge_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.purge_user_events.js,samples/README.md) |
+| User_event_service.rejoin_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.rejoin_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.rejoin_user_events.js,samples/README.md) |
+| User_event_service.write_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.write_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2alpha/user_event_service.write_user_event.js,samples/README.md) |
+| Catalog_service.add_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.add_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.add_catalog_attribute.js,samples/README.md) |
+| Catalog_service.batch_remove_catalog_attributes | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.batch_remove_catalog_attributes.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.batch_remove_catalog_attributes.js,samples/README.md) |
+| Catalog_service.get_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_attributes_config.js,samples/README.md) |
+| Catalog_service.get_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_completion_config.js,samples/README.md) |
+| Catalog_service.get_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.get_default_branch.js,samples/README.md) |
+| Catalog_service.list_catalogs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.list_catalogs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.list_catalogs.js,samples/README.md) |
+| Catalog_service.remove_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.remove_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.remove_catalog_attribute.js,samples/README.md) |
+| Catalog_service.replace_catalog_attribute | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.replace_catalog_attribute.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.replace_catalog_attribute.js,samples/README.md) |
+| Catalog_service.set_default_branch | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.set_default_branch.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.set_default_branch.js,samples/README.md) |
+| Catalog_service.update_attributes_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_attributes_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_attributes_config.js,samples/README.md) |
+| Catalog_service.update_catalog | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_catalog.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_catalog.js,samples/README.md) |
+| Catalog_service.update_completion_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_completion_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/catalog_service.update_completion_config.js,samples/README.md) |
+| Completion_service.complete_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/completion_service.complete_query.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/completion_service.complete_query.js,samples/README.md) |
+| Completion_service.import_completion_data | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/completion_service.import_completion_data.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/completion_service.import_completion_data.js,samples/README.md) |
+| Control_service.create_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/control_service.create_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/control_service.create_control.js,samples/README.md) |
+| Control_service.delete_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/control_service.delete_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/control_service.delete_control.js,samples/README.md) |
+| Control_service.get_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/control_service.get_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/control_service.get_control.js,samples/README.md) |
+| Control_service.list_controls | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/control_service.list_controls.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/control_service.list_controls.js,samples/README.md) |
+| Control_service.update_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/control_service.update_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/control_service.update_control.js,samples/README.md) |
+| Model_service.create_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.create_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.create_model.js,samples/README.md) |
+| Model_service.delete_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.delete_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.delete_model.js,samples/README.md) |
+| Model_service.list_models | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.list_models.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.list_models.js,samples/README.md) |
+| Model_service.pause_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.pause_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.pause_model.js,samples/README.md) |
+| Model_service.resume_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.resume_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.resume_model.js,samples/README.md) |
+| Model_service.tune_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.tune_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.tune_model.js,samples/README.md) |
+| Model_service.update_model | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/model_service.update_model.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/model_service.update_model.js,samples/README.md) |
+| Prediction_service.predict | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/prediction_service.predict.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/prediction_service.predict.js,samples/README.md) |
+| Product_service.add_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.add_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.add_fulfillment_places.js,samples/README.md) |
+| Product_service.add_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.add_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.add_local_inventories.js,samples/README.md) |
+| Product_service.create_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.create_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.create_product.js,samples/README.md) |
+| Product_service.delete_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.delete_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.delete_product.js,samples/README.md) |
+| Product_service.get_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.get_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.get_product.js,samples/README.md) |
+| Product_service.import_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.import_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.import_products.js,samples/README.md) |
+| Product_service.list_products | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.list_products.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.list_products.js,samples/README.md) |
+| Product_service.remove_fulfillment_places | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.remove_fulfillment_places.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.remove_fulfillment_places.js,samples/README.md) |
+| Product_service.remove_local_inventories | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.remove_local_inventories.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.remove_local_inventories.js,samples/README.md) |
+| Product_service.set_inventory | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.set_inventory.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.set_inventory.js,samples/README.md) |
+| Product_service.update_product | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/product_service.update_product.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/product_service.update_product.js,samples/README.md) |
+| Search_service.search | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/search_service.search.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/search_service.search.js,samples/README.md) |
+| Serving_config_service.add_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.add_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.add_control.js,samples/README.md) |
+| Serving_config_service.create_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.create_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.create_serving_config.js,samples/README.md) |
+| Serving_config_service.delete_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.delete_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.delete_serving_config.js,samples/README.md) |
+| Serving_config_service.get_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.get_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.get_serving_config.js,samples/README.md) |
+| Serving_config_service.list_serving_configs | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.list_serving_configs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.list_serving_configs.js,samples/README.md) |
+| Serving_config_service.remove_control | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.remove_control.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.remove_control.js,samples/README.md) |
+| Serving_config_service.update_serving_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.update_serving_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/serving_config_service.update_serving_config.js,samples/README.md) |
+| User_event_service.collect_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/user_event_service.collect_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/user_event_service.collect_user_event.js,samples/README.md) |
+| User_event_service.import_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/user_event_service.import_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/user_event_service.import_user_events.js,samples/README.md) |
+| User_event_service.purge_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/user_event_service.purge_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/user_event_service.purge_user_events.js,samples/README.md) |
+| User_event_service.rejoin_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/user_event_service.rejoin_user_events.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/user_event_service.rejoin_user_events.js,samples/README.md) |
+| User_event_service.write_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/generated/v2beta/user_event_service.write_user_event.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/generated/v2beta/user_event_service.write_user_event.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/quickstart.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main//workspace/google-cloud-node/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=/workspace/google-cloud-node/samples/test/quickstart.js,samples/README.md) |
+
+
+
+The [Retail API 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/retail@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/google-cloud-node/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/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/retail/latest
+[product-docs]: https://cloud.google.com/recommendations/
+[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=retail.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-retail/linkinator.config.json b/packages/google-cloud-retail/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-retail/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-retail/package.json b/packages/google-cloud-retail/package.json
new file mode 100644
index 00000000000..909eb0d60e4
--- /dev/null
+++ b/packages/google-cloud-retail/package.json
@@ -0,0 +1,74 @@
+{
+ "name": "@google-cloud/retail",
+ "version": "2.1.1",
+ "description": "Retail client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-retail",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google retail",
+ "retail",
+ "catalog service",
+ "prediction service",
+ "product service",
+ "user event service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.3.5",
+ "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.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.9.0",
+ "webpack-cli": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-retail"
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog.proto
new file mode 100644
index 00000000000..0e1b85f6af0
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog.proto
@@ -0,0 +1,350 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/import_config.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Configures what level the product should be uploaded with regards to
+// how users will be send events and how predictions will be made.
+message ProductLevelConfig {
+ // The type of [Product][google.cloud.retail.v2.Product]s allowed to be
+ // ingested into the catalog. Acceptable values are:
+ //
+ // * `primary` (default): You can ingest
+ // [Product][google.cloud.retail.v2.Product]s of all types. When
+ // ingesting a [Product][google.cloud.retail.v2.Product], its type will
+ // default to
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] if
+ // unset.
+ // * `variant` (incompatible with Retail Search): You can only
+ // ingest
+ // [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s. This means
+ // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
+ // cannot be empty.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `variant` and
+ // [merchant_center_product_id_field][google.cloud.retail.v2.ProductLevelConfig.merchant_center_product_id_field]
+ // is `itemGroupId`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string ingestion_product_type = 1;
+
+ // Which field of [Merchant Center
+ // Product](/bigquery-transfer/docs/merchant-center-products-schema) should be
+ // imported as [Product.id][google.cloud.retail.v2.Product.id]. Acceptable
+ // values are:
+ //
+ // * `offerId` (default): Import `offerId` as the product ID.
+ // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail
+ // API will choose one item from the ones with the same `itemGroupId`, and
+ // use it to represent the item group.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `itemGroupId` and
+ // [ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
+ // is `variant`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string merchant_center_product_id_field = 2;
+}
+
+// Catalog level attribute config for an attribute. For example, if customers
+// want to enable/disable facet for a specific attribute.
+message CatalogAttribute {
+ // The type of an attribute.
+ enum AttributeType {
+ // The type of the attribute is unknown.
+ //
+ // Used when type cannot be derived from attribute that is not
+ // [in_use][google.cloud.retail.v2.CatalogAttribute.in_use].
+ UNKNOWN = 0;
+
+ // Textual attribute.
+ TEXTUAL = 1;
+
+ // Numerical attribute.
+ NUMERICAL = 2;
+ }
+
+ // The status of the indexable option of a catalog attribute.
+ enum IndexableOption {
+ // Value used when unset. Defaults to
+ // [INDEXABLE_ENABLED][google.cloud.retail.v2.CatalogAttribute.IndexableOption.INDEXABLE_ENABLED].
+ INDEXABLE_OPTION_UNSPECIFIED = 0;
+
+ // Indexable option enabled for an attribute.
+ INDEXABLE_ENABLED = 1;
+
+ // Indexable option disabled for an attribute.
+ INDEXABLE_DISABLED = 2;
+ }
+
+ // The status of the dynamic facetable option of a catalog attribute.
+ enum DynamicFacetableOption {
+ // Value used when unset. Defaults to
+ // [DYNAMIC_FACETABLE_ENABLED][google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED].
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0;
+
+ // Dynamic facetable option enabled for an attribute.
+ DYNAMIC_FACETABLE_ENABLED = 1;
+
+ // Dynamic facetable option disabled for an attribute.
+ DYNAMIC_FACETABLE_DISABLED = 2;
+ }
+
+ // The status of the searchable option of a catalog attribute.
+ enum SearchableOption {
+ // Value used when unset. Defaults to
+ // [SEARCHABLE_DISABLED][google.cloud.retail.v2.CatalogAttribute.SearchableOption.SEARCHABLE_DISABLED].
+ SEARCHABLE_OPTION_UNSPECIFIED = 0;
+
+ // Searchable option enabled for an attribute.
+ SEARCHABLE_ENABLED = 1;
+
+ // Searchable option disabled for an attribute.
+ SEARCHABLE_DISABLED = 2;
+ }
+
+ // Required. Attribute name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ // To be indexable, the attribute name can contain only alpha-numeric
+ // characters and underscores. For example, an attribute named
+ // `attributes.abc_xyz` can be indexed, but an attribute named
+ // `attributes.abc-xyz` cannot be indexed.
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Indicates whether this attribute has been used by any
+ // products. `True` if at least one [Product][google.cloud.retail.v2.Product]
+ // is using this attribute in
+ // [Product.attributes][google.cloud.retail.v2.Product.attributes]. Otherwise,
+ // this field is `False`.
+ //
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] can be
+ // pre-loaded by using
+ // [CatalogService.AddCatalogAttribute][google.cloud.retail.v2.CatalogService.AddCatalogAttribute],
+ // [CatalogService.ImportCatalogAttributes][], or
+ // [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2.CatalogService.UpdateAttributesConfig]
+ // APIs. This field is `False` for pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s.
+ //
+ // Only pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s that are
+ // neither in use by products nor predefined can be deleted.
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]s that are
+ // either in use by products or are predefined cannot be deleted; however,
+ // their configuration properties will reset to default values upon removal
+ // request.
+ //
+ // After catalog changes, it takes about 10 minutes for this field to update.
+ bool in_use = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The type of this attribute. This is derived from the attribute
+ // in [Product.attributes][google.cloud.retail.v2.Product.attributes].
+ AttributeType type = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
+ // are indexed so that it can be filtered, faceted, or boosted in
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ IndexableOption indexable_option = 5;
+
+ // If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
+ // facet. Could only be DYNAMIC_FACETABLE_DISABLED if
+ // [CatalogAttribute.indexable_option][google.cloud.retail.v2.CatalogAttribute.indexable_option]
+ // is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+ DynamicFacetableOption dynamic_facetable_option = 6;
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
+ // are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ //
+ // If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
+ // will not be searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search], as
+ // there are no text values associated to numerical attributes.
+ SearchableOption searchable_option = 7;
+}
+
+// Catalog level attribute config.
+message AttributesConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the attribute
+ // config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Enable attribute(s) config at catalog level.
+ // For example, indexable, dynamic_facetable, or searchable for each
+ // attribute.
+ //
+ // The key is catalog attribute's name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ //
+ // The maximum number of catalog attributes allowed in a request is 1000.
+ map catalog_attributes = 2;
+
+ // Output only. The
+ // [AttributeConfigLevel][google.cloud.retail.v2.AttributeConfigLevel] used
+ // for this catalog.
+ AttributeConfigLevel attribute_config_level = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Catalog level autocomplete config for customers to customize autocomplete
+// feature's settings.
+message CompletionConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
+ };
+
+ // Required. Immutable. Fully qualified name
+ // `projects/*/locations/*/catalogs/*/completionConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Specifies the matching order for autocomplete suggestions, e.g., a query
+ // consisting of 'sh' with 'out-of-order' specified would suggest "women's
+ // shoes", whereas a query of 'red s' with 'exact-prefix' specified would
+ // suggest "red shoes". Currently supported values:
+ //
+ // * 'out-of-order'
+ // * 'exact-prefix'
+ //
+ // Default value: 'exact-prefix'.
+ string matching_order = 2;
+
+ // The maximum number of autocomplete suggestions returned per term. Default
+ // value is 20. If left unset or set to 0, then will fallback to default
+ // value.
+ //
+ // Value range is 1 to 20.
+ int32 max_suggestions = 3;
+
+ // The minimum number of characters needed to be typed in order to get
+ // suggestions. Default value is 2. If left unset or set to 0, then will
+ // fallback to default value.
+ //
+ // Value range is 1 to 20.
+ int32 min_prefix_length = 4;
+
+ // If set to true, the auto learning function is enabled. Auto learning uses
+ // user data to generate suggestions using ML techniques. Default value is
+ // false. Only after enabling auto learning can users use `cloud-retail`
+ // data in
+ // [CompleteQueryRequest][google.cloud.retail.v2.CompleteQueryRequest].
+ bool auto_learning = 11;
+
+ // Output only. The source data for the latest import of the autocomplete
+ // suggestion phrases.
+ CompletionDataInputConfig suggestions_input_config = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest suggestion terms
+ // list import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_suggestions_import_operation = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // denylist phrases.
+ CompletionDataInputConfig denylist_input_config = 7
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest denylist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_denylist_import_operation = 8
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // allowlist phrases.
+ CompletionDataInputConfig allowlist_input_config = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest allowlist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_allowlist_import_operation = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The catalog configuration.
+message Catalog {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Catalog"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the catalog.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The catalog display name.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. The product level configuration.
+ ProductLevelConfig product_level_config = 4
+ [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog_service.proto
new file mode 100644
index 00000000000..4d667d1f9e3
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/catalog_service.proto
@@ -0,0 +1,476 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/catalog.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for managing catalog configuration.
+service CatalogService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists all the [Catalog][google.cloud.retail.v2.Catalog]s associated with
+ // the project.
+ rpc ListCatalogs(ListCatalogsRequest) returns (ListCatalogsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/locations/*}/catalogs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates the [Catalog][google.cloud.retail.v2.Catalog]s.
+ rpc UpdateCatalog(UpdateCatalogRequest) returns (Catalog) {
+ option (google.api.http) = {
+ patch: "/v2/{catalog.name=projects/*/locations/*/catalogs/*}"
+ body: "catalog"
+ };
+ option (google.api.method_signature) = "catalog,update_mask";
+ }
+
+ // Set a specified branch id as default branch. API methods such as
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search],
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct],
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
+ // will treat requests using "default_branch" to the actual branch id set as
+ // default.
+ //
+ // For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as
+ // default, setting
+ // [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent
+ // to setting
+ // [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/1`.
+ //
+ // Using multiple branches can be useful when developers would like
+ // to have a staging branch to test and verify for future usage. When it
+ // becomes ready, developers switch on the staging branch using this API while
+ // keeping using `projects/*/locations/*/catalogs/*/branches/default_branch`
+ // as [SearchRequest.branch][google.cloud.retail.v2.SearchRequest.branch] to
+ // route the traffic to this staging branch.
+ //
+ // CAUTION: If you have live predict/search traffic, switching the default
+ // branch could potentially cause outages if the ID space of the new branch is
+ // very different from the old one.
+ //
+ // More specifically:
+ //
+ // * PredictionService will only return product IDs from branch {newBranch}.
+ // * SearchService will only return product IDs from branch {newBranch}
+ // (if branch is not explicitly set).
+ // * UserEventService will only join events with products from branch
+ // {newBranch}.
+ rpc SetDefaultBranch(SetDefaultBranchRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch"
+ body: "*"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Get which branch is currently default branch set by
+ // [CatalogService.SetDefaultBranch][google.cloud.retail.v2.CatalogService.SetDefaultBranch]
+ // method under a specified parent catalog.
+ rpc GetDefaultBranch(GetDefaultBranchRequest)
+ returns (GetDefaultBranchResponse) {
+ option (google.api.http) = {
+ get: "/v2/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Gets a [CompletionConfig][google.cloud.retail.v2.CompletionConfig].
+ rpc GetCompletionConfig(GetCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/locations/*/catalogs/*/completionConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the [CompletionConfig][google.cloud.retail.v2.CompletionConfig]s.
+ rpc UpdateCompletionConfig(UpdateCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ patch: "/v2/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}"
+ body: "completion_config"
+ };
+ option (google.api.method_signature) = "completion_config,update_mask";
+ }
+
+ // Gets an [AttributesConfig][google.cloud.retail.v2.AttributesConfig].
+ rpc GetAttributesConfig(GetAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the [AttributesConfig][google.cloud.retail.v2.AttributesConfig].
+ //
+ // The catalog attributes in the request will be updated in the catalog, or
+ // inserted if they do not exist. Existing catalog attributes not included in
+ // the request will remain unchanged. Attributes that are assigned to
+ // products, but do not exist at the catalog level, are always included in the
+ // response. The product attribute is assigned default values for missing
+ // catalog attribute fields, e.g., searchable and dynamic facetable options.
+ rpc UpdateAttributesConfig(UpdateAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ patch: "/v2/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ body: "attributes_config"
+ };
+ option (google.api.method_signature) = "attributes_config,update_mask";
+ }
+
+ // Adds the specified
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to the
+ // [AttributesConfig][google.cloud.retail.v2.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to add
+ // already exists, an ALREADY_EXISTS error is returned.
+ rpc AddCatalogAttribute(AddCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Removes the specified
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] from the
+ // [AttributesConfig][google.cloud.retail.v2.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to
+ // remove does not exist, a NOT_FOUND error is returned.
+ rpc RemoveCatalogAttribute(RemoveCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Replaces the specified
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] in the
+ // [AttributesConfig][google.cloud.retail.v2.AttributesConfig] by updating the
+ // catalog attribute with the same
+ // [CatalogAttribute.key][google.cloud.retail.v2.CatalogAttribute.key].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to
+ // replace does not exist, a NOT_FOUND error is returned.
+ rpc ReplaceCatalogAttribute(ReplaceCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute"
+ body: "*"
+ };
+ }
+}
+
+// Request for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsRequest {
+ // Required. The account resource name with an associated location.
+ //
+ // If the caller does not have permission to list
+ // [Catalog][google.cloud.retail.v2.Catalog]s under this location, regardless
+ // of whether or not this location exists, a PERMISSION_DENIED error is
+ // returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Maximum number of [Catalog][google.cloud.retail.v2.Catalog]s to return. If
+ // unspecified, defaults to 50. The maximum allowed value is 1000. Values
+ // above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2.ListCatalogsResponse.next_page_token],
+ // received from a previous
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+}
+
+// Response for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsResponse {
+ // All the customer's [Catalog][google.cloud.retail.v2.Catalog]s.
+ repeated Catalog catalogs = 1;
+
+ // A token that can be sent as
+ // [ListCatalogsRequest.page_token][google.cloud.retail.v2.ListCatalogsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request for
+// [CatalogService.UpdateCatalog][google.cloud.retail.v2.CatalogService.UpdateCatalog]
+// method.
+message UpdateCatalogRequest {
+ // Required. The [Catalog][google.cloud.retail.v2.Catalog] to update.
+ //
+ // If the caller does not have permission to update the
+ // [Catalog][google.cloud.retail.v2.Catalog], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Catalog][google.cloud.retail.v2.Catalog] to update does not exist,
+ // a NOT_FOUND error is returned.
+ Catalog catalog = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Catalog][google.cloud.retail.v2.Catalog] to update.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request message to set a specified branch as new default_branch.
+message SetDefaultBranchRequest {
+ // Full resource name of the catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // The final component of the resource name of a branch.
+ //
+ // This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // If there are no sufficient active products in the targeted branch and
+ // [force][google.cloud.retail.v2.SetDefaultBranchRequest.force] is not set, a
+ // FAILED_PRECONDITION error is returned.
+ string branch_id = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Some note on this request, this can be retrieved by
+ // [CatalogService.GetDefaultBranch][google.cloud.retail.v2.CatalogService.GetDefaultBranch]
+ // before next valid default branch set occurs.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string note = 3;
+
+ // If set to true, it permits switching to a branch with
+ // [branch_id][google.cloud.retail.v2.SetDefaultBranchRequest.branch_id] even
+ // if it has no sufficient active products.
+ bool force = 4;
+}
+
+// Request message to show which branch is currently the default branch.
+message GetDefaultBranchRequest {
+ // The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+}
+
+// Response message of
+// [CatalogService.GetDefaultBranch][google.cloud.retail.v2.CatalogService.GetDefaultBranch].
+message GetDefaultBranchResponse {
+ // Full resource name of the branch id currently set as default branch.
+ string branch = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // The time when this branch is set to default.
+ google.protobuf.Timestamp set_time = 2;
+
+ // This corresponds to
+ // [SetDefaultBranchRequest.note][google.cloud.retail.v2.SetDefaultBranchRequest.note]
+ // field, when this branch was set as default.
+ string note = 3;
+}
+
+// Request for
+// [CatalogService.GetCompletionConfig][google.cloud.retail.v2.CatalogService.GetCompletionConfig]
+// method.
+message GetCompletionConfigRequest {
+ // Required. Full CompletionConfig resource name. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateCompletionConfig][google.cloud.retail.v2.CatalogService.UpdateCompletionConfig]
+// method.
+message UpdateCompletionConfigRequest {
+ // Required. The [CompletionConfig][google.cloud.retail.v2.CompletionConfig]
+ // to update.
+ //
+ // If the caller does not have permission to update the
+ // [CompletionConfig][google.cloud.retail.v2.CompletionConfig], then a
+ // PERMISSION_DENIED error is returned.
+ //
+ // If the [CompletionConfig][google.cloud.retail.v2.CompletionConfig] to
+ // update does not exist, a NOT_FOUND error is returned.
+ CompletionConfig completion_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CompletionConfig][google.cloud.retail.v2.CompletionConfig] to update. The
+ // following are the only supported fields:
+ //
+ // * [CompletionConfig.matching_order][google.cloud.retail.v2.CompletionConfig.matching_order]
+ // * [CompletionConfig.max_suggestions][google.cloud.retail.v2.CompletionConfig.max_suggestions]
+ // * [CompletionConfig.min_prefix_length][google.cloud.retail.v2.CompletionConfig.min_prefix_length]
+ // * [CompletionConfig.auto_learning][google.cloud.retail.v2.CompletionConfig.auto_learning]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.GetAttributesConfig][google.cloud.retail.v2.CatalogService.GetAttributesConfig]
+// method.
+message GetAttributesConfigRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2.CatalogService.UpdateAttributesConfig]
+// method.
+message UpdateAttributesConfigRequest {
+ // Required. The [AttributesConfig][google.cloud.retail.v2.AttributesConfig]
+ // to update.
+ AttributesConfig attributes_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [AttributesConfig][google.cloud.retail.v2.AttributesConfig] to update. The
+ // following is the only supported field:
+ //
+ // * [AttributesConfig.catalog_attributes][google.cloud.retail.v2.AttributesConfig.catalog_attributes]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.AddCatalogAttribute][google.cloud.retail.v2.CatalogService.AddCatalogAttribute]
+// method.
+message AddCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute]
+ // to add.
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.RemoveCatalogAttribute][google.cloud.retail.v2.CatalogService.RemoveCatalogAttribute]
+// method.
+message RemoveCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The attribute name key of the
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to remove.
+ string key = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.ReplaceCatalogAttribute][google.cloud.retail.v2.CatalogService.ReplaceCatalogAttribute]
+// method.
+message ReplaceCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The updated
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute].
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] to update. The
+ // following are NOT supported:
+ //
+ // * [CatalogAttribute.key][google.cloud.retail.v2.CatalogAttribute.key]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/common.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/common.proto
new file mode 100644
index 00000000000..9864ee7d64f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/common.proto
@@ -0,0 +1,766 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// At which level we offer configuration for attributes.
+enum AttributeConfigLevel {
+ // Value used when unset. In this case, server behavior defaults to
+ // [CATALOG_LEVEL_ATTRIBUTE_CONFIG][google.cloud.retail.v2.AttributeConfigLevel.CATALOG_LEVEL_ATTRIBUTE_CONFIG].
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0;
+
+ // At this level, we honor the attribute configurations set in
+ // [Product.attributes][google.cloud.retail.v2.Product.attributes].
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1;
+
+ // At this level, we honor the attribute configurations set in
+ // [CatalogConfig.attribute_configs][].
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2;
+}
+
+// The type of solution.
+enum SolutionType {
+ // Default value.
+ SOLUTION_TYPE_UNSPECIFIED = 0;
+
+ // Used for Recommendations AI.
+ SOLUTION_TYPE_RECOMMENDATION = 1;
+
+ // Used for Retail Search.
+ SOLUTION_TYPE_SEARCH = 2;
+}
+
+// The use case of Cloud Retail Search.
+enum SearchSolutionUseCase {
+ // The value when it's unspecified. In this case, server behavior defaults to
+ // [SEARCH_SOLUTION_USE_CASE_SEARCH][google.cloud.retail.v2.SearchSolutionUseCase.SEARCH_SOLUTION_USE_CASE_SEARCH].
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0;
+
+ // Search use case. Expects the traffic has a non-empty
+ // [query][google.cloud.retail.v2.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1;
+
+ // Browse use case. Expects the traffic has an empty
+ // [query][google.cloud.retail.v2.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2;
+}
+
+// Metadata that is used to define a condition that triggers an action.
+// A valid condition must specify at least one of 'query_terms' or
+// 'products_filter'. If multiple fields are specified, the condition is met if
+// all the fields are satisfied e.g. if a set of query terms and product_filter
+// are set, then only items matching the product_filter for requests with a
+// query matching the query terms wil get boosted.
+message Condition {
+ // Query terms that we want to match on.
+ message QueryTerm {
+ // The value of the term to match on.
+ // Value cannot be empty.
+ // Value can have at most 3 terms if specified as a partial match. Each
+ // space separated string is considered as one term.
+ // Example) "a b c" is 3 terms and allowed, " a b c d" is 4 terms and not
+ // allowed for partial match.
+ string value = 1;
+
+ // Whether this is supposed to be a full or partial match.
+ bool full_match = 2;
+ }
+
+ // Used for time-dependent conditions.
+ // Example: Want to have rule applied for week long sale.
+ message TimeRange {
+ // Start of time range. Range is inclusive.
+ google.protobuf.Timestamp start_time = 1;
+
+ // End of time range. Range is inclusive.
+ google.protobuf.Timestamp end_time = 2;
+ }
+
+ // A list (up to 10 entries) of terms to match the query on. If not
+ // specified, match all queries.
+ // If many query terms are specified, the condition
+ // is matched if any of the terms is a match (i.e. using the OR operator).
+ repeated QueryTerm query_terms = 1;
+
+ // Range of time(s) specifying when Condition is active.
+ // Condition true if any time range matches.
+ repeated TimeRange active_time_range = 3;
+}
+
+// A rule is a condition-action pair
+// * A condition defines when a rule is to be triggered.
+// * An action specifies what occurs on that trigger.
+// Currently rules only work for [controls][google.cloud.retail.v2.Control] with
+// [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2.SolutionType.SOLUTION_TYPE_SEARCH].
+message Rule {
+ // A boost action to apply to results matching condition specified above.
+ message BoostAction {
+ // Strength of the condition boost, which must be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 1;
+
+ // The filter can have a max size of 5000 characters.
+ // An expression which specifies which products to apply an action to.
+ // The syntax and supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
+ // detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string products_filter = 2;
+ }
+
+ // * Rule Condition:
+ // - No
+ // [Condition.query_terms][google.cloud.retail.v2.Condition.query_terms]
+ // provided is a global match.
+ // - 1 or more
+ // [Condition.query_terms][google.cloud.retail.v2.Condition.query_terms]
+ // provided are combined with OR operator.
+ // * Action Input: The request query and filter that are applied to the
+ // retrieved products, in addition to any filters already provided with the
+ // SearchRequest. The AND operator is used to combine the query's existing
+ // filters with the filter rule(s). NOTE: May result in 0 results when
+ // filters conflict.
+ // * Action Result: Filters the returned objects to be ONLY those that passed
+ // the filter.
+ message FilterAction {
+ // A filter to apply on the matching condition results. Supported features:
+ //
+ // * [filter][google.cloud.retail.v2.Rule.FilterAction.filter] must be set.
+ // * Filter syntax is identical to
+ // [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter]. See
+ // more
+ // details at the Retail Search
+ // [user guide](/retail/search/docs/filter-and-order#filter).
+ // * To filter products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string filter = 1;
+ }
+
+ // Redirects a shopper to a specific page.
+ //
+ // * Rule Condition:
+ // - Must specify
+ // [Condition.query_terms][google.cloud.retail.v2.Condition.query_terms].
+ // * Action Input: Request Query
+ // * Action Result: Redirects shopper to provided uri.
+ message RedirectAction {
+ // URL must have length equal or less than 2000 characters.
+ string redirect_uri = 1;
+ }
+
+ // Creates a set of terms that will be treated as synonyms of each other.
+ // Example: synonyms of "sneakers" and "shoes".
+ // * "sneakers" will use a synonym of "shoes".
+ // * "shoes" will use a synonym of "sneakers".
+ message TwowaySynonymsAction {
+ // Defines a set of synonyms.
+ // Can specify up to 100 synonyms.
+ // Must specify at least 2 synonyms.
+ repeated string synonyms = 1;
+ }
+
+ // Maps a set of terms to a set of synonyms.
+ // Set of synonyms will be treated as synonyms of each query term only.
+ // `query_terms` will not be treated as synonyms of each other.
+ // Example: "sneakers" will use a synonym of "shoes".
+ // "shoes" will not use a synonym of "sneakers".
+ message OnewaySynonymsAction {
+ // Terms from the search query.
+ // Will treat synonyms as their synonyms.
+ // Not themselves synonyms of the synonyms.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 3;
+
+ // Defines a set of synonyms.
+ // Cannot contain duplicates.
+ // Can specify up to 100 synonyms.
+ repeated string synonyms = 4;
+
+ // Will be [deprecated = true] post migration;
+ repeated string oneway_terms = 2;
+ }
+
+ // Prevents `query_term` from being associated with specified terms during
+ // search.
+ // Example: Don't associate "gShoe" and "cheap".
+ message DoNotAssociateAction {
+ // Terms from the search query.
+ // Will not consider do_not_associate_terms for search if in search query.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Cannot contain duplicates or the query term.
+ // Can specify up to 100 terms.
+ repeated string do_not_associate_terms = 3;
+
+ // Will be [deprecated = true] post migration;
+ repeated string terms = 1;
+ }
+
+ // Replaces a term in the query. Multiple replacement candidates can be
+ // specified. All `query_terms` will be replaced with the replacement term.
+ // Example: Replace "gShoe" with "google shoe".
+ message ReplacementAction {
+ // Terms from the search query.
+ // Will be replaced by replacement term.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Term that will be used for replacement.
+ string replacement_term = 3;
+
+ // Will be [deprecated = true] post migration;
+ string term = 1;
+ }
+
+ // Prevents a term in the query from being used in search.
+ // Example: Don't search for "shoddy".
+ message IgnoreAction {
+ // Terms to ignore in the search query.
+ repeated string ignore_terms = 1;
+ }
+
+ // An action must be provided.
+ oneof action {
+ // A boost action.
+ BoostAction boost_action = 2;
+
+ // Redirects a shopper to a specific page.
+ RedirectAction redirect_action = 3;
+
+ // Treats specific term as a synonym with a group of terms.
+ // Group of terms will not be treated as synonyms with the specific term.
+ OnewaySynonymsAction oneway_synonyms_action = 6;
+
+ // Prevents term from being associated with other terms.
+ DoNotAssociateAction do_not_associate_action = 7;
+
+ // Replaces specific terms in the query.
+ ReplacementAction replacement_action = 8;
+
+ // Ignores specific terms from query during search.
+ IgnoreAction ignore_action = 9;
+
+ // Filters results.
+ FilterAction filter_action = 10;
+
+ // Treats a set of terms as synonyms of one another.
+ TwowaySynonymsAction twoway_synonyms_action = 11;
+ }
+
+ // Required. The condition that triggers the rule.
+ // If the condition is empty, the rule will always apply.
+ Condition condition = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An intended audience of the [Product][google.cloud.retail.v2.Product] for
+// whom it's sold.
+message Audience {
+ // The genders of the audience. Strongly encouraged to use the standard
+ // values: "male", "female", "unisex".
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [gender](https://support.google.com/merchants/answer/6324479). Schema.org
+ // property
+ // [Product.audience.suggestedGender](https://schema.org/suggestedGender).
+ repeated string genders = 1;
+
+ // The age groups of the audience. Strongly encouraged to use the standard
+ // values: "newborn" (up to 3 months old), "infant" (3–12 months old),
+ // "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically
+ // teens or older).
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [age_group](https://support.google.com/merchants/answer/6324463).
+ // Schema.org property
+ // [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and
+ // [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).
+ repeated string age_groups = 2;
+}
+
+// The color information of a [Product][google.cloud.retail.v2.Product].
+message ColorInfo {
+ // The standard color families. Strongly recommended to use the following
+ // standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
+ // "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
+ // "Mixed". Normally it is expected to have only 1 color family. May consider
+ // using single "Mixed" instead of multiple values.
+ //
+ // A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string color_families = 1;
+
+ // The color display names, which may be different from standard color family
+ // names, such as the color aliases used in the website frontend. Normally
+ // it is expected to have only 1 color. May consider using single "Mixed"
+ // instead of multiple values.
+ //
+ // A maximum of 25 colors are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string colors = 2;
+}
+
+// A custom attribute that is not explicitly modeled in
+// [Product][google.cloud.retail.v2.Product].
+message CustomAttribute {
+ // The textual values of this custom attribute. For example, `["yellow",
+ // "green"]` when the key is "color".
+ //
+ // Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string text = 1;
+
+ // The numerical values of this custom attribute. For example, `[2.3, 15.4]`
+ // when the key is "lengths_cm".
+ //
+ // Exactly one of [text][google.cloud.retail.v2.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2.CustomAttribute.numbers] should be set.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated double numbers = 2;
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2.Catalog] is set to the deprecated
+ // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level
+ // attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ //
+ // This field is ignored in a [UserEvent][google.cloud.retail.v2.UserEvent].
+ //
+ // Only set if type [text][google.cloud.retail.v2.CustomAttribute.text] is
+ // set. Otherwise, a INVALID_ARGUMENT error is returned.
+ optional bool searchable = 3 [deprecated = true];
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2.Catalog] is set to the deprecated
+ // 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level
+ // attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are indexed, so that they can be filtered,
+ // faceted or boosted in
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ //
+ // This field is ignored in a [UserEvent][google.cloud.retail.v2.UserEvent].
+ //
+ // See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter],
+ // [SearchRequest.facet_specs][google.cloud.retail.v2.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
+ // for more details.
+ optional bool indexable = 4 [deprecated = true];
+}
+
+// Fulfillment information, such as the store IDs for in-store pickup or region
+// IDs for different shipping methods.
+message FulfillmentInfo {
+ // The fulfillment type, including commonly used types (such as pickup in
+ // store and same day delivery), and custom types. Customers have to map
+ // custom types to their display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ string type = 1;
+
+ // The IDs for this [type][google.cloud.retail.v2.FulfillmentInfo.type], such
+ // as the store IDs for
+ // [FulfillmentInfo.type.pickup-in-store][google.cloud.retail.v2.FulfillmentInfo.type]
+ // or the region IDs for
+ // [FulfillmentInfo.type.same-day-delivery][google.cloud.retail.v2.FulfillmentInfo.type].
+ //
+ // A maximum of 3000 values are allowed. Each value must be a string with a
+ // length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such
+ // as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string place_ids = 2;
+}
+
+// [Product][google.cloud.retail.v2.Product] image. Recommendations AI and
+// Retail Search do not use product images to improve prediction and search
+// results. However, product images can be returned in results, and are shown in
+// prediction or search previews in the console.
+message Image {
+ // Required. URI of the image.
+ //
+ // This field must be a valid UTF-8 encoded URI with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Height of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 height = 2;
+
+ // Width of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 width = 3;
+}
+
+// A floating point interval.
+message Interval {
+ // The lower bound of the interval. If neither of the min fields are set, then
+ // the lower bound is negative infinity.
+ //
+ // This field must not be larger than max.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof min {
+ // Inclusive lower bound.
+ double minimum = 1;
+
+ // Exclusive lower bound.
+ double exclusive_minimum = 2;
+ }
+
+ // The upper bound of the interval. If neither of the max fields are set, then
+ // the upper bound is positive infinity.
+ //
+ // This field must be not smaller than min.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof max {
+ // Inclusive upper bound.
+ double maximum = 3;
+
+ // Exclusive upper bound.
+ double exclusive_maximum = 4;
+ }
+}
+
+// The price information of a [Product][google.cloud.retail.v2.Product].
+message PriceInfo {
+ // The price range of all
+ // [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
+ message PriceRange {
+ // The inclusive
+ // [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
+ // interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
+ Interval price = 1;
+
+ // The inclusive
+ // [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
+ // internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
+ Interval original_price = 2;
+ }
+
+ // The 3-letter currency code defined in [ISO
+ // 4217](https://www.iso.org/iso-4217-currency-codes.html).
+ //
+ // If this field is an unrecognizable currency code, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s with the same
+ // [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
+ // must share the same
+ // [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
+ // a FAILED_PRECONDITION error is returned.
+ string currency_code = 1;
+
+ // Price of the product.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371). Schema.org
+ // property [Offer.price](https://schema.org/price).
+ float price = 2;
+
+ // Price of the product without any discount. If zero, by default set to be
+ // the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
+ // [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
+ // greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
+ // otherwise an INVALID_ARGUMENT error is thrown.
+ float original_price = 3;
+
+ // The costs associated with the sale of a particular product. Used for gross
+ // profit reporting.
+ //
+ // * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
+ // [cost][google.cloud.retail.v2.PriceInfo.cost]
+ //
+ // Google Merchant Center property
+ // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
+ float cost = 4;
+
+ // The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
+ // starts to be effective. This can be set as a future timestamp, and the
+ // [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
+ // after
+ // [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
+ // If so, the
+ // [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
+ // set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
+ // is used before
+ // [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
+ // effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_effective_time = 5;
+
+ // The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
+ // stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
+ // is used for search before
+ // [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
+ // this field is set, the
+ // [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
+ // set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
+ // is used after
+ // [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
+ // effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_expire_time = 6;
+
+ // Output only. The price range of all the child
+ // [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s grouped together on the
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]. Only populated for
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ PriceRange price_range = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The rating of a [Product][google.cloud.retail.v2.Product].
+message Rating {
+ // The total number of ratings. This value is independent of the value of
+ // [rating_histogram][google.cloud.retail.v2.Rating.rating_histogram].
+ //
+ // This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 rating_count = 1;
+
+ // The average rating of the [Product][google.cloud.retail.v2.Product].
+ //
+ // The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ float average_rating = 2;
+
+ // List of rating counts per rating value (index = rating - 1). The list is
+ // empty if there is no rating. If the list is non-empty, its size is
+ // always 5. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // For example, [41, 14, 13, 47, 303]. It means that the
+ // [Product][google.cloud.retail.v2.Product] got 41 ratings with 1 star, 14
+ // ratings with 2 star, and so on.
+ repeated int32 rating_histogram = 3;
+}
+
+// Information of an end user.
+message UserInfo {
+ // Highly recommended for logged-in users. Unique identifier for logged-in
+ // user, such as a user name. Don't set for anonymous users.
+ //
+ // Always use a hashed value for this ID.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded
+ // model quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string user_id = 1;
+
+ // The end user's IP address. This field is used to extract location
+ // information for personalization.
+ //
+ // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
+ // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when:
+ //
+ // * setting
+ // [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
+ // * using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
+ // is set.
+ string ip_address = 2;
+
+ // User agent as included in the HTTP header. Required for getting
+ // [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when using the client side event reporting with
+ // GTM or JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
+ // is set.
+ string user_agent = 3;
+
+ // True if the request is made directly from the end user, in which case the
+ // [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
+ // [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
+ // from the HTTP request. This flag should be set only if the API request is
+ // made directly from the end user such as a mobile app (and not if a gateway
+ // or a server is processing and pushing the user events).
+ //
+ // This should not be set when using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
+ bool direct_user_request = 4;
+}
+
+// The inventory information at a place (e.g. a store) identified
+// by a place ID.
+message LocalInventory {
+ // The place ID for the current set of inventory information.
+ string place_id = 1;
+
+ // Product price and cost information.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 2;
+
+ // Additional local inventory attributes, for example, store name, promotion
+ // tags, etc.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * At most 30 attributes are allowed.
+ // * The key must be a UTF-8 encoded string with a length limit of 32
+ // characters.
+ // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example,
+ // key0LikeThis or KEY_1_LIKE_THIS.
+ // * The attribute values must be of the same type (text or number).
+ // * Only 1 value is allowed for each attribute.
+ // * For text values, the length limit is 256 UTF-8 characters.
+ // * The attribute does not support search. The `searchable` field should be
+ // unset or set to false.
+ // * The max summed total bytes of custom attribute keys and values per
+ // product is 5MiB.
+ map attributes = 3;
+
+ // Input only. Supported fulfillment types. Valid fulfillment type values
+ // include commonly used types (such as pickup in store and same day
+ // delivery), and custom types. Customers have to map custom types to their
+ // display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string fulfillment_types = 4
+ [(google.api.field_behavior) = INPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/completion_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/completion_service.proto
new file mode 100644
index 00000000000..af0fac87e79
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/completion_service.proto
@@ -0,0 +1,210 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/import_config.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CompletionServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Auto-completion service for retail.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Please enable Retail Search on Cloud Console before using this feature.
+service CompletionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Completes the specified prefix with keyword suggestions.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) {
+ option (google.api.http) = {
+ get: "/v2/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
+ };
+ }
+
+ // Bulk import of processed completion dataset.
+ //
+ // Request processing is asynchronous. Partial updating is not supported.
+ //
+ // The operation is successfully finished only after the imported suggestions
+ // are indexed successfully and ready for serving. The process takes hours.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc ImportCompletionData(ImportCompletionDataRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/completionData:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.ImportCompletionDataResponse"
+ metadata_type: "google.cloud.retail.v2.ImportMetadata"
+ };
+ }
+}
+
+// Auto-complete parameters.
+message CompleteQueryRequest {
+ // Required. Catalog for which the completion is performed.
+ //
+ // Full resource name of catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The query used to generate suggestions.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required field. A unique identifier for tracking visitors. For example,
+ // this could be implemented with an HTTP cookie, which should be able to
+ // uniquely identify a visitor on a single device. This unique identifier
+ // should not change if the visitor logs in or out of the website.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 7;
+
+ // Note that this field applies for `user-data` dataset only. For requests
+ // with `cloud-retail` dataset, setting this field has no effect.
+ //
+ // The language filters applied to the output suggestions. If set, it should
+ // contain the language of the query. If not set, suggestions are returned
+ // without considering language restrictions. 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 language codes is 3.
+ repeated string language_codes = 3;
+
+ // The device type context for completion suggestions.
+ // It is useful to apply different suggestions on different device types, e.g.
+ // `DESKTOP`, `MOBILE`. If it is empty, the suggestions are across all device
+ // types.
+ //
+ // Supported formats:
+ //
+ // * `UNKNOWN_DEVICE_TYPE`
+ //
+ // * `DESKTOP`
+ //
+ // * `MOBILE`
+ //
+ // * A customized string starts with `OTHER_`, e.g. `OTHER_IPHONE`.
+ string device_type = 4;
+
+ // Determines which dataset to use for fetching completion. "user-data" will
+ // use the imported dataset through
+ // [CompletionService.ImportCompletionData][google.cloud.retail.v2.CompletionService.ImportCompletionData].
+ // "cloud-retail" will use the dataset generated by cloud retail based on user
+ // events. If leave empty, it will use the "user-data".
+ //
+ // Current supported values:
+ //
+ // * user-data
+ //
+ // * cloud-retail:
+ // This option requires enabling auto-learning function first. See
+ // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
+ string dataset = 6;
+
+ // Completion max suggestions. If left unset or set to 0, then will fallback
+ // to the configured value
+ // [CompletionConfig.max_suggestions][google.cloud.retail.v2.CompletionConfig.max_suggestions].
+ //
+ // The maximum allowed max suggestions is 20. If it is set higher, it will be
+ // capped by 20.
+ int32 max_suggestions = 5;
+}
+
+// Response of the auto-complete query.
+message CompleteQueryResponse {
+ // Resource that represents completion results.
+ message CompletionResult {
+ // The suggestion for the query.
+ string suggestion = 1;
+
+ // Custom attributes for the suggestion term.
+ //
+ // * For "user-data", the attributes are additional custom attributes
+ // ingested through BigQuery.
+ //
+ // * For "cloud-retail", the attributes are product attributes generated
+ // by Cloud Retail. It requires
+ // [UserEvent.product_details][google.cloud.retail.v2.UserEvent.product_details]
+ // is imported properly.
+ map attributes = 2;
+ }
+
+ // Recent search of this user.
+ message RecentSearchResult {
+ // The recent search query.
+ string recent_search = 1;
+ }
+
+ // Results of the matching suggestions. The result list is ordered and the
+ // first result is top suggestion.
+ repeated CompletionResult completion_results = 1;
+
+ // A unique complete token. This should be included in the
+ // [UserEvent.completion_detail][google.cloud.retail.v2.UserEvent.completion_detail]
+ // for search events resulting from this completion, which enables accurate
+ // attribution of complete model performance.
+ string attribution_token = 2;
+
+ // Matched recent searches of this user. The maximum number of recent searches
+ // is 10. This field is a restricted feature. Contact Retail Search support
+ // team if you are interested in enabling it.
+ //
+ // This feature is only available when
+ // [CompleteQueryRequest.visitor_id][google.cloud.retail.v2.CompleteQueryRequest.visitor_id]
+ // field is set and [UserEvent][google.cloud.retail.v2.UserEvent] is imported.
+ // The recent searches satisfy the follow rules:
+ //
+ // * They are ordered from latest to oldest.
+ //
+ // * They are matched with
+ // [CompleteQueryRequest.query][google.cloud.retail.v2.CompleteQueryRequest.query]
+ // case insensitively.
+ //
+ // * They are transformed to lower case.
+ //
+ // * They are UTF-8 safe.
+ //
+ // Recent searches are deduplicated. More recent searches will be reserved
+ // when duplication happens.
+ repeated RecentSearchResult recent_search_results = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/control.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/control.proto
new file mode 100644
index 00000000000..5558e44dd8c
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/control.proto
@@ -0,0 +1,93 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Configures dynamic metadata that can be linked to a
+// [ServingConfig][google.cloud.retail.v2.ServingConfig] and affect search or
+// recommendation results at serving time.
+message Control {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Control"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
+ };
+
+ // The behavior/type of the control
+ //
+ // A behavior/type must be specified on creation. Type cannot be changed once
+ // specified (e.g. A Rule control will always be a Rule control.). An
+ // INVALID_ARGUMENT will be returned if either condition is violated.
+ oneof control {
+ // A rule control - a condition-action pair.
+ // Enacts a set action when the condition is triggered.
+ // For example: Boost "gShoe" when query full matches "Running Shoes".
+ Rule rule = 4;
+ }
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/controls/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable control display name. Used in Retail UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is thrown.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. List of [serving
+ // configuration][google.cloud.retail.v2.ServingConfig] ids that are
+ // associated with this control in the same
+ // [Catalog][google.cloud.retail.v2.Catalog].
+ //
+ // Note the association is managed via the
+ // [ServingConfig][google.cloud.retail.v2.ServingConfig], this is an output
+ // only denormalized view.
+ repeated string associated_serving_config_ids = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The solution types that the control is used for.
+ // Currently we support setting only one type of solution at creation time.
+ //
+ // Only `SOLUTION_TYPE_SEARCH` value is supported at the moment.
+ // If no solution type is provided at creation time, will default to
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated SolutionType solution_types = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Specifies the use case for the control.
+ // Affects what condition fields can be set.
+ // Only settable by search controls.
+ // Will default to
+ // [SEARCH_SOLUTION_USE_CASE_SEARCH][google.cloud.retail.v2.SearchSolutionUseCase.SEARCH_SOLUTION_USE_CASE_SEARCH]
+ // if not specified. Currently only allow one search_solution_use_case per
+ // control.
+ repeated SearchSolutionUseCase search_solution_use_case = 7;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/control_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/control_service.proto
new file mode 100644
index 00000000000..24e8c1c4464
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/control_service.proto
@@ -0,0 +1,185 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/control.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for modifying Control.
+service ControlService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a Control.
+ //
+ // If the [Control][google.cloud.retail.v2.Control] to create already exists,
+ // an ALREADY_EXISTS error is returned.
+ rpc CreateControl(CreateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/controls"
+ body: "control"
+ };
+ option (google.api.method_signature) = "parent,control,control_id";
+ }
+
+ // Deletes a Control.
+ //
+ // If the [Control][google.cloud.retail.v2.Control] to delete does not exist,
+ // a NOT_FOUND error is returned.
+ rpc DeleteControl(DeleteControlRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a Control.
+ //
+ // [Control][google.cloud.retail.v2.Control] cannot be set to a different
+ // oneof field, if so an INVALID_ARGUMENT is returned. If the
+ // [Control][google.cloud.retail.v2.Control] to update does not exist, a
+ // NOT_FOUND error is returned.
+ rpc UpdateControl(UpdateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ patch: "/v2/{control.name=projects/*/locations/*/catalogs/*/controls/*}"
+ body: "control"
+ };
+ option (google.api.method_signature) = "control,update_mask";
+ }
+
+ // Gets a Control.
+ rpc GetControl(GetControlRequest) returns (Control) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all Controls by their parent
+ // [Catalog][google.cloud.retail.v2.Catalog].
+ rpc ListControls(ListControlsRequest) returns (ListControlsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/locations/*/catalogs/*}/controls"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Request for CreateControl method.
+message CreateControlRequest {
+ // Required. Full resource name of parent catalog. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The Control to create.
+ Control control = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the Control, which will become the final
+ // component of the Control's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string control_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateControl method.
+message UpdateControlRequest {
+ // Required. The Control to update.
+ Control control = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Control][google.cloud.retail.v2.Control] to update. The following are NOT
+ // supported:
+ //
+ // * [Control.name][google.cloud.retail.v2.Control.name]
+ //
+ // If not set or empty, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteControl method.
+message DeleteControlRequest {
+ // Required. The resource name of the Control to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for GetControl method.
+message GetControlRequest {
+ // Required. The resource name of the Control to get. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for ListControls method.
+message ListControlsRequest {
+ // Required. The catalog resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 50. Max allowed value is 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListControls` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2.ListControlsRequest.filter] is unset.
+ // * List controls that are used in a single ServingConfig:
+ // 'serving_config = "boosted_home_page_cvr"'
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListControls method.
+message ListControlsResponse {
+ // All the Controls for a given catalog.
+ repeated Control controls = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/import_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/import_config.proto
new file mode 100644
index 00000000000..23b06369206
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/import_config.proto
@@ -0,0 +1,386 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/product.proto";
+import "google/cloud/retail/v2/user_event.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/date.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ImportConfigProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Google Cloud Storage location for input content.
+message GcsSource {
+ // Required. Google Cloud Storage URIs to input files. URI can be up to
+ // 2000 characters long. URIs can match the full object path (for example,
+ // `gs://bucket/directory/object.json`) or a pattern matching one or more
+ // files, such as `gs://bucket/directory/*.json`. A request can
+ // contain at most 100 files, and each file can be up to 2 GB. See
+ // [Importing product
+ // information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog)
+ // for the expected file format and setup instructions.
+ repeated string input_uris = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
+ // per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2.UserEvent] per line.
+ // * `user_event_ga360`: Using
+ // https://support.google.com/analytics/answer/3437719.
+ //
+ // Supported values for control imports:
+ //
+ // * `control` (default): One JSON [Control][google.cloud.retail.v2.Control]
+ // per line.
+ //
+ // Supported values for catalog attribute imports:
+ //
+ // * `catalog_attribute` (default): One CSV
+ // [CatalogAttribute][google.cloud.retail.v2.CatalogAttribute] per line.
+ string data_schema = 2;
+}
+
+// BigQuery source import data from.
+message BigQuerySource {
+ // BigQuery table partition info. Leave this empty if the BigQuery table
+ // is not partitioned.
+ oneof partition {
+ // BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
+ //
+ // Only supported in
+ // [ImportProductsRequest][google.cloud.retail.v2.ImportProductsRequest].
+ google.type.Date partition_date = 6;
+ }
+
+ // The project ID (can be project # or ID) that the BigQuery source is in with
+ // a length limit of 128 characters. If not specified, inherits the project
+ // ID from the parent request.
+ string project_id = 5;
+
+ // Required. The BigQuery data set to copy the data from with a length limit
+ // of 1,024 characters.
+ string dataset_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The BigQuery table to copy the data from with a length limit of
+ // 1,024 characters.
+ string table_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Intermediate Cloud Storage directory used for the import with a length
+ // limit of 2,000 characters. Can be specified if one wants to have the
+ // BigQuery export to a specific Cloud Storage directory.
+ string gcs_staging_dir = 3;
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON [Product][google.cloud.retail.v2.Product]
+ // per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2.UserEvent] per line.
+ // * `user_event_ga360`:
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/3437719.
+ // * `user_event_ga4`:
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/7029846.
+ //
+ // Supported values for auto-completion imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ string data_schema = 4;
+}
+
+// The inline source for the input config for ImportProducts method.
+message ProductInlineSource {
+ // Required. A list of products to update/create. Each product must have a
+ // valid [Product.id][google.cloud.retail.v2.Product.id]. Recommended max of
+ // 100 items.
+ repeated Product products = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The inline source for the input config for ImportUserEvents method.
+message UserEventInlineSource {
+ // Required. A list of user events to import. Recommended max of 10k items.
+ repeated UserEvent user_events = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Configuration of destination for Import related errors.
+message ImportErrorsConfig {
+ // Required. Errors destination.
+ oneof destination {
+ // Google Cloud Storage prefix for import errors. This must be an empty,
+ // existing Cloud Storage directory. Import errors are written to
+ // sharded files in this directory, one per line, as a JSON-encoded
+ // `google.rpc.Status` message.
+ string gcs_prefix = 1;
+ }
+}
+
+// Request message for Import methods.
+message ImportProductsRequest {
+ // Indicates how imported products are reconciled with the existing products
+ // created or imported before.
+ enum ReconciliationMode {
+ // Defaults to INCREMENTAL.
+ RECONCILIATION_MODE_UNSPECIFIED = 0;
+
+ // Inserts new products or updates existing products.
+ INCREMENTAL = 1;
+
+ // Calculates diff and replaces the entire product dataset. Existing
+ // products may be deleted if they are not present in the source location.
+ FULL = 2;
+ }
+
+ // Required.
+ // `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch`
+ //
+ // If no updateMask is specified, requires products.create permission.
+ // If updateMask is specified, requires products.update permission.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Deprecated. This field has no effect.
+ string request_id = 6 [deprecated = true];
+
+ // Required. The desired input location of the data.
+ ProductInputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import.
+ ImportErrorsConfig errors_config = 3;
+
+ // Indicates which fields in the provided imported `products` to update. If
+ // not set, all fields are updated.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mode of reconciliation between existing products and the products to be
+ // imported. Defaults to
+ // [ReconciliationMode.INCREMENTAL][google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode.INCREMENTAL].
+ ReconciliationMode reconciliation_mode = 5;
+
+ // Full Pub/Sub topic name for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ //
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
+ // to be within the same project as
+ // [ImportProductsRequest.parent][google.cloud.retail.v2.ImportProductsRequest.parent].
+ // Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the
+ // `pubsub.topics.publish` IAM permission on the topic.
+ string notification_pubsub_topic = 7;
+}
+
+// Request message for the ImportUserEvents request.
+message ImportUserEventsRequest {
+ // Required. `projects/1234/locations/global/catalogs/default_catalog`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ UserEventInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import. Cannot be set
+ // for inline user event imports.
+ ImportErrorsConfig errors_config = 3;
+}
+
+// Request message for ImportCompletionData methods.
+message ImportCompletionDataRequest {
+ // Required. The catalog which the suggestions dataset belongs to.
+ //
+ // Format: `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ CompletionDataInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 3;
+}
+
+// The input config source for products.
+message ProductInputConfig {
+ // Required. The source of the input.
+ oneof source {
+ // The Inline source for the input content for products.
+ ProductInlineSource product_inline_source = 1;
+
+ // Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2;
+
+ // BigQuery input source.
+ BigQuerySource big_query_source = 3;
+ }
+}
+
+// The input config source for user events.
+message UserEventInputConfig {
+ // The source of the input.
+ oneof source {
+ // Required. The Inline source for the input content for UserEvents.
+ UserEventInlineSource user_event_inline_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. BigQuery input source.
+ BigQuerySource big_query_source = 3
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// The input config source for completion data.
+message CompletionDataInputConfig {
+ // The source of the input.
+ //
+ // Supported
+ // [BigQuerySource.data_schema][google.cloud.retail.v2.BigQuerySource.data_schema]
+ // values for suggestions imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ oneof source {
+ // Required. BigQuery input source.
+ //
+ // Add the IAM permission "BigQuery Data Viewer" for
+ // cloud-retail-customer-data-access@system.gserviceaccount.com before
+ // using this feature otherwise an error is thrown.
+ BigQuerySource big_query_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// Metadata related to the progress of the Import operation. This is
+// returned by the google.longrunning.Operation.metadata field.
+message ImportMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+
+ // Count of entries that were processed successfully.
+ int64 success_count = 3;
+
+ // Count of entries that encountered errors while processing.
+ int64 failure_count = 4;
+
+ // Deprecated. This field is never set.
+ string request_id = 5 [deprecated = true];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 6;
+}
+
+// Response of the
+// [ImportProductsRequest][google.cloud.retail.v2.ImportProductsRequest]. If the
+// long running operation is done, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportProductsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors in the request if set.
+ ImportErrorsConfig errors_config = 2;
+}
+
+// Response of the ImportUserEventsRequest. If the long running
+// operation was successful, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportUserEventsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors if this field was set in
+ // the request.
+ ImportErrorsConfig errors_config = 2;
+
+ // Aggregated statistics of user event import status.
+ UserEventImportSummary import_summary = 3;
+}
+
+// A summary of import result. The UserEventImportSummary summarizes
+// the import status for user events.
+message UserEventImportSummary {
+ // Count of user events imported with complete existing catalog information.
+ int64 joined_events_count = 1;
+
+ // Count of user events imported, but with catalog information not found
+ // in the imported catalog.
+ int64 unjoined_events_count = 2;
+}
+
+// Response of the
+// [ImportCompletionDataRequest][google.cloud.retail.v2.ImportCompletionDataRequest].
+// If the long running operation is done, this message is returned by the
+// google.longrunning.Operations.response field if the operation is successful.
+message ImportCompletionDataResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/prediction_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/prediction_service.proto
new file mode 100644
index 00000000000..717405b2b81
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/prediction_service.proto
@@ -0,0 +1,223 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/cloud/retail/v2/user_event.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PredictionServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for making recommendation prediction.
+service PredictionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Makes a recommendation prediction.
+ rpc Predict(PredictRequest) returns (PredictResponse) {
+ option (google.api.http) = {
+ post: "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for Predict method.
+message PredictRequest {
+ // Required. Full resource name of the format:
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}`
+ // or
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/placements/*}`.
+ // We recommend using the `servingConfigs` resource. `placements` is a legacy
+ // resource.
+ // The ID of the Recommendations AI serving config or placement.
+ // Before you can request predictions from your model, you must create at
+ // least one serving config or placement for it. For more information, see
+ // [Managing serving configurations]
+ // (https://cloud.google.com/retail/docs/manage-configs).
+ //
+ // The full list of available serving configs can be seen at
+ // https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Context about the user, what they are looking at and what action
+ // they took to trigger the predict request. Note that this user event detail
+ // won't be ingested to userEvent logs. Thus, a separate userEvent write
+ // request is required for event logging.
+ //
+ // Don't set
+ // [UserEvent.visitor_id][google.cloud.retail.v2.UserEvent.visitor_id] or
+ // [UserInfo.user_id][google.cloud.retail.v2.UserInfo.user_id] to the same
+ // fixed ID for different users. If you are trying to receive non-personalized
+ // recommendations (not recommended; this can negatively impact model
+ // performance), instead set
+ // [UserEvent.visitor_id][google.cloud.retail.v2.UserEvent.visitor_id] to a
+ // random unique ID and leave
+ // [UserInfo.user_id][google.cloud.retail.v2.UserInfo.user_id] unset.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum number of results to return. Set this property to the number of
+ // prediction results needed. If zero, the service will choose a reasonable
+ // default. The maximum allowed value is 100. Values above 100 will be coerced
+ // to 100.
+ int32 page_size = 3;
+
+ // This field is not used; leave it unset.
+ string page_token = 4 [deprecated = true];
+
+ // Filter for restricting prediction results with a length limit of 5,000
+ // characters. Accepts values for tags and the `filterOutOfStockItems` flag.
+ //
+ // * Tag expressions. Restricts predictions to products that match all of the
+ // specified tags. Boolean operators `OR` and `NOT` are supported if the
+ // expression is enclosed in parentheses, and must be separated from the
+ // tag values by a space. `-"tagA"` is also supported and is equivalent to
+ // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings
+ // with a size limit of 1,000 characters.
+ //
+ // Note: "Recently viewed" models don't support tag filtering at the
+ // moment.
+ //
+ // * filterOutOfStockItems. Restricts predictions to products that do not
+ // have a
+ // stockState value of OUT_OF_STOCK.
+ //
+ // Examples:
+ //
+ // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
+ // * filterOutOfStockItems tag=(-"promotional")
+ // * filterOutOfStockItems
+ //
+ // If your filter blocks all prediction results, the API will return generic
+ // (unfiltered) popular products. If you only want results strictly matching
+ // the filters, set `strictFiltering` to True in `PredictRequest.params` to
+ // receive empty results instead.
+ // Note that the API will never return items with storageStatus of "EXPIRED"
+ // or "DELETED" regardless of filter choices.
+ //
+ // If `filterSyntaxV2` is set to true under the `params` field, then
+ // attribute-based expressions are expected instead of the above described
+ // tag-based syntax. Examples:
+ //
+ // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones"))
+ // * (availability: ANY("IN_STOCK")) AND
+ // (colors: ANY("Red") OR categories: ANY("Phones"))
+ string filter = 5;
+
+ // Use validate only mode for this prediction query. If set to true, a
+ // dummy model will be used that returns arbitrary products.
+ // Note that the validate only mode should only be used for testing the API,
+ // or if the model is not ready.
+ bool validate_only = 6;
+
+ // Additional domain specific parameters for the predictions.
+ //
+ // Allowed values:
+ //
+ // * `returnProduct`: Boolean. If set to true, the associated product
+ // object will be returned in the `results.metadata` field in the
+ // prediction response.
+ // * `returnScore`: Boolean. If set to true, the prediction 'score'
+ // corresponding to each returned product will be set in the
+ // `results.metadata` field in the prediction response. The given
+ // 'score' indicates the probability of an product being clicked/purchased
+ // given the user's context and history.
+ // * `strictFiltering`: Boolean. True by default. If set to false, the service
+ // will return generic (unfiltered) popular products instead of empty if
+ // your filter blocks all prediction results.
+ // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-price-reranking', 'low-price-reranking',
+ // 'medium-price-reranking', 'high-price-reranking'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // price.
+ // * `diversityLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-diversity', 'low-diversity',
+ // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // category.
+ // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter`
+ // field is interpreteted according to the new, attribute-based syntax.
+ map params = 7;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 8;
+}
+
+// Response message for predict method.
+message PredictResponse {
+ // PredictionResult represents the recommendation prediction results.
+ message PredictionResult {
+ // ID of the recommended product
+ string id = 1;
+
+ // Additional product metadata / annotations.
+ //
+ // Possible values:
+ //
+ // * `product`: JSON representation of the product. Is set if
+ // `returnProduct` is set to true in `PredictRequest.params`.
+ // * `score`: Prediction score in double value. Is set if
+ // `returnScore` is set to true in `PredictRequest.params`.
+ map metadata = 2;
+ }
+
+ // A list of recommended products. The order represents the ranking (from the
+ // most relevant product to the least).
+ repeated PredictionResult results = 1;
+
+ // A unique attribution token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2.UserEvent] logs resulting from this
+ // recommendation, which enables accurate attribution of recommendation model
+ // performance.
+ string attribution_token = 2;
+
+ // IDs of products in the request that were missing from the inventory.
+ repeated string missing_ids = 3;
+
+ // True if the validateOnly property was set in the request.
+ bool validate_only = 4;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/product.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/product.proto
new file mode 100644
index 00000000000..fe5d212cf07
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/product.proto
@@ -0,0 +1,565 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/promotion.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+option (google.api.resource_definition) = {
+ type: "retail.googleapis.com/Branch"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}"
+};
+
+// Product captures all metadata information of items to be recommended or
+// searched.
+message Product {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Product"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
+ };
+
+ // The type of this product.
+ enum Type {
+ // Default value. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ TYPE_UNSPECIFIED = 0;
+
+ // The primary type.
+ //
+ // As the primary unit for predicting, indexing and search serving, a
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product] is grouped with multiple
+ // [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s.
+ PRIMARY = 1;
+
+ // The variant type.
+ //
+ // [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s usually share some common
+ // attributes on the same
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]s, but they have variant
+ // attributes like different colors, sizes and prices, etc.
+ VARIANT = 2;
+
+ // The collection type. Collection products are bundled
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]s or
+ // [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s that are sold together, such
+ // as a jewelry set with necklaces, earrings and rings, etc.
+ COLLECTION = 3;
+ }
+
+ // Product availability. If this field is unspecified, the product is
+ // assumed to be in stock.
+ enum Availability {
+ // Default product availability. Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK]
+ // if unset.
+ AVAILABILITY_UNSPECIFIED = 0;
+
+ // Product in stock.
+ IN_STOCK = 1;
+
+ // Product out of stock.
+ OUT_OF_STOCK = 2;
+
+ // Product that is in pre-order state.
+ PREORDER = 3;
+
+ // Product that is back-ordered (i.e. temporarily out of stock).
+ BACKORDER = 4;
+ }
+
+ oneof expiration {
+ // The timestamp when this product becomes unavailable for
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ //
+ // If it is set, the [Product][google.cloud.retail.v2.Product] is not
+ // available for
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
+ // [expire_time][google.cloud.retail.v2.Product.expire_time]. However, the
+ // product can still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // [expire_time][google.cloud.retail.v2.Product.expire_time] must be later
+ // than [available_time][google.cloud.retail.v2.Product.available_time] and
+ // [publish_time][google.cloud.retail.v2.Product.publish_time], otherwise an
+ // INVALID_ARGUMENT error is thrown.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [expiration_date](https://support.google.com/merchants/answer/6324499).
+ google.protobuf.Timestamp expire_time = 16;
+
+ // Input only. The TTL (time to live) of the product.
+ //
+ // If it is set, it must be a non-negative value, and
+ // [expire_time][google.cloud.retail.v2.Product.expire_time] is set as
+ // current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl]. The
+ // derived [expire_time][google.cloud.retail.v2.Product.expire_time] is
+ // returned in the output and [ttl][google.cloud.retail.v2.Product.ttl] is
+ // left blank when retrieving the [Product][google.cloud.retail.v2.Product].
+ //
+ // If it is set, the product is not available for
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search] after
+ // current timestamp plus [ttl][google.cloud.retail.v2.Product.ttl].
+ // However, the product can still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ google.protobuf.Duration ttl = 17
+ [(google.api.field_behavior) = INPUT_ONLY];
+ }
+
+ // Immutable. Full resource name of the product, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. [Product][google.cloud.retail.v2.Product] identifier, which is
+ // the final component of [name][google.cloud.retail.v2.Product.name]. For
+ // example, this field is "id_1", if
+ // [name][google.cloud.retail.v2.Product.name] is
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [id](https://support.google.com/merchants/answer/6324405). Schema.org
+ // property [Product.sku](https://schema.org/sku).
+ string id = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. The type of the product. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ Type type = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Variant group identifier. Must be an
+ // [id][google.cloud.retail.v2.Product.id], with the same parent branch with
+ // this product. Otherwise, an error is thrown.
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]s, this field can only be empty or
+ // set to the same value as [id][google.cloud.retail.v2.Product.id].
+ //
+ // For VARIANT [Product][google.cloud.retail.v2.Product]s, this field cannot
+ // be empty. A maximum of 2,000 products are allowed to share the same
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]. Otherwise, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [item_group_id](https://support.google.com/merchants/answer/6324507).
+ // Schema.org property
+ // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
+ string primary_product_id = 4;
+
+ // The [id][google.cloud.retail.v2.Product.id] of the collection members when
+ // [type][google.cloud.retail.v2.Product.type] is
+ // [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION].
+ //
+ // Non-existent product ids are allowed.
+ // The [type][google.cloud.retail.v2.Product.type] of the members must be
+ // either [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] or
+ // [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT] otherwise an
+ // INVALID_ARGUMENT error is thrown. Should not set it for other types. A
+ // maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
+ // return.
+ repeated string collection_member_ids = 5;
+
+ // The Global Trade Item Number (GTIN) of the product.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [gtin](https://support.google.com/merchants/answer/6324461).
+ // Schema.org property
+ // [Product.isbn](https://schema.org/isbn),
+ // [Product.gtin8](https://schema.org/gtin8),
+ // [Product.gtin12](https://schema.org/gtin12),
+ // [Product.gtin13](https://schema.org/gtin13), or
+ // [Product.gtin14](https://schema.org/gtin14).
+ //
+ // If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+ string gtin = 6;
+
+ // Product categories. This field is repeated for supporting one product
+ // belonging to several parallel categories. Strongly recommended using the
+ // full path for better search / recommendation quality.
+ //
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // For example, if a shoes product belongs to both
+ // ["Shoes & Accessories" -> "Shoes"] and
+ // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
+ // represented as:
+ //
+ // "categories": [
+ // "Shoes & Accessories > Shoes",
+ // "Sports & Fitness > Athletic Clothing > Shoes"
+ // ]
+ //
+ // Must be set for [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product] otherwise an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2.Product]. Empty values are not allowed.
+ // Each value must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [google_product_category][mc_google_product_category]. Schema.org property
+ // [Product.category] (https://schema.org/category).
+ //
+ // [mc_google_product_category]:
+ // https://support.google.com/merchants/answer/6324436
+ repeated string categories = 7;
+
+ // Required. Product title.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [title](https://support.google.com/merchants/answer/6324415). Schema.org
+ // property [Product.name](https://schema.org/name).
+ string title = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The brands of the product.
+ //
+ // A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
+ // string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [brand](https://support.google.com/merchants/answer/6324351). Schema.org
+ // property [Product.brand](https://schema.org/brand).
+ repeated string brands = 9;
+
+ // Product description.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [description](https://support.google.com/merchants/answer/6324468).
+ // Schema.org property [Product.description](https://schema.org/description).
+ string description = 10;
+
+ // Language of the title/description and other string attributes. Use language
+ // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
+ //
+ // For product prediction, this field is ignored and the model automatically
+ // detects the text language. The [Product][google.cloud.retail.v2.Product]
+ // can include text in different languages, but duplicating
+ // [Product][google.cloud.retail.v2.Product]s to provide text in multiple
+ // languages can result in degraded model performance.
+ //
+ // For product search this field is in use. It defaults to "en-US" if unset.
+ string language_code = 11;
+
+ // Highly encouraged. Extra product attributes to be included. For example,
+ // for products, this could include the store name, vendor, style, color, etc.
+ // These are very strong signals for recommendation model, thus we highly
+ // recommend providing the attributes here.
+ //
+ // Features that can take on one of a limited number of possible values. Two
+ // types of features can be set are:
+ //
+ // Textual features. some examples would be the brand/maker of a product, or
+ // country of a customer. Numerical features. Some examples would be the
+ // height/weight of a product, or age of a customer.
+ //
+ // For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
+ // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
+ // }`.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * Max entries count: 200.
+ // * The key must be a UTF-8 encoded string with a length limit of 128
+ // characters.
+ // * For indexable attribute, the key must match the pattern:
+ // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
+ // `KEY_1_LIKE_THIS`.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a non-empty UTF-8 encoded string with a
+ // length limit of 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ map attributes = 12;
+
+ // Custom tags associated with the product.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2.Product]. This value must be a UTF-8
+ // encoded string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This tag can be used for filtering recommendation results by passing the
+ // tag as part of the
+ // [PredictRequest.filter][google.cloud.retail.v2.PredictRequest.filter].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
+ repeated string tags = 13;
+
+ // Product price and cost information.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 14;
+
+ // The rating of this product.
+ Rating rating = 15;
+
+ // The timestamp when this [Product][google.cloud.retail.v2.Product] becomes
+ // available for
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ google.protobuf.Timestamp available_time = 18;
+
+ // The online availability of the [Product][google.cloud.retail.v2.Product].
+ // Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2.Product.Availability.IN_STOCK].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [availability](https://support.google.com/merchants/answer/6324448).
+ // Schema.org property [Offer.availability](https://schema.org/availability).
+ Availability availability = 19;
+
+ // The available quantity of the item.
+ google.protobuf.Int32Value available_quantity = 20;
+
+ // Fulfillment information, such as the store IDs for in-store pickup or
+ // region IDs for different shipping methods.
+ //
+ // All the elements must have distinct
+ // [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type].
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated FulfillmentInfo fulfillment_info = 21;
+
+ // Canonical URL directly linking to the product detail page.
+ //
+ // It is strongly recommended to provide a valid uri for the product,
+ // otherwise the service performance could be significantly degraded.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [link](https://support.google.com/merchants/answer/6324416). Schema.org
+ // property [Offer.url](https://schema.org/url).
+ string uri = 22;
+
+ // Product images for the product. We highly recommend putting the main
+ // image first.
+ //
+ // A maximum of 300 images are allowed.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ repeated Image images = 23;
+
+ // The target group associated with a given audience (e.g. male, veterans,
+ // car owners, musicians, etc.) of the product.
+ Audience audience = 24;
+
+ // The color of the product.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ ColorInfo color_info = 25;
+
+ // The size of the product. To represent different size systems or size types,
+ // consider using this format: [[[size_system:]size_type:]size_value].
+ //
+ // For example, in "US:MENS:M", "US" represents size system; "MENS" represents
+ // size type; "M" represents size value. In "GIRLS:27", size system is empty;
+ // "GIRLS" represents size type; "27" represents size value. In "32 inches",
+ // both size system and size type are empty, while size value is "32 inches".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [size](https://support.google.com/merchants/answer/6324492),
+ // [size_type](https://support.google.com/merchants/answer/6324497), and
+ // [size_system](https://support.google.com/merchants/answer/6324502).
+ // Schema.org property [Product.size](https://schema.org/size).
+ repeated string sizes = 26;
+
+ // The material of the product. For example, "leather", "wooden".
+ //
+ // A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 200 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [material](https://support.google.com/merchants/answer/6324410). Schema.org
+ // property [Product.material](https://schema.org/material).
+ repeated string materials = 27;
+
+ // The pattern or graphic print of the product. For example, "striped", "polka
+ // dot", "paisley".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
+ // property [Product.pattern](https://schema.org/pattern).
+ repeated string patterns = 28;
+
+ // The condition of the product. Strongly encouraged to use the standard
+ // values: "new", "refurbished", "used".
+ //
+ // A maximum of 1 value is allowed per
+ // [Product][google.cloud.retail.v2.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [condition](https://support.google.com/merchants/answer/6324469).
+ // Schema.org property
+ // [Offer.itemCondition](https://schema.org/itemCondition).
+ repeated string conditions = 29;
+
+ // The promotions applied to the product. A maximum of 10 values are allowed
+ // per [Product][google.cloud.retail.v2.Product]. Only
+ // [Promotion.promotion_id][google.cloud.retail.v2.Promotion.promotion_id]
+ // will be used, other fields will be ignored if set.
+ repeated Promotion promotions = 34;
+
+ // The timestamp when the product is published by the retailer for the first
+ // time, which indicates the freshness of the products. Note that this field
+ // is different from
+ // [available_time][google.cloud.retail.v2.Product.available_time], given it
+ // purely describes product freshness regardless of when it is available on
+ // search and recommendation.
+ google.protobuf.Timestamp publish_time = 33;
+
+ // Indicates which fields in the [Product][google.cloud.retail.v2.Product]s
+ // are returned in [SearchResponse][google.cloud.retail.v2.SearchResponse].
+ //
+ // Supported fields for all [type][google.cloud.retail.v2.Product.type]s:
+ //
+ // * [audience][google.cloud.retail.v2.Product.audience]
+ // * [availability][google.cloud.retail.v2.Product.availability]
+ // * [brands][google.cloud.retail.v2.Product.brands]
+ // * [color_info][google.cloud.retail.v2.Product.color_info]
+ // * [conditions][google.cloud.retail.v2.Product.conditions]
+ // * [gtin][google.cloud.retail.v2.Product.gtin]
+ // * [materials][google.cloud.retail.v2.Product.materials]
+ // * [name][google.cloud.retail.v2.Product.name]
+ // * [patterns][google.cloud.retail.v2.Product.patterns]
+ // * [price_info][google.cloud.retail.v2.Product.price_info]
+ // * [rating][google.cloud.retail.v2.Product.rating]
+ // * [sizes][google.cloud.retail.v2.Product.sizes]
+ // * [title][google.cloud.retail.v2.Product.title]
+ // * [uri][google.cloud.retail.v2.Product.uri]
+ //
+ // Supported fields only for
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]:
+ //
+ // * [categories][google.cloud.retail.v2.Product.categories]
+ // * [description][google.cloud.retail.v2.Product.description]
+ // * [images][google.cloud.retail.v2.Product.images]
+ //
+ // Supported fields only for
+ // [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]:
+ //
+ // * Only the first image in [images][google.cloud.retail.v2.Product.images]
+ //
+ // To mark [attributes][google.cloud.retail.v2.Product.attributes] as
+ // retrievable, include paths of the form "attributes.key" where "key" is the
+ // key of a custom attribute, as specified in
+ // [attributes][google.cloud.retail.v2.Product.attributes].
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION], the
+ // following fields are always returned in
+ // [SearchResponse][google.cloud.retail.v2.SearchResponse] by default:
+ //
+ // * [name][google.cloud.retail.v2.Product.name]
+ //
+ // For [Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT], the
+ // following fields are always returned in by default:
+ //
+ // * [name][google.cloud.retail.v2.Product.name]
+ // * [color_info][google.cloud.retail.v2.Product.color_info]
+ //
+ // The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Note: Returning more fields in
+ // [SearchResponse][google.cloud.retail.v2.SearchResponse] can increase
+ // response payload size and serving latency.
+ google.protobuf.FieldMask retrievable_fields = 30;
+
+ // Output only. Product variants grouped together on primary product which
+ // share similar product attributes. It's automatically grouped by
+ // [primary_product_id][google.cloud.retail.v2.Product.primary_product_id] for
+ // all the product variants. Only populated for
+ // [Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ repeated Product variants = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of local inventories specific to different places.
+ //
+ // This is only available for users who have Retail Search enabled, and it can
+ // be managed by [AddLocalInventories][] and [RemoveLocalInventories][] APIs.
+ repeated LocalInventory local_inventories = 35
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/product_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/product_service.proto
new file mode 100644
index 00000000000..5ca2cb32696
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/product_service.proto
@@ -0,0 +1,910 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/import_config.proto";
+import "google/cloud/retail/v2/product.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for ingesting [Product][google.cloud.retail.v2.Product] information
+// of the customer's website.
+service ProductService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a [Product][google.cloud.retail.v2.Product].
+ rpc CreateProduct(CreateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ body: "product"
+ };
+ option (google.api.method_signature) = "parent,product,product_id";
+ }
+
+ // Gets a [Product][google.cloud.retail.v2.Product].
+ rpc GetProduct(GetProductRequest) returns (Product) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a list of [Product][google.cloud.retail.v2.Product]s.
+ rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates a [Product][google.cloud.retail.v2.Product].
+ rpc UpdateProduct(UpdateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ patch: "/v2/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ body: "product"
+ };
+ option (google.api.method_signature) = "product,update_mask";
+ }
+
+ // Deletes a [Product][google.cloud.retail.v2.Product].
+ rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Bulk import of multiple [Product][google.cloud.retail.v2.Product]s.
+ //
+ // Request processing may be synchronous.
+ // Non-existing items are created.
+ //
+ // Note that it is possible for a subset of the
+ // [Product][google.cloud.retail.v2.Product]s to be successfully updated.
+ rpc ImportProducts(ImportProductsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.ImportProductsResponse"
+ metadata_type: "google.cloud.retail.v2.ImportMetadata"
+ };
+ }
+
+ // Updates inventory information for a
+ // [Product][google.cloud.retail.v2.Product] while respecting the last update
+ // timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // When inventory is updated with
+ // [ProductService.CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct],
+ // the specified inventory field value(s) will overwrite any existing value(s)
+ // while ignoring the last update time for this field. Furthermore, the last
+ // update time for the specified inventory fields will be overwritten to the
+ // time of the
+ // [ProductService.CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct]
+ // or
+ // [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
+ // request.
+ //
+ // If no inventory fields are set in
+ // [CreateProductRequest.product][google.cloud.retail.v2.CreateProductRequest.product],
+ // then any pre-existing inventory information for this product will be used.
+ //
+ // If no inventory fields are set in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask],
+ // then any existing inventory information will be preserved.
+ //
+ // Pre-existing inventory information can only be updated with
+ // [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory],
+ // [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces],
+ // and
+ // [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces].
+ //
+ // The returned [Operation][]s will be obsolete after 1 day, and
+ // [GetOperation][] API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the [Operation][]s associated with the
+ // stale updates will not be marked as [done][Operation.done] until being
+ // obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc SetInventory(SetInventoryRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory"
+ body: "*"
+ };
+ option (google.api.method_signature) = "inventory,set_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.SetInventoryResponse"
+ metadata_type: "google.cloud.retail.v2.SetInventoryMetadata"
+ };
+ }
+
+ // Incrementally adds place IDs to
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the added place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // The returned [Operation][]s will be obsolete after 1 day, and
+ // [GetOperation][] API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the [Operation][]s associated with the
+ // stale updates will not be marked as [done][Operation.done] until being
+ // obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc AddFulfillmentPlaces(AddFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.AddFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2.AddFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Incrementally removes place IDs from a
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the removed place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // The returned [Operation][]s will be obsolete after 1 day, and
+ // [GetOperation][] API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the [Operation][]s associated with the
+ // stale updates will not be marked as [done][Operation.done] until being
+ // obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveFulfillmentPlaces(RemoveFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.RemoveFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Updates local inventory information for a
+ // [Product][google.cloud.retail.v2.Product] at a list of places, while
+ // respecting the last update timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2.Product] to exist before updating
+ // inventory information. If the request is valid, the update will be enqueued
+ // and processed downstream. As a consequence, when a response is returned,
+ // updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // Local inventory information can only be modified using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // The returned [Operation][]s will be obsolete after 1 day, and
+ // [GetOperation][] API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the [Operation][]s associated with the
+ // stale updates will not be marked as [done][Operation.done] until being
+ // obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc AddLocalInventories(AddLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.AddLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2.AddLocalInventoriesMetadata"
+ };
+ }
+
+ // Remove local inventory information for a
+ // [Product][google.cloud.retail.v2.Product] at a list of places at a removal
+ // timestamp.
+ //
+ // This process is asynchronous. If the request is valid, the removal will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, removals are not immediately manifested in the
+ // [Product][google.cloud.retail.v2.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts].
+ //
+ // Local inventory information can only be removed using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // The returned [Operation][]s will be obsolete after 1 day, and
+ // [GetOperation][] API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the [Operation][]s associated with the
+ // stale updates will not be marked as [done][Operation.done] until being
+ // obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveLocalInventories(RemoveLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.RemoveLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2.RemoveLocalInventoriesMetadata"
+ };
+ }
+}
+
+// Request message for
+// [ProductService.CreateProduct][google.cloud.retail.v2.ProductService.CreateProduct]
+// method.
+message CreateProductRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Required. The [Product][google.cloud.retail.v2.Product] to create.
+ Product product = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the [Product][google.cloud.retail.v2.Product],
+ // which will become the final component of the
+ // [Product.name][google.cloud.retail.v2.Product.name].
+ //
+ // If the caller does not have permission to create the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ //
+ // This field must be unique among all
+ // [Product][google.cloud.retail.v2.Product]s with the same
+ // [parent][google.cloud.retail.v2.CreateProductRequest.parent]. Otherwise, an
+ // ALREADY_EXISTS error is returned.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string product_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for
+// [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct]
+// method.
+message GetProductRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the requested [Product][google.cloud.retail.v2.Product] does not exist,
+ // a NOT_FOUND error is returned.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
+// method.
+message UpdateProductRequest {
+ // Required. The product to update/create.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2.Product] to update does not exist
+ // and
+ // [allow_missing][google.cloud.retail.v2.UpdateProductRequest.allow_missing]
+ // is not set, a NOT_FOUND error is returned.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Product][google.cloud.retail.v2.Product] to update. The immutable and
+ // output only fields are NOT supported. If not set, all supported fields (the
+ // fields that are neither immutable nor output only) are updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // The attribute key can be updated by setting the mask path as
+ // "attributes.${key_name}". If a key name is present in the mask but not in
+ // the patching product from the request, this key will be deleted after the
+ // update.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] is not
+ // found, a new [Product][google.cloud.retail.v2.Product] will be created. In
+ // this situation, `update_mask` is ignored.
+ bool allow_missing = 3;
+}
+
+// Request message for
+// [ProductService.DeleteProduct][google.cloud.retail.v2.ProductService.DeleteProduct]
+// method.
+message DeleteProductRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to delete the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2.Product] to delete does not exist,
+ // a NOT_FOUND error is returned.
+ //
+ // The [Product][google.cloud.retail.v2.Product] to delete can neither be a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2.Product] member nor a
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product] with more than one
+ // [variants][google.cloud.retail.v2.Product.Type.VARIANT]. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All inventory information for the named
+ // [Product][google.cloud.retail.v2.Product] will be deleted.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
+// method.
+message ListProductsRequest {
+ // Required. The parent branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`. Use
+ // `default_branch` as the branch ID, to list products under the default
+ // branch.
+ //
+ // If the caller does not have permission to list
+ // [Product][google.cloud.retail.v2.Product]s under this branch, regardless of
+ // whether or not this branch exists, a PERMISSION_DENIED error is returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If
+ // unspecified, defaults to 100. The maximum allowed value is 1000. Values
+ // above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT error is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListProductsResponse.next_page_token][google.cloud.retail.v2.ListProductsResponse.next_page_token],
+ // received from a previous
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+
+ // A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2.ListProductsRequest.filter] is unset.
+ // * List [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s sharing the same
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product]. For example:
+ // `primary_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2.Product]s bundled in a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2.Product].
+ // For example:
+ // `collection_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2.Product]s with a partibular type.
+ // For example:
+ // `type = "PRIMARY"`
+ // `type = "VARIANT"`
+ // `type = "COLLECTION"`
+ //
+ // If the field is unrecognizable, an INVALID_ARGUMENT error is returned.
+ //
+ // If the specified
+ // [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2.Product] or
+ // [Product.Type.COLLECTION][google.cloud.retail.v2.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2.Product] does not exist, a NOT_FOUND error
+ // is returned.
+ string filter = 4;
+
+ // The fields of [Product][google.cloud.retail.v2.Product] to return in the
+ // responses. If not set or empty, the following fields are returned:
+ //
+ // * [Product.name][google.cloud.retail.v2.Product.name]
+ // * [Product.id][google.cloud.retail.v2.Product.id]
+ // * [Product.title][google.cloud.retail.v2.Product.title]
+ // * [Product.uri][google.cloud.retail.v2.Product.uri]
+ // * [Product.images][google.cloud.retail.v2.Product.images]
+ // * [Product.price_info][google.cloud.retail.v2.Product.price_info]
+ // * [Product.brands][google.cloud.retail.v2.Product.brands]
+ //
+ // If "*" is provided, all fields are returned.
+ // [Product.name][google.cloud.retail.v2.Product.name] is always returned no
+ // matter what mask is set.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask read_mask = 5;
+}
+
+// Response message for
+// [ProductService.ListProducts][google.cloud.retail.v2.ProductService.ListProducts]
+// method.
+message ListProductsResponse {
+ // The [Product][google.cloud.retail.v2.Product]s.
+ repeated Product products = 1;
+
+ // A token that can be sent as
+ // [ListProductsRequest.page_token][google.cloud.retail.v2.ListProductsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request message for
+// [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory]
+// method.
+message SetInventoryRequest {
+ // Required. The inventory information to update. The allowable fields to
+ // update are:
+ //
+ // * [Product.price_info][google.cloud.retail.v2.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
+ // The updated inventory fields must be specified in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask].
+ //
+ // If
+ // [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name]
+ // is empty or invalid, an INVALID_ARGUMENT error is returned.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2.Product] named in
+ // [Product.name][google.cloud.retail.v2.Product.name], regardless of whether
+ // or not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2.Product] to update does not have
+ // existing inventory information, the provided inventory information will be
+ // inserted.
+ //
+ // If the [Product][google.cloud.retail.v2.Product] to update has existing
+ // inventory information, the provided inventory information will be merged
+ // while respecting the last update time for each inventory field, using the
+ // provided or default value for
+ // [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time].
+ //
+ // The caller can replace place IDs for a subset of fulfillment types in the
+ // following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types and corresponding place IDs
+ // to update in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
+ //
+ // The caller can clear all place IDs from a subset of fulfillment types in
+ // the following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types to clear in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
+ // * Checks that only the desired fulfillment info types have empty
+ // [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ //
+ // The last update time is recorded for the following inventory fields:
+ // * [Product.price_info][google.cloud.retail.v2.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info]
+ //
+ // If a full overwrite of inventory information while ignoring timestamps is
+ // needed,
+ // [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct]
+ // should be invoked instead.
+ Product inventory = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided
+ // [Product][google.cloud.retail.v2.Product] to update.
+ //
+ // At least one field must be provided.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask set_mask = 2;
+
+ // The time when the request is issued, used to prevent
+ // out-of-order updates on inventory fields with the last update time
+ // recorded. If not provided, the internal system time will be used.
+ google.protobuf.Timestamp set_time = 3;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] with name
+ // [Product.name][google.cloud.retail.v2.Product.name] is not found, the
+ // inventory update will still be processed and retained for at most 1 day
+ // until the [Product][google.cloud.retail.v2.Product] is created. If set to
+ // false, a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2.Product] is not found.
+ bool allow_missing = 4;
+}
+
+// Metadata related to the progress of the SetInventory operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory]
+// method.
+message SetInventoryMetadata {}
+
+// Response of the SetInventoryRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory]
+// method.
+message SetInventoryResponse {}
+
+// Request message for
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type], such as
+ // the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery" to be added for this
+ // [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type]. Duplicate
+ // IDs will be automatically ignored.
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If the total number of place IDs exceeds 2000 for this
+ // [type][google.cloud.retail.v2.AddFulfillmentPlacesRequest.type] after
+ // adding, then the update will be rejected.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] is not
+ // found, the fulfillment information will still be processed and retained for
+ // at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2.Product] is created. If set to false, a
+ // NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the AddFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesMetadata {}
+
+// Response of the AddFulfillmentPlacesRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesResponse {}
+
+// Request message for
+// [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of inventory information at difference places. Each place
+ // is identified by its place ID. At most 3000 inventories are allowed per
+ // request.
+ repeated LocalInventory local_inventories = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided list of
+ // [LocalInventory][google.cloud.retail.v2.LocalInventory] to update. The
+ // field is updated to the provided value.
+ //
+ // If a field is set while the place does not have a previous local inventory,
+ // the local inventory at that store is created.
+ //
+ // If a field is set while the value of that field is not provided, the
+ // original field value, if it exists, is deleted.
+ //
+ // If the mask is not set or set with empty paths, all inventory fields will
+ // be updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask add_mask = 4;
+
+ // The time when the inventory updates are issued. Used to prevent
+ // out-of-order updates on local inventory fields. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] is not
+ // found, the local inventory will still be processed and retained for at most
+ // 1 day and processed once the [Product][google.cloud.retail.v2.Product] is
+ // created. If set to false, a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2.Product] is not found.
+ bool allow_missing = 6;
+}
+
+// Metadata related to the progress of the AddLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of place IDs to have their inventory deleted.
+ // At most 3000 place IDs are allowed per request.
+ repeated string place_ids = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the inventory deletions are issued. Used to prevent
+ // out-of-order updates and deletions on local inventory fields. If not
+ // provided, the internal system time will be used.
+ google.protobuf.Timestamp remove_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] is not
+ // found, the local inventory removal request will still be processed and
+ // retained for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2.Product] is created. If set to false, a
+ // NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2.Product] is not found.
+ bool allow_missing = 3;
+}
+
+// Metadata related to the progress of the RemoveLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesRequest {
+ // Required. Full resource name of [Product][google.cloud.retail.v2.Product],
+ // such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2.Product], regardless of whether or not it
+ // exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.type], such as
+ // the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery", to be removed for this
+ // [type][google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.type].
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp remove_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2.Product] is not
+ // found, the fulfillment information will still be processed and retained for
+ // at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2.Product] is created. If set to false, a
+ // NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the RemoveFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesMetadata {}
+
+// Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
+// is no meaningful response populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesResponse {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/promotion.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/promotion.proto
new file mode 100644
index 00000000000..9ba323475f2
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/promotion.proto
@@ -0,0 +1,40 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PromotionProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Promotion information.
+message Promotion {
+ // ID of the promotion. For example, "free gift".
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 128
+ // characters, and match the pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example,
+ // id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Google Merchant Center property
+ // [promotion](https://support.google.com/merchants/answer/7050148).
+ string promotion_id = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/purge_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/purge_config.proto
new file mode 100644
index 00000000000..cb510745025
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/purge_config.proto
@@ -0,0 +1,82 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PurgeConfigProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Metadata related to the progress of the Purge operation.
+// This will be returned by the google.longrunning.Operation.metadata field.
+message PurgeMetadata {}
+
+// Request message for PurgeUserEvents method.
+message PurgeUserEventsRequest {
+ // Required. The resource name of the catalog under which the events are
+ // created. The format is
+ // `projects/${projectId}/locations/global/catalogs/${catalogId}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The filter string to specify the events to be deleted with a
+ // length limit of 5,000 characters. Empty string filter is not allowed. The
+ // eligible fields for filtering are:
+ //
+ // * `eventType`: Double quoted
+ // [UserEvent.event_type][google.cloud.retail.v2.UserEvent.event_type] string.
+ // * `eventTime`: in ISO 8601 "zulu" format.
+ // * `visitorId`: Double quoted string. Specifying this will delete all
+ // events associated with a visitor.
+ // * `userId`: Double quoted string. Specifying this will delete all events
+ // associated with a user.
+ //
+ // Examples:
+ //
+ // * Deleting all events in a time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z"
+ // eventTime < "2012-04-23T18:30:43.511Z"`
+ // * Deleting specific eventType in time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"`
+ // * Deleting all events for a specific visitor:
+ // `visitorId = "visitor1024"`
+ //
+ // The filtering fields are assumed to have an implicit AND.
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Actually perform the purge.
+ // If `force` is set to false, the method will return the expected purge count
+ // without deleting any user events.
+ bool force = 3;
+}
+
+// Response of the PurgeUserEventsRequest. If the long running operation is
+// successfully done, then this message is returned by the
+// google.longrunning.Operations.response field.
+message PurgeUserEventsResponse {
+ // The total count of events purged as a result of the operation.
+ int64 purged_events_count = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/search_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/search_service.proto
new file mode 100644
index 00000000000..32de76da6f3
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/search_service.proto
@@ -0,0 +1,917 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/product.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "SearchServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for search.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Please enable Retail Search on Cloud Console before using this feature.
+service SearchService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs a search.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc Search(SearchRequest) returns (SearchResponse) {
+ option (google.api.http) = {
+ post: "/v2/{placement=projects/*/locations/*/catalogs/*/placements/*}:search"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for
+// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] method.
+message SearchRequest {
+ // A facet specification to perform faceted search.
+ message FacetSpec {
+ // Specifies how a facet is computed.
+ message FacetKey {
+ // Required. Supported textual and numerical facet keys in
+ // [Product][google.cloud.retail.v2.Product] object, over which the facet
+ // values are computed. Facet key is case-sensitive.
+ //
+ // Allowed facet keys when
+ // [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
+ // is not specified:
+ //
+ // * textual_field =
+ // * "brands"
+ // * "categories"
+ // * "genders"
+ // * "ageGroups"
+ // * "availability"
+ // * "colorFamilies"
+ // * "colors"
+ // * "sizes"
+ // * "materials"
+ // * "patterns"
+ // * "conditions"
+ // * "attributes.key"
+ // * "pickupInStore"
+ // * "shipToStore"
+ // * "sameDayDelivery"
+ // * "nextDayDelivery"
+ // * "customFulfillment1"
+ // * "customFulfillment2"
+ // * "customFulfillment3"
+ // * "customFulfillment4"
+ // * "customFulfillment5"
+ // * "inventory(place_id,attributes.key)"
+ //
+ // * numerical_field =
+ // * "price"
+ // * "discount"
+ // * "rating"
+ // * "ratingCount"
+ // * "attributes.key"
+ // * "inventory(place_id,price)"
+ // * "inventory(place_id,original_price)"
+ // * "inventory(place_id,attributes.key)"
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Set only if values should be bucketized into intervals. Must be set
+ // for facets with numerical values. Must not be set for facet with text
+ // values. Maximum number of intervals is 30.
+ repeated Interval intervals = 2;
+
+ // Only get facet for the given restricted values. For example, when using
+ // "pickupInStore" as key and set restricted values to
+ // ["store123", "store456"], only facets for "store123" and "store456" are
+ // returned. Only supported on predefined textual fields, custom textual
+ // attributes and fulfillments. Maximum is 20.
+ //
+ // Must be set for the fulfillment facet keys:
+ //
+ // * pickupInStore
+ //
+ // * shipToStore
+ //
+ // * sameDayDelivery
+ //
+ // * nextDayDelivery
+ //
+ // * customFulfillment1
+ //
+ // * customFulfillment2
+ //
+ // * customFulfillment3
+ //
+ // * customFulfillment4
+ //
+ // * customFulfillment5
+ repeated string restricted_values = 3;
+
+ // Only get facet values that start with the given string prefix. For
+ // example, suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "prefixes" to "Women", the
+ // "categories" facet will give only "Women > Shoe" and "Women > Dress".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string prefixes = 8;
+
+ // Only get facet values that contains the given strings. For example,
+ // suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the
+ // "categories" facet will give only "Women > Shoe" and "Men > Shoe".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string contains = 9;
+
+ // True to make facet keys case insensitive when getting faceting
+ // values with prefixes or contains; false otherwise.
+ bool case_insensitive = 10;
+
+ // The order in which
+ // [SearchResponse.Facet.values][google.cloud.retail.v2.SearchResponse.Facet.values]
+ // are returned.
+ //
+ // Allowed values are:
+ //
+ // * "count desc", which means order by
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
+ // descending.
+ //
+ // * "value desc", which means order by
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
+ // descending.
+ // Only applies to textual facets.
+ //
+ // If not set, textual values are sorted in [natural
+ // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical
+ // intervals are sorted in the order given by
+ // [FacetSpec.FacetKey.intervals][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.intervals];
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // are sorted in the order given by
+ // [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.restricted_values].
+ string order_by = 4;
+
+ // The query that is used to compute facet for the given facet key.
+ // When provided, it will override the default behavior of facet
+ // computation. The query syntax is the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
+ // detail syntax and limitations. Notice that there is no limitation on
+ // [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
+ // when query is specified.
+ //
+ // In the response,
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.value]
+ // will be always "1" and
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.count]
+ // will be the number of results that match the query.
+ //
+ // For example, you can set a customized facet for "shipToStore",
+ // where
+ // [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
+ // is "customizedShipToStore", and
+ // [FacetKey.query][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.query]
+ // is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
+ // Then the facet will count the products that are both in stock and ship
+ // to store "123".
+ string query = 5;
+
+ // Returns the min and max value for each numerical facet intervals.
+ // Ignored for textual facets.
+ bool return_min_max = 11;
+ }
+
+ // Required. The facet key specification.
+ FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum of facet values that should be returned for this facet. If
+ // unspecified, defaults to 20. The maximum allowed value is 300. Values
+ // above 300 will be coerced to 300.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 limit = 2;
+
+ // List of keys to exclude when faceting.
+ //
+ //
+ // By default,
+ // [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
+ // is not excluded from the filter unless it is listed in this field.
+ //
+ // Listing a facet key in this field allows its values to appear as facet
+ // results, even when they are filtered out of search results. Using this
+ // field does not affect what search results are returned.
+ //
+ // For example, suppose there are 100 products with the color facet "Red"
+ // and 200 products with the color facet "Blue". A query containing the
+ // filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
+ // [FacetKey.key][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.key]
+ // would by default return only "Red" products in the search results, and
+ // also return "Red" with count 100 as the only color facet. Although there
+ // are also blue products available, "Blue" would not be shown as an
+ // available facet value.
+ //
+ // If "colorFamilies" is listed in "excludedFilterKeys", then the query
+ // returns the facet values "Red" with count 100 and "Blue" with count
+ // 200, because the "colorFamilies" key is now excluded from the filter.
+ // Because this field doesn't affect search results, the search results
+ // are still correctly filtered to return only "Red" products.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated string excluded_filter_keys = 3;
+
+ // Enables dynamic position for this facet. If set to true, the position of
+ // this facet among all facets in the response is determined by Google
+ // Retail Search. It will be ordered together with dynamic facets if dynamic
+ // facets is enabled. If set to false, the position of this facet in the
+ // response will be the same as in the request, and it will be ranked before
+ // the facets with dynamic position enable and all dynamic facets.
+ //
+ // For example, you may always want to have rating facet returned in
+ // the response, but it's not necessarily to always display the rating facet
+ // at the top. In that case, you can set enable_dynamic_position to true so
+ // that the position of rating facet in response will be determined by
+ // Google Retail Search.
+ //
+ // Another example, assuming you have the following facets in the request:
+ //
+ // * "rating", enable_dynamic_position = true
+ //
+ // * "price", enable_dynamic_position = false
+ //
+ // * "brands", enable_dynamic_position = false
+ //
+ // And also you have a dynamic facets enable, which will generate a facet
+ // 'gender'. Then the final order of the facets in the response can be
+ // ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
+ // "rating") depends on how Google Retail Search orders "gender" and
+ // "rating" facets. However, notice that "price" and "brands" will always be
+ // ranked at 1st and 2nd position since their enable_dynamic_position are
+ // false.
+ bool enable_dynamic_position = 4;
+ }
+
+ // The specifications of dynamically generated facets.
+ message DynamicFacetSpec {
+ // Enum to control DynamicFacet mode
+ enum Mode {
+ // Default value.
+ MODE_UNSPECIFIED = 0;
+
+ // Disable Dynamic Facet.
+ DISABLED = 1;
+
+ // Automatic mode built by Google Retail Search.
+ ENABLED = 2;
+ }
+
+ // Mode of the DynamicFacet feature.
+ // Defaults to
+ // [Mode.DISABLED][google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode.DISABLED]
+ // if it's unset.
+ Mode mode = 1;
+ }
+
+ // Boost specification to boost certain items.
+ message BoostSpec {
+ // Boost applies to products which match a condition.
+ message ConditionBoostSpec {
+ // An expression which specifies a boost condition. The syntax and
+ // supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
+ // detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // * (id: ANY("product_1", "product_2")) AND (colorFamilies:
+ // ANY("Red","Blue"))
+ string condition = 1;
+
+ // Strength of the condition boost, which should be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 2;
+ }
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifictions, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 20.
+ repeated ConditionBoostSpec condition_boost_specs = 1;
+
+ // Whether to skip boostspec validation. If this field is set to true,
+ // invalid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2.SearchRequest.BoostSpec.condition_boost_specs]
+ // will be ignored and valid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2.SearchRequest.BoostSpec.condition_boost_specs]
+ // will still be applied.
+ optional bool skip_boost_spec_validation = 2;
+ }
+
+ // Specification to determine under which conditions query expansion should
+ // occur.
+ message QueryExpansionSpec {
+ // Enum describing under which condition query expansion should occur.
+ enum Condition {
+ // Unspecified query expansion condition. In this case, server behavior
+ // defaults to
+ // [Condition.DISABLED][google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ CONDITION_UNSPECIFIED = 0;
+
+ // Disabled query expansion. Only the exact search query is used, even if
+ // [SearchResponse.total_size][google.cloud.retail.v2.SearchResponse.total_size]
+ // is zero.
+ DISABLED = 1;
+
+ // Automatic query expansion built by Google Retail Search.
+ AUTO = 3;
+ }
+
+ // The condition under which query expansion should occur. Default to
+ // [Condition.DISABLED][google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ Condition condition = 1;
+
+ // Whether to pin unexpanded results. If this field is set to true,
+ // unexpanded products are always at the top of the search results, followed
+ // by the expanded results.
+ bool pin_unexpanded_results = 2;
+ }
+
+ // The specification for personalization.
+ message PersonalizationSpec {
+ // The personalization mode of each search request.
+ enum Mode {
+ // Default value. In this case, server behavior defaults to
+ // [Mode.AUTO][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Let CRS decide whether to use personalization based on quality of user
+ // event data.
+ AUTO = 1;
+
+ // Disable personalization.
+ DISABLED = 2;
+ }
+
+ // Defaults to
+ // [Mode.AUTO][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The specification for query spell correction.
+ message SpellCorrectionSpec {
+ // Enum describing under which mode spell correction should occur.
+ enum Mode {
+ // Unspecified spell correction mode. In this case, server behavior
+ // defaults to
+ // [Mode.AUTO][google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Google Retail Search will try to find a spell suggestion if there
+ // is any and put in the
+ // [SearchResponse.corrected_query][google.cloud.retail.v2.SearchResponse.corrected_query].
+ // The spell suggestion will not be used as the search query.
+ SUGGESTION_ONLY = 1;
+
+ // Automatic spell correction built by Google Retail Search. Search will
+ // be based on the corrected query if found.
+ AUTO = 2;
+ }
+
+ // The mode under which spell correction should take effect to
+ // replace the original search query. Default to
+ // [Mode.AUTO][google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The search mode of each search request.
+ enum SearchMode {
+ // Default value. In this case both product search and faceted search will
+ // be performed. Both [SearchResponse.SearchResult] and
+ // [SearchResponse.Facet] will be returned.
+ SEARCH_MODE_UNSPECIFIED = 0;
+
+ // Only product search will be performed. The faceted search will be
+ // disabled.
+ //
+ // Only [SearchResponse.SearchResult] will be returned.
+ // [SearchResponse.Facet] will not be returned, even if
+ // [SearchRequest.facet_specs][google.cloud.retail.v2.SearchRequest.facet_specs]
+ // or
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2.SearchRequest.dynamic_facet_spec]
+ // is set.
+ PRODUCT_SEARCH_ONLY = 1;
+
+ // Only faceted search will be performed. The product search will be
+ // disabled.
+ //
+ // When in this mode, one or both of
+ // [SearchRequest.facet_specs][google.cloud.retail.v2.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2.SearchRequest.dynamic_facet_spec]
+ // should be set. Otherwise, an INVALID_ARGUMENT error is returned. Only
+ // [SearchResponse.Facet] will be returned. [SearchResponse.SearchResult]
+ // will not be returned.
+ FACETED_SEARCH_ONLY = 2;
+ }
+
+ // Required. The resource name of the Retail Search serving config, such as
+ // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config`
+ // or the name of the legacy placement resource, such as
+ // `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
+ // This field is used to identify the serving configuration name and the set
+ // of models that will be used to make the search.
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`.
+ //
+ // Use "default_branch" as the branch ID or leave this field empty, to search
+ // products under the default branch.
+ string branch = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Raw search query.
+ //
+ // If this field is empty, the request is considered a category browsing
+ // request and returned results are based on
+ // [filter][google.cloud.retail.v2.SearchRequest.filter] and
+ // [page_categories][google.cloud.retail.v2.SearchRequest.page_categories].
+ string query = 3;
+
+ // Required. A unique identifier for tracking visitors. For example, this
+ // could be implemented with an HTTP cookie, which should be able to uniquely
+ // identify a visitor on a single device. This unique identifier should not
+ // change if the visitor logs in or out of the website.
+ //
+ // This should be the same identifier as
+ // [UserEvent.visitor_id][google.cloud.retail.v2.UserEvent.visitor_id].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // User information.
+ UserInfo user_info = 5;
+
+ // Maximum number of [Product][google.cloud.retail.v2.Product]s to return. If
+ // unspecified, defaults to a reasonable value. The maximum allowed value is
+ // 120. Values above 120 will be coerced to 120.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 7;
+
+ // A page token
+ // [SearchResponse.next_page_token][google.cloud.retail.v2.SearchResponse.next_page_token],
+ // received from a previous
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search] call.
+ // Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search] must
+ // match the call that provided the page token. Otherwise, an INVALID_ARGUMENT
+ // error is returned.
+ string page_token = 8;
+
+ // A 0-indexed integer that specifies the current offset (that is, starting
+ // result location, amongst the [Product][google.cloud.retail.v2.Product]s
+ // deemed by the API as relevant) in search results. This field is only
+ // considered if [page_token][google.cloud.retail.v2.SearchRequest.page_token]
+ // is unset.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 offset = 9;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered. Filter
+ // expression is case-sensitive. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#filter).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string filter = 10;
+
+ // The default filter that is applied when a user performs a search without
+ // checking any filters on the search page.
+ //
+ // The filter applied to every search request when quality improvement such as
+ // query expansion is needed. For example, if a query does not have enough
+ // results, an expanded query with
+ // [SearchRequest.canonical_filter][google.cloud.retail.v2.SearchRequest.canonical_filter]
+ // will be returned as a supplement of the original query. This field is
+ // strongly recommended to achieve high search quality.
+ //
+ // See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
+ // more details about filter syntax.
+ string canonical_filter = 28;
+
+ // The order in which products are returned. Products can be ordered by
+ // a field in an [Product][google.cloud.retail.v2.Product] object. Leave it
+ // unset if ordered by relevance. OrderBy expression is case-sensitive. See
+ // more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#order).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string order_by = 11;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated FacetSpec facet_specs = 12;
+
+ // Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
+ // to enable dynamic facets. Do not set this field.
+ //
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
+
+ // Boost specification to boost certain products. See more details at this
+ // [user guide](https://cloud.google.com/retail/docs/boosting).
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ BoostSpec boost_spec = 13;
+
+ // The query expansion specification that specifies the conditions under which
+ // query expansion will occur. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
+ QueryExpansionSpec query_expansion_spec = 14;
+
+ // The keys to fetch and rollup the matching
+ // [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s attributes,
+ // [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo] or
+ // [LocalInventory][google.cloud.retail.v2.LocalInventory]s attributes. The
+ // attributes from all the matching
+ // [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s or
+ // [LocalInventory][google.cloud.retail.v2.LocalInventory]s are merged and
+ // de-duplicated. Notice that rollup attributes will lead to extra query
+ // latency. Maximum number of keys is 30.
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], a
+ // fulfillment type and a fulfillment ID must be provided in the format of
+ // "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
+ // "pickupInStore" is fulfillment type and "store123" is the store ID.
+ //
+ // Supported keys are:
+ //
+ // * colorFamilies
+ // * price
+ // * originalPrice
+ // * discount
+ // * variantId
+ // * inventory(place_id,price)
+ // * inventory(place_id,original_price)
+ // * inventory(place_id,attributes.key), where key is any key in the
+ // [Product.local_inventories.attributes][google.cloud.retail.v2.LocalInventory.attributes]
+ // map.
+ // * attributes.key, where key is any key in the
+ // [Product.attributes][google.cloud.retail.v2.Product.attributes] map.
+ // * pickupInStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "pickup-in-store".
+ // * shipToStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "ship-to-store".
+ // * sameDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "same-day-delivery".
+ // * nextDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "next-day-delivery".
+ // * customFulfillment1.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "custom-type-1".
+ // * customFulfillment2.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "custom-type-2".
+ // * customFulfillment3.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "custom-type-3".
+ // * customFulfillment4.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "custom-type-4".
+ // * customFulfillment5.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2.FulfillmentInfo.type]
+ // "custom-type-5".
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string variant_rollup_keys = 17;
+
+ // The categories associated with a category page. Required for category
+ // navigation queries to achieve good search quality. The format should be
+ // the same as
+ // [UserEvent.page_categories][google.cloud.retail.v2.UserEvent.page_categories];
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ repeated string page_categories = 23;
+
+ // The search mode of the search request. If not specified, a single search
+ // request triggers both product search and faceted search.
+ SearchMode search_mode = 31;
+
+ // The specification for personalization.
+ //
+ // Notice that if both
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec]
+ // and
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
+ // are set.
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
+ // will override
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].
+ PersonalizationSpec personalization_spec = 32;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 34;
+
+ // The spell correction specification that specifies the mode under
+ // which spell correction will take effect.
+ optional SpellCorrectionSpec spell_correction_spec = 35;
+}
+
+// Response message for
+// [SearchService.Search][google.cloud.retail.v2.SearchService.Search] method.
+message SearchResponse {
+ // Represents the search results.
+ message SearchResult {
+ // [Product.id][google.cloud.retail.v2.Product.id] of the searched
+ // [Product][google.cloud.retail.v2.Product].
+ string id = 1;
+
+ // The product data snippet in the search response. Only
+ // [Product.name][google.cloud.retail.v2.Product.name] is guaranteed to be
+ // populated.
+ //
+ // [Product.variants][google.cloud.retail.v2.Product.variants] contains the
+ // product variants that match the search query. If there are multiple
+ // product variants matching the query, top 5 most relevant product variants
+ // are returned and ordered by relevancy.
+ //
+ // If relevancy can be deternmined, use
+ // [matching_variant_fields][google.cloud.retail.v2.SearchResponse.SearchResult.matching_variant_fields]
+ // to look up matched product variants fields. If relevancy cannot be
+ // determined, e.g. when searching "shoe" all products in a shoe product can
+ // be a match, 5 product variants are returned but order is meaningless.
+ Product product = 2;
+
+ // The count of matched
+ // [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product]s.
+ int32 matching_variant_count = 3;
+
+ // If a [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product] matches the search query, this
+ // map indicates which [Product][google.cloud.retail.v2.Product] fields are
+ // matched. The key is the
+ // [Product.name][google.cloud.retail.v2.Product.name], the value is a field
+ // mask of the matched [Product][google.cloud.retail.v2.Product] fields. If
+ // matched attributes cannot be determined, this map will be empty.
+ //
+ // For example, a key "sku1" with field mask
+ // "products.color_info" indicates there is a match between
+ // "sku1" [ColorInfo][google.cloud.retail.v2.ColorInfo] and the query.
+ map matching_variant_fields = 4;
+
+ // The rollup matching
+ // [variant][google.cloud.retail.v2.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2.Product] attributes. The key is one of
+ // the
+ // [SearchRequest.variant_rollup_keys][google.cloud.retail.v2.SearchRequest.variant_rollup_keys].
+ // The values are the merged and de-duplicated
+ // [Product][google.cloud.retail.v2.Product] attributes. Notice that the
+ // rollup values are respect filter. For example, when filtering by
+ // "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is
+ // returned.
+ //
+ // For textual and numerical attributes, the rollup values is a list of
+ // string or double values with type
+ // [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
+ // there are two variants with colors "red" and "blue", the rollup values
+ // are
+ //
+ // { key: "colorFamilies"
+ // value {
+ // list_value {
+ // values { string_value: "red" }
+ // values { string_value: "blue" }
+ // }
+ // }
+ // }
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], the rollup
+ // values is a double value with type
+ // [google.protobuf.Value][google.protobuf.Value]. For example,
+ // `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
+ // are 10 variants in this product are available in the store "store1".
+ map variant_rollup_values = 5;
+
+ // Specifies previous events related to this product for this user based on
+ // [UserEvent][google.cloud.retail.v2.UserEvent] with same
+ // [SearchRequest.visitor_id][google.cloud.retail.v2.SearchRequest.visitor_id]
+ // or [UserInfo.user_id][google.cloud.retail.v2.UserInfo.user_id].
+ //
+ // This is set only when
+ // [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.mode]
+ // is
+ // [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ //
+ // Possible values:
+ //
+ // * `purchased`: Indicates that this product has been purchased before.
+ repeated string personal_labels = 7;
+ }
+
+ // A facet result.
+ message Facet {
+ // A facet value which contains value names and their count.
+ message FacetValue {
+ // A facet value which contains values.
+ oneof facet_value {
+ // Text value of a facet, such as "Black" for facet "colorFamilies".
+ string value = 1;
+
+ // Interval value for a facet, such as [10, 20) for facet "price".
+ Interval interval = 2;
+ }
+
+ // Number of items that have this facet value.
+ int64 count = 3;
+
+ // The minimum value in the
+ // [FacetValue.interval][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double min_value = 5;
+
+ // The maximum value in the
+ // [FacetValue.interval][google.cloud.retail.v2.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double max_value = 6;
+ }
+
+ // The key for this facet. E.g., "colorFamilies" or "price" or
+ // "attributes.attr1".
+ string key = 1;
+
+ // The facet values for this field.
+ repeated FacetValue values = 2;
+
+ // Whether the facet is dynamically generated.
+ bool dynamic_facet = 3;
+ }
+
+ // Information describing query expansion including whether expansion has
+ // occurred.
+ message QueryExpansionInfo {
+ // Bool describing whether query expansion has occurred.
+ bool expanded_query = 1;
+
+ // Number of pinned results. This field will only be set when expansion
+ // happens and
+ // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
+ // is set to true.
+ int64 pinned_result_count = 2;
+ }
+
+ // A list of matched items. The order represents the ranking.
+ repeated SearchResult results = 1;
+
+ // Results of facets requested by user.
+ repeated Facet facets = 2;
+
+ // The estimated total count of matched items irrespective of pagination. The
+ // count of [results][google.cloud.retail.v2.SearchResponse.results] returned
+ // by pagination may be less than the
+ // [total_size][google.cloud.retail.v2.SearchResponse.total_size] that
+ // matches.
+ int32 total_size = 3;
+
+ // Contains the spell corrected query, if found. If the spell correction type
+ // is AUTOMATIC, then the search results are based on corrected_query.
+ // Otherwise the original query is used for search.
+ string corrected_query = 4;
+
+ // A unique search token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2.UserEvent] logs resulting from this
+ // search, which enables accurate attribution of search model performance.
+ string attribution_token = 5;
+
+ // A token that can be sent as
+ // [SearchRequest.page_token][google.cloud.retail.v2.SearchRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 6;
+
+ // Query expansion information for the returned results.
+ QueryExpansionInfo query_expansion_info = 7;
+
+ // The URI of a customer-defined redirect page. If redirect action is
+ // triggered, no search is performed, and only
+ // [redirect_uri][google.cloud.retail.v2.SearchResponse.redirect_uri] and
+ // [attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
+ // are set in the response.
+ string redirect_uri = 10;
+
+ // The fully qualified resource name of applied
+ // [controls](https://cloud.google.com/retail/docs/serving-control-rules).
+ repeated string applied_controls = 12;
+
+ // The invalid
+ // [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2.SearchRequest.BoostSpec.condition_boost_specs]
+ // that are not applied during serving.
+ repeated SearchRequest.BoostSpec.ConditionBoostSpec
+ invalid_condition_boost_specs = 14;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config.proto
new file mode 100644
index 00000000000..45f317d63b8
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config.proto
@@ -0,0 +1,248 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/search_service.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Configures metadata that is used to generate serving time results (e.g.
+// search results or recommendation predictions).
+message ServingConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/ServingConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
+ };
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/servingConfig/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable serving config display name. Used in Retail
+ // UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The id of the model in the same [Catalog][google.cloud.retail.v2.Catalog]
+ // to use at serving time. Currently only RecommendationModels are supported:
+ // https://cloud.google.com/retail/recommendations-ai/docs/create-models
+ // Can be changed but only to a compatible model (e.g.
+ // others-you-may-like CTR to others-you-may-like CVR).
+ //
+ // Required when
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string model_id = 3;
+
+ // How much price ranking we want in serving results.
+ // Price reranking causes product items with a similar
+ // recommendation probability to be ordered by price, with the
+ // highest-priced items first. This setting could result in a decrease in
+ // click-through and conversion rates.
+ // Allowed values are:
+ //
+ // * 'no-price-reranking'
+ // * 'low-price-raranking'
+ // * 'medium-price-reranking'
+ // * 'high-price-reranking'
+ //
+ // If not specified, we choose default based on model type. Default value:
+ // 'no-price-reranking'.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string price_reranking_level = 4;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ // The ids refer to the ids of [Control][google.cloud.retail.v2.Control]
+ // resources with only the Facet control set. These controls are assumed to be
+ // in the same [Catalog][google.cloud.retail.v2.Catalog] as the
+ // [ServingConfig][google.cloud.retail.v2.ServingConfig].
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string facet_control_ids = 5;
+
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ SearchRequest.DynamicFacetSpec dynamic_facet_spec = 6;
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifications, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 100.
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string boost_control_ids = 7;
+
+ // Condition filter specifications. If a product matches multiple conditions
+ // in the specifications, filters from these specifications are all
+ // applied and combined via the AND operator. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string filter_control_ids = 9;
+
+ // Condition redirect specifications. Only the first triggered redirect action
+ // is applied, even if multiple apply. Maximum number of specifications is
+ // 1000.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string redirect_control_ids = 10;
+
+ // Condition synonyms specifications. If multiple syonyms conditions match,
+ // all matching synonyms control in the list will execute. Order of controls
+ // in the list will not matter. Maximum number of specifications is
+ // 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string twoway_synonyms_control_ids = 18;
+
+ // Condition oneway synonyms specifications. If multiple oneway synonyms
+ // conditions match, all matching oneway synonyms controls in the list will
+ // execute. Order of controls in the list will not matter. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string oneway_synonyms_control_ids = 12;
+
+ // Condition do not associate specifications. If multiple do not associate
+ // conditions match, all matching do not associate controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string do_not_associate_control_ids = 13;
+
+ // Condition replacement specifications.
+ // - Applied according to the order in the list.
+ // - A previously replaced term can not be re-replaced.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string replacement_control_ids = 14;
+
+ // Condition ignore specifications. If multiple ignore
+ // conditions match, all matching ignore controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string ignore_control_ids = 15;
+
+ // How much diversity to use in recommendation model results e.g.
+ // 'medium-diversity' or 'high-diversity'. Currently supported values:
+ //
+ // * 'no-diversity'
+ // * 'low-diversity'
+ // * 'medium-diversity'
+ // * 'high-diversity'
+ // * 'auto-diversity'
+ //
+ // If not specified, we choose default based on recommendation model
+ // type. Default value: 'no-diversity'.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string diversity_level = 8;
+
+ // Whether to add additional category filters on the 'similar-items' model.
+ // If not specified, we enable it by default.
+ // Allowed values are:
+ //
+ // * 'no-category-match': No additional filtering of original results from
+ // the model and the customer's filters.
+ // * 'relaxed-category-match': Only keep results with categories that match
+ // at least one item categories in the PredictRequests's context item.
+ // * If customer also sends filters in the PredictRequest, then the results
+ // will satisfy both conditions (user given and category match).
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string enable_category_filter_level = 16;
+
+ // The specification for personalization spec.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ //
+ // Notice that if both
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec]
+ // and
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
+ // are set.
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec]
+ // will override
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].
+ SearchRequest.PersonalizationSpec personalization_spec = 21;
+
+ // Required. Immutable. Specifies the solution types that a serving config can
+ // be associated with. Currently we support setting only one type of solution.
+ repeated SolutionType solution_types = 19 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config_service.proto
new file mode 100644
index 00000000000..a4cabe26ba2
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/serving_config_service.proto
@@ -0,0 +1,240 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2/serving_config.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for modifying ServingConfig.
+service ServingConfigService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a ServingConfig.
+ //
+ // A maximum of 100 [ServingConfig][google.cloud.retail.v2.ServingConfig]s are
+ // allowed in a [Catalog][google.cloud.retail.v2.Catalog], otherwise a
+ // FAILED_PRECONDITION error is returned.
+ rpc CreateServingConfig(CreateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) =
+ "parent,serving_config,serving_config_id";
+ }
+
+ // Deletes a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc DeleteServingConfig(DeleteServingConfigRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a ServingConfig.
+ rpc UpdateServingConfig(UpdateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ patch: "/v2/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) = "serving_config,update_mask";
+ }
+
+ // Gets a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc GetServingConfig(GetServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all ServingConfigs linked to this catalog.
+ rpc ListServingConfigs(ListServingConfigsRequest)
+ returns (ListServingConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Enables a Control on the specified ServingConfig.
+ // The control is added in the last position of the list of controls
+ // it belongs to (e.g. if it's a facet spec control it will be applied
+ // in the last position of servingConfig.facetSpecIds)
+ // Returns a ALREADY_EXISTS error if the control has already been applied.
+ // Returns a FAILED_PRECONDITION error if the addition could exceed maximum
+ // number of control allowed for that type of control.
+ rpc AddControl(AddControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+
+ // Disables a Control on the specified ServingConfig.
+ // The control is removed from the ServingConfig.
+ // Returns a NOT_FOUND error if the Control is not enabled for the
+ // ServingConfig.
+ rpc RemoveControl(RemoveControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+}
+
+// Request for CreateServingConfig method.
+message CreateServingConfigRequest {
+ // Required. Full resource name of parent. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The ServingConfig to create.
+ ServingConfig serving_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the ServingConfig, which will become the final
+ // component of the ServingConfig's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string serving_config_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateServingConfig method.
+message UpdateServingConfigRequest {
+ // Required. The ServingConfig to update.
+ ServingConfig serving_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [ServingConfig][google.cloud.retail.v2.ServingConfig] to update. The
+ // following are NOT supported:
+ //
+ // * [ServingConfig.name][google.cloud.retail.v2.ServingConfig.name]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteServingConfig method.
+message DeleteServingConfigRequest {
+ // Required. The resource name of the ServingConfig to delete. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for GetServingConfig method.
+message GetServingConfigRequest {
+ // Required. The resource name of the ServingConfig to get. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for ListServingConfigs method.
+message ListServingConfigsRequest {
+ // Required. The catalog resource name. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 100. If a value greater than 100 is provided, at most 100 results are
+ // returned.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListServingConfigs` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListServingConfigs method.
+message ListServingConfigsResponse {
+ // All the ServingConfigs for a given catalog.
+ repeated ServingConfig serving_configs = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
+
+// Request for AddControl method.
+message AddControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config - if id is not found a NOT_FOUND error is returned.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for RemoveControl method.
+message RemoveControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event.proto
new file mode 100644
index 00000000000..fc315f88f1a
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event.proto
@@ -0,0 +1,343 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/field_behavior.proto";
+import "google/cloud/retail/v2/common.proto";
+import "google/cloud/retail/v2/product.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// UserEvent captures all metadata information Retail API needs to know about
+// how end users interact with customers' website.
+message UserEvent {
+ // Required. User event type. Allowed values are:
+ //
+ // * `add-to-cart`: Products being added to cart.
+ // * `category-page-view`: Special pages such as sale or promotion pages
+ // viewed.
+ // * `detail-page-view`: Products detail page viewed.
+ // * `home-page-view`: Homepage viewed.
+ // * `promotion-offered`: Promotion is offered to a user.
+ // * `promotion-not-offered`: Promotion is not offered to a user.
+ // * `purchase-complete`: User finishing a purchase.
+ // * `search`: Product search.
+ // * `shopping-cart-page-view`: User viewing a shopping cart.
+ string event_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A unique identifier for tracking visitors.
+ //
+ // For example, this could be implemented with an HTTP cookie, which should be
+ // able to uniquely identify a visitor on a single device. This unique
+ // identifier should not change if the visitor log in/out of the website.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded model
+ // quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // The field should not contain PII or user-data. We recommend to use Google
+ // Analytics [Client
+ // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
+ // for this field.
+ string visitor_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // A unique identifier for tracking a visitor session with a length limit of
+ // 128 bytes. A session is an aggregation of an end user behavior in a time
+ // span.
+ //
+ // A general guideline to populate the sesion_id:
+ // 1. If user has no activity for 30 min, a new session_id should be assigned.
+ // 2. The session_id should be unique across users, suggest use uuid or add
+ // visitor_id as prefix.
+ string session_id = 21;
+
+ // Only required for
+ // [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
+ // method. Timestamp of when the user event happened.
+ google.protobuf.Timestamp event_time = 3;
+
+ // A list of identifiers for the independent experiment groups this user event
+ // belongs to. This is used to distinguish between user events associated with
+ // different experiment setups (e.g. using Retail API, using different
+ // recommendation models).
+ repeated string experiment_ids = 4;
+
+ // Highly recommended for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
+ // This field enables accurate attribution of recommendation model
+ // performance.
+ //
+ // The value must be a valid
+ // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
+ // for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
+ // The value must be a valid
+ // [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
+ // for user events that are the result of
+ // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
+ //
+ // This token enables us to accurately attribute page view or purchase back to
+ // the event and the particular predict response containing this
+ // clicked/purchased product. If user clicks on product K in the
+ // recommendation results, pass
+ // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
+ // as a URL parameter to product K's page. When recording events on product
+ // K's page, log the
+ // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
+ // to this field.
+ string attribution_token = 5;
+
+ // The main product details related to the event.
+ //
+ // This field is optional except for the following event types:
+ //
+ // * `add-to-cart`
+ // * `detail-page-view`
+ // * `purchase-complete`
+ //
+ // In a `search` event, this field represents the products returned to the end
+ // user on the current page (the end user may have not finished browsing the
+ // whole page yet). When a new page is returned to the end user, after
+ // pagination/filtering/ordering even for the same query, a new `search` event
+ // with different
+ // [product_details][google.cloud.retail.v2.UserEvent.product_details] is
+ // desired. The end user may have not finished browsing the whole page yet.
+ repeated ProductDetail product_details = 6;
+
+ // The main auto-completion details related to the event.
+ //
+ // This field should be set for `search` event when autocomplete function is
+ // enabled and the user clicks a suggestion for search.
+ CompletionDetail completion_detail = 22;
+
+ // Extra user event features to include in the recommendation model.
+ //
+ // If you provide custom attributes for ingested user events, also include
+ // them in the user events that you associate with prediction requests. Custom
+ // attribute formatting must be consistent between imported events and events
+ // provided with prediction requests. This lets the Retail API use
+ // those custom attributes when training models and serving predictions, which
+ // helps improve recommendation quality.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * The key must be a UTF-8 encoded string with a length limit of 5,000
+ // characters.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a UTF-8 encoded string with a length limit of
+ // 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ //
+ // For product recommendations, an example of extra user information is
+ // traffic_channel, which is how a user arrives at the site. Users can arrive
+ // at the site by coming to the site directly, coming through Google
+ // search, or in other ways.
+ map attributes = 7;
+
+ // The ID or name of the associated shopping cart. This ID is used
+ // to associate multiple items added or present in the cart before purchase.
+ //
+ // This can only be set for `add-to-cart`, `purchase-complete`, or
+ // `shopping-cart-page-view` events.
+ string cart_id = 8;
+
+ // A transaction represents the entire purchase transaction.
+ //
+ // Required for `purchase-complete` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ PurchaseTransaction purchase_transaction = 9;
+
+ // The user's search query.
+ //
+ // See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
+ // definition.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // At least one of
+ // [search_query][google.cloud.retail.v2.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ string search_query = 10;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered.
+ //
+ // See [SearchRequest.filter][google.cloud.retail.v2.SearchRequest.filter] for
+ // definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string filter = 16;
+
+ // The order in which products are returned.
+ //
+ // See [SearchRequest.order_by][google.cloud.retail.v2.SearchRequest.order_by]
+ // for definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ string order_by = 17;
+
+ // An integer that specifies the current offset for pagination (the 0-indexed
+ // starting location, amongst the products deemed by the API as relevant).
+ //
+ // See [SearchRequest.offset][google.cloud.retail.v2.SearchRequest.offset] for
+ // definition.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ int32 offset = 18;
+
+ // The categories associated with a category page.
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ //
+ // Required for `category-page-view` events. At least one of
+ // [search_query][google.cloud.retail.v2.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string page_categories = 11;
+
+ // User information.
+ UserInfo user_info = 12;
+
+ // Complete URL (window.location.href) of the user's current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically. Maximum length 5,000
+ // characters.
+ string uri = 13;
+
+ // The referrer URL of the current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string referrer_uri = 14;
+
+ // A unique ID of a web page view.
+ //
+ // This should be kept the same for all user events triggered from the same
+ // pageview. For example, an item detail page view could trigger multiple
+ // events as the user is browsing the page. The `pageViewId` property should
+ // be kept the same for all these events so that they can be grouped together
+ // properly.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string page_view_id = 15;
+}
+
+// Detailed product information associated with a user event.
+message ProductDetail {
+ // Required. [Product][google.cloud.retail.v2.Product] information.
+ //
+ // Required field(s):
+ //
+ // * [Product.id][google.cloud.retail.v2.Product.id]
+ //
+ // Optional override field(s):
+ //
+ // * [Product.price_info][google.cloud.retail.v2.Product.price_info]
+ //
+ // If any supported optional fields are provided, we will treat them as a full
+ // override when looking up product information from the catalog. Thus, it is
+ // important to ensure that the overriding fields are accurate and
+ // complete.
+ //
+ // All other product fields are ignored and instead populated via catalog
+ // lookup after event ingestion.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Quantity of the product associated with the user event.
+ //
+ // For example, this field will be 2 if two products are added to the shopping
+ // cart for `purchase-complete` event. Required for `add-to-cart` and
+ // `purchase-complete` event types.
+ google.protobuf.Int32Value quantity = 2;
+}
+
+// Detailed completion information including completion attribution token and
+// clicked completion info.
+message CompletionDetail {
+ // Completion attribution token in
+ // [CompleteQueryResponse.attribution_token][google.cloud.retail.v2.CompleteQueryResponse.attribution_token].
+ string completion_attribution_token = 1;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion].
+ string selected_suggestion = 2;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion]
+ // position, starting from 0.
+ int32 selected_position = 3;
+}
+
+// A transaction represents the entire purchase transaction.
+message PurchaseTransaction {
+ // The transaction ID with a length limit of 128 characters.
+ string id = 1;
+
+ // Required. Total non-zero revenue or grand total associated with the
+ // transaction. This value include shipping, tax, or other adjustments to
+ // total revenue that you want to include as part of your revenue
+ // calculations.
+ float revenue = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // All the taxes associated with the transaction.
+ float tax = 3;
+
+ // All the costs associated with the products. These can be manufacturing
+ // costs, shipping expenses not borne by the end user, or any other costs,
+ // such that:
+ //
+ // * Profit = [revenue][google.cloud.retail.v2.PurchaseTransaction.revenue] -
+ // [tax][google.cloud.retail.v2.PurchaseTransaction.tax] -
+ // [cost][google.cloud.retail.v2.PurchaseTransaction.cost]
+ float cost = 4;
+
+ // Required. Currency code. Use three-character ISO-4217 code.
+ string currency_code = 5 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event_service.proto
new file mode 100644
index 00000000000..9a917bc6c6c
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2/user_event_service.proto
@@ -0,0 +1,189 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/httpbody.proto";
+import "google/cloud/retail/v2/import_config.proto";
+import "google/cloud/retail/v2/purge_config.proto";
+import "google/cloud/retail/v2/user_event.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventServiceProto";
+option java_package = "com.google.cloud.retail.v2";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2";
+option ruby_package = "Google::Cloud::Retail::V2";
+
+// Service for ingesting end user actions on the customer website.
+service UserEventService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Writes a single user event.
+ rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:write"
+ body: "user_event"
+ };
+ }
+
+ // Writes a single user event from the browser. This uses a GET request to
+ // due to browser restriction of POST-ing to a 3rd party domain.
+ //
+ // This method is used only by the Retail API JavaScript pixel and Google Tag
+ // Manager. Users should not call this method directly.
+ rpc CollectUserEvent(CollectUserEventRequest) returns (google.api.HttpBody) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect"
+ };
+ }
+
+ // Deletes permanently all user events specified by the filter provided.
+ // Depending on the number of events specified by the filter, this operation
+ // could take hours or days to complete. To test a filter, use the list
+ // command first.
+ rpc PurgeUserEvents(PurgeUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.PurgeUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2.PurgeMetadata"
+ };
+ }
+
+ // Bulk import of User events. Request processing might be
+ // synchronous. Events that already exist are skipped.
+ // Use this method for backfilling historical user events.
+ //
+ // `Operation.response` is of type `ImportResponse`. Note that it is
+ // possible for a subset of the items to be successfully inserted.
+ // `Operation.metadata` is of type `ImportMetadata`.
+ rpc ImportUserEvents(ImportUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2.ImportUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2.ImportMetadata"
+ };
+ }
+
+ // Starts a user event rejoin operation with latest product catalog. Events
+ // will not be annotated with detailed product information if product is
+ // missing from the catalog at the time the user event is ingested, and these
+ // events are stored as unjoined events with a limited usage on training and
+ // serving. This method can be used to start a join operation on specified
+ // events with latest version of product catalog. It can also be used to
+ // correct events joined with the wrong product catalog. A rejoin operation
+ // can take hours or days to complete.
+ rpc RejoinUserEvents(RejoinUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "RejoinUserEventsResponse"
+ metadata_type: "RejoinUserEventsMetadata"
+ };
+ }
+}
+
+// Request message for WriteUserEvent method.
+message WriteUserEventRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. User event to write.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for CollectUserEvent method.
+message CollectUserEventRequest {
+ // Required. The parent catalog name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. URL encoded UserEvent proto with a length limit of 2,000,000
+ // characters.
+ string user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The URL including cgi-parameters but excluding the hash fragment with a
+ // length limit of 5,000 characters. This is often more useful than the
+ // referer URL, because many browsers only send the domain for 3rd party
+ // requests.
+ string uri = 3;
+
+ // The event timestamp in milliseconds. This prevents browser caching of
+ // otherwise identical get requests. The name is abbreviated to reduce the
+ // payload bytes.
+ int64 ets = 4;
+}
+
+// Request message for RejoinUserEvents method.
+message RejoinUserEventsRequest {
+ // The scope of user events to be rejoined with the latest product catalog.
+ // If the rejoining aims at reducing number of unjoined events, set
+ // UserEventRejoinScope to UNJOINED_EVENTS.
+ // If the rejoining aims at correcting product catalog information in joined
+ // events, set UserEventRejoinScope to JOINED_EVENTS.
+ // If all events needs to be rejoined, set UserEventRejoinScope to
+ // USER_EVENT_REJOIN_SCOPE_UNSPECIFIED.
+ enum UserEventRejoinScope {
+ // Rejoin all events with the latest product catalog, including both joined
+ // events and unjoined events.
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0;
+
+ // Only rejoin joined events with the latest product catalog.
+ JOINED_EVENTS = 1;
+
+ // Only rejoin unjoined events with the latest product catalog.
+ UNJOINED_EVENTS = 2;
+ }
+
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The type of the user event rejoin to define the scope and range of the user
+ // events to be rejoined with the latest product catalog. Defaults to
+ // USER_EVENT_REJOIN_SCOPE_UNSPECIFIED if this field is not set, or set to an
+ // invalid integer value.
+ UserEventRejoinScope user_event_rejoin_scope = 2;
+}
+
+// Response message for RejoinUserEvents method.
+message RejoinUserEventsResponse {
+ // Number of user events that were joined with latest product catalog.
+ int64 rejoined_user_events_count = 1;
+}
+
+// Metadata for RejoinUserEvents method.
+message RejoinUserEventsMetadata {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog.proto
new file mode 100644
index 00000000000..f6c114d7ca4
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog.proto
@@ -0,0 +1,419 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/import_config.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Configures what level the product should be uploaded with regards to
+// how users will be send events and how predictions will be made.
+message ProductLevelConfig {
+ // The type of [Product][google.cloud.retail.v2alpha.Product]s allowed to be
+ // ingested into the catalog. Acceptable values are:
+ //
+ // * `primary` (default): You can ingest
+ // [Product][google.cloud.retail.v2alpha.Product]s of all types. When
+ // ingesting a [Product][google.cloud.retail.v2alpha.Product], its type will
+ // default to
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // if unset.
+ // * `variant` (incompatible with Retail Search): You can only
+ // ingest
+ // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s. This means
+ // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
+ // cannot be empty.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `variant` and
+ // [merchant_center_product_id_field][google.cloud.retail.v2alpha.ProductLevelConfig.merchant_center_product_id_field]
+ // is `itemGroupId`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string ingestion_product_type = 1;
+
+ // Which field of [Merchant Center
+ // Product](/bigquery-transfer/docs/merchant-center-products-schema) should be
+ // imported as [Product.id][google.cloud.retail.v2alpha.Product.id].
+ // Acceptable values are:
+ //
+ // * `offerId` (default): Import `offerId` as the product ID.
+ // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail
+ // API will choose one item from the ones with the same `itemGroupId`, and
+ // use it to represent the item group.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `itemGroupId` and
+ // [ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
+ // is `variant`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string merchant_center_product_id_field = 2;
+}
+
+// Catalog level attribute config for an attribute. For example, if customers
+// want to enable/disable facet for a specific attribute.
+message CatalogAttribute {
+ // The type of an attribute.
+ enum AttributeType {
+ // The type of the attribute is unknown.
+ //
+ // Used when type cannot be derived from attribute that is not
+ // [in_use][google.cloud.retail.v2alpha.CatalogAttribute.in_use].
+ UNKNOWN = 0;
+
+ // Textual attribute.
+ TEXTUAL = 1;
+
+ // Numerical attribute.
+ NUMERICAL = 2;
+ }
+
+ // The status of the indexable option of a catalog attribute.
+ enum IndexableOption {
+ // Value used when unset. Defaults to
+ // [INDEXABLE_ENABLED][google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption.INDEXABLE_ENABLED].
+ INDEXABLE_OPTION_UNSPECIFIED = 0;
+
+ // Indexable option enabled for an attribute.
+ INDEXABLE_ENABLED = 1;
+
+ // Indexable option disabled for an attribute.
+ INDEXABLE_DISABLED = 2;
+ }
+
+ // The status of the dynamic facetable option of a catalog attribute.
+ enum DynamicFacetableOption {
+ // Value used when unset. Defaults to
+ // [DYNAMIC_FACETABLE_ENABLED][google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED].
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0;
+
+ // Dynamic facetable option enabled for an attribute.
+ DYNAMIC_FACETABLE_ENABLED = 1;
+
+ // Dynamic facetable option disabled for an attribute.
+ DYNAMIC_FACETABLE_DISABLED = 2;
+ }
+
+ // The status of the searchable option of a catalog attribute.
+ enum SearchableOption {
+ // Value used when unset. Defaults to
+ // [SEARCHABLE_DISABLED][google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption.SEARCHABLE_DISABLED].
+ SEARCHABLE_OPTION_UNSPECIFIED = 0;
+
+ // Searchable option enabled for an attribute.
+ SEARCHABLE_ENABLED = 1;
+
+ // Searchable option disabled for an attribute.
+ SEARCHABLE_DISABLED = 2;
+ }
+
+ // Required. Attribute name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ // To be indexable, the attribute name can contain only alpha-numeric
+ // characters and underscores. For example, an attribute named
+ // `attributes.abc_xyz` can be indexed, but an attribute named
+ // `attributes.abc-xyz` cannot be indexed.
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Indicates whether this attribute has been used by any
+ // products. `True` if at least one
+ // [Product][google.cloud.retail.v2alpha.Product] is using this attribute in
+ // [Product.attributes][google.cloud.retail.v2alpha.Product.attributes].
+ // Otherwise, this field is `False`.
+ //
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] can be
+ // pre-loaded by using
+ // [CatalogService.AddCatalogAttribute][google.cloud.retail.v2alpha.CatalogService.AddCatalogAttribute],
+ // [CatalogService.ImportCatalogAttributes][google.cloud.retail.v2alpha.CatalogService.ImportCatalogAttributes],
+ // or
+ // [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2alpha.CatalogService.UpdateAttributesConfig]
+ // APIs. This field is `False` for pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute]s.
+ //
+ // Only pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute]s that are
+ // neither in use by products nor predefined can be deleted.
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute]s that are
+ // either in use by products or are predefined cannot be deleted; however,
+ // their configuration properties will reset to default values upon removal
+ // request.
+ //
+ // After catalog changes, it takes about 10 minutes for this field to update.
+ bool in_use = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The type of this attribute. This is derived from the attribute
+ // in [Product.attributes][google.cloud.retail.v2alpha.Product.attributes].
+ AttributeType type = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2alpha.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
+ // are indexed so that it can be filtered, faceted, or boosted in
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ IndexableOption indexable_option = 5;
+
+ // If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
+ // facet. Could only be DYNAMIC_FACETABLE_DISABLED if
+ // [CatalogAttribute.indexable_option][google.cloud.retail.v2alpha.CatalogAttribute.indexable_option]
+ // is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+ DynamicFacetableOption dynamic_facetable_option = 6;
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2alpha.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
+ // are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ //
+ // If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
+ // will not be searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search],
+ // as there are no text values associated to numerical attributes.
+ SearchableOption searchable_option = 7;
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2alpha.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if RECOMMENDATIONS_FILTERING_ENABLED,
+ // attribute values are filterable for recommendations.
+ // This option works for categorical features only,
+ // does not work for numerical features, inventory filtering.
+ RecommendationsFilteringOption recommendations_filtering_option = 8;
+}
+
+// Catalog level attribute config.
+message AttributesConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the attribute
+ // config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Enable attribute(s) config at catalog level.
+ // For example, indexable, dynamic_facetable, or searchable for each
+ // attribute.
+ //
+ // The key is catalog attribute's name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ //
+ // The maximum number of catalog attributes allowed in a request is 1000.
+ map catalog_attributes = 2;
+
+ // Output only. The
+ // [AttributeConfigLevel][google.cloud.retail.v2alpha.AttributeConfigLevel]
+ // used for this catalog.
+ AttributeConfigLevel attribute_config_level = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Catalog level autocomplete config for customers to customize autocomplete
+// feature's settings.
+message CompletionConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
+ };
+
+ // Required. Immutable. Fully qualified name
+ // `projects/*/locations/*/catalogs/*/completionConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Specifies the matching order for autocomplete suggestions, e.g., a query
+ // consisting of 'sh' with 'out-of-order' specified would suggest "women's
+ // shoes", whereas a query of 'red s' with 'exact-prefix' specified would
+ // suggest "red shoes". Currently supported values:
+ //
+ // * 'out-of-order'
+ // * 'exact-prefix'
+ //
+ // Default value: 'exact-prefix'.
+ string matching_order = 2;
+
+ // The maximum number of autocomplete suggestions returned per term. Default
+ // value is 20. If left unset or set to 0, then will fallback to default
+ // value.
+ //
+ // Value range is 1 to 20.
+ int32 max_suggestions = 3;
+
+ // The minimum number of characters needed to be typed in order to get
+ // suggestions. Default value is 2. If left unset or set to 0, then will
+ // fallback to default value.
+ //
+ // Value range is 1 to 20.
+ int32 min_prefix_length = 4;
+
+ // If set to true, the auto learning function is enabled. Auto learning uses
+ // user data to generate suggestions using ML techniques. Default value is
+ // false. Only after enabling auto learning can users use `cloud-retail`
+ // data in
+ // [CompleteQueryRequest][google.cloud.retail.v2alpha.CompleteQueryRequest].
+ bool auto_learning = 11;
+
+ // Output only. The source data for the latest import of the autocomplete
+ // suggestion phrases.
+ CompletionDataInputConfig suggestions_input_config = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest suggestion terms
+ // list import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_suggestions_import_operation = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // denylist phrases.
+ CompletionDataInputConfig denylist_input_config = 7
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest denylist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_denylist_import_operation = 8
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // allowlist phrases.
+ CompletionDataInputConfig allowlist_input_config = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest allowlist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_allowlist_import_operation = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Represents a link between a Merchant Center account and a branch.
+// Once a link is established, products from the linked merchant center account
+// will be streamed to the linked branch.
+message MerchantCenterLink {
+ // Required. The linked [Merchant center account
+ // id](https://developers.google.com/shopping-content/guides/accountstatuses).
+ // The account must be a standalone account or a sub-account of a MCA.
+ int64 merchant_center_account_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The branch id (e.g. 0/1/2) within this catalog that products from
+ // merchant_center_account_id are streamed to. When updating this field, an
+ // empty value will use the currently configured default branch. However,
+ // changing the default branch later on won't change the linked branch here.
+ //
+ // A single branch id can only have one linked merchant center account id.
+ string branch_id = 2;
+
+ // String representing the destination to import for, all if left empty.
+ // List of possible values can be found here.
+ // [https://support.google.com/merchants/answer/7501026]
+ // List of allowed string values:
+ // "Shopping_ads", "Buy_on_google_listings", "Display_ads", "Local_inventory
+ // _ads", "Free_listings", "Free_local_listings"
+ // NOTE: The string values are case sensitive.
+ repeated string destinations = 3;
+
+ // Region code of offers to accept. 2-letter Uppercase ISO 3166-1 alpha-2
+ // code. List of values can be found
+ // [here](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry)
+ // under the `region` tag. If left blank no region filtering will be
+ // performed.
+ //
+ // Example value: `US`.
+ string region_code = 4;
+
+ // Language of the title/description and other string attributes. Use language
+ // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
+ // ISO 639-1.
+ //
+ // This specifies the language of offers in Merchant Center that will be
+ // accepted. If empty no language filtering will be performed.
+ //
+ // Example value: `en`.
+ string language_code = 5;
+}
+
+// Configures Merchant Center linking.
+// Links contained in the config will be used to sync data from a Merchant
+// Center account to a Cloud Retail branch.
+message MerchantCenterLinkingConfig {
+ // Links between Merchant Center accounts and branches.
+ repeated MerchantCenterLink links = 1;
+}
+
+// The catalog configuration.
+message Catalog {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Catalog"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the catalog.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The catalog display name.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. The product level configuration.
+ ProductLevelConfig product_level_config = 4
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The Merchant Center linking configuration.
+ // Once a link is added, the data stream from Merchant Center to Cloud Retail
+ // will be enabled automatically. The requester must have access to the
+ // merchant center account in order to make changes to this field.
+ MerchantCenterLinkingConfig merchant_center_linking_config = 6;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog_service.proto
new file mode 100644
index 00000000000..088c01922de
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/catalog_service.proto
@@ -0,0 +1,478 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/catalog.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for managing catalog configuration.
+service CatalogService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists all the [Catalog][google.cloud.retail.v2alpha.Catalog]s associated
+ // with the project.
+ rpc ListCatalogs(ListCatalogsRequest) returns (ListCatalogsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*}/catalogs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates the [Catalog][google.cloud.retail.v2alpha.Catalog]s.
+ rpc UpdateCatalog(UpdateCatalogRequest) returns (Catalog) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{catalog.name=projects/*/locations/*/catalogs/*}"
+ body: "catalog"
+ };
+ option (google.api.method_signature) = "catalog,update_mask";
+ }
+
+ // Set a specified branch id as default branch. API methods such as
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search],
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct],
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]
+ // will treat requests using "default_branch" to the actual branch id set as
+ // default.
+ //
+ // For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as
+ // default, setting
+ // [SearchRequest.branch][google.cloud.retail.v2alpha.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent
+ // to setting
+ // [SearchRequest.branch][google.cloud.retail.v2alpha.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/1`.
+ //
+ // Using multiple branches can be useful when developers would like
+ // to have a staging branch to test and verify for future usage. When it
+ // becomes ready, developers switch on the staging branch using this API while
+ // keeping using `projects/*/locations/*/catalogs/*/branches/default_branch`
+ // as [SearchRequest.branch][google.cloud.retail.v2alpha.SearchRequest.branch]
+ // to route the traffic to this staging branch.
+ //
+ // CAUTION: If you have live predict/search traffic, switching the default
+ // branch could potentially cause outages if the ID space of the new branch is
+ // very different from the old one.
+ //
+ // More specifically:
+ //
+ // * PredictionService will only return product IDs from branch {newBranch}.
+ // * SearchService will only return product IDs from branch {newBranch}
+ // (if branch is not explicitly set).
+ // * UserEventService will only join events with products from branch
+ // {newBranch}.
+ rpc SetDefaultBranch(SetDefaultBranchRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch"
+ body: "*"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Get which branch is currently default branch set by
+ // [CatalogService.SetDefaultBranch][google.cloud.retail.v2alpha.CatalogService.SetDefaultBranch]
+ // method under a specified parent catalog.
+ rpc GetDefaultBranch(GetDefaultBranchRequest)
+ returns (GetDefaultBranchResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Gets a [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig].
+ rpc GetCompletionConfig(GetCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ get: "/v2alpha/{name=projects/*/locations/*/catalogs/*/completionConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the
+ // [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig]s.
+ rpc UpdateCompletionConfig(UpdateCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}"
+ body: "completion_config"
+ };
+ option (google.api.method_signature) = "completion_config,update_mask";
+ }
+
+ // Gets an [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig].
+ rpc GetAttributesConfig(GetAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ get: "/v2alpha/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig].
+ //
+ // The catalog attributes in the request will be updated in the catalog, or
+ // inserted if they do not exist. Existing catalog attributes not included in
+ // the request will remain unchanged. Attributes that are assigned to
+ // products, but do not exist at the catalog level, are always included in the
+ // response. The product attribute is assigned default values for missing
+ // catalog attribute fields, e.g., searchable and dynamic facetable options.
+ rpc UpdateAttributesConfig(UpdateAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ body: "attributes_config"
+ };
+ option (google.api.method_signature) = "attributes_config,update_mask";
+ }
+
+ // Adds the specified
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to the
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to
+ // add already exists, an ALREADY_EXISTS error is returned.
+ rpc AddCatalogAttribute(AddCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Removes the specified
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] from the
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to
+ // remove does not exist, a NOT_FOUND error is returned.
+ rpc RemoveCatalogAttribute(RemoveCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Replaces the specified
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] in the
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig] by
+ // updating the catalog attribute with the same
+ // [CatalogAttribute.key][google.cloud.retail.v2alpha.CatalogAttribute.key].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to
+ // replace does not exist, a NOT_FOUND error is returned.
+ rpc ReplaceCatalogAttribute(ReplaceCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute"
+ body: "*"
+ };
+ }
+}
+
+// Request for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsRequest {
+ // Required. The account resource name with an associated location.
+ //
+ // If the caller does not have permission to list
+ // [Catalog][google.cloud.retail.v2alpha.Catalog]s under this location,
+ // regardless of whether or not this location exists, a PERMISSION_DENIED
+ // error is returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Maximum number of [Catalog][google.cloud.retail.v2alpha.Catalog]s to
+ // return. If unspecified, defaults to 50. The maximum allowed value is 1000.
+ // Values above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2alpha.ListCatalogsResponse.next_page_token],
+ // received from a previous
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+}
+
+// Response for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2alpha.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsResponse {
+ // All the customer's [Catalog][google.cloud.retail.v2alpha.Catalog]s.
+ repeated Catalog catalogs = 1;
+
+ // A token that can be sent as
+ // [ListCatalogsRequest.page_token][google.cloud.retail.v2alpha.ListCatalogsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request for
+// [CatalogService.UpdateCatalog][google.cloud.retail.v2alpha.CatalogService.UpdateCatalog]
+// method.
+message UpdateCatalogRequest {
+ // Required. The [Catalog][google.cloud.retail.v2alpha.Catalog] to update.
+ //
+ // If the caller does not have permission to update the
+ // [Catalog][google.cloud.retail.v2alpha.Catalog], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Catalog][google.cloud.retail.v2alpha.Catalog] to update does not
+ // exist, a NOT_FOUND error is returned.
+ Catalog catalog = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Catalog][google.cloud.retail.v2alpha.Catalog] to update.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request message to set a specified branch as new default_branch.
+message SetDefaultBranchRequest {
+ // Full resource name of the catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // The final component of the resource name of a branch.
+ //
+ // This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // If there are no sufficient active products in the targeted branch and
+ // [force][google.cloud.retail.v2alpha.SetDefaultBranchRequest.force] is not
+ // set, a FAILED_PRECONDITION error is returned.
+ string branch_id = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Some note on this request, this can be retrieved by
+ // [CatalogService.GetDefaultBranch][google.cloud.retail.v2alpha.CatalogService.GetDefaultBranch]
+ // before next valid default branch set occurs.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string note = 3;
+
+ // If set to true, it permits switching to a branch with
+ // [branch_id][google.cloud.retail.v2alpha.SetDefaultBranchRequest.branch_id]
+ // even if it has no sufficient active products.
+ bool force = 4;
+}
+
+// Request message to show which branch is currently the default branch.
+message GetDefaultBranchRequest {
+ // The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+}
+
+// Response message of
+// [CatalogService.GetDefaultBranch][google.cloud.retail.v2alpha.CatalogService.GetDefaultBranch].
+message GetDefaultBranchResponse {
+ // Full resource name of the branch id currently set as default branch.
+ string branch = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // The time when this branch is set to default.
+ google.protobuf.Timestamp set_time = 2;
+
+ // This corresponds to
+ // [SetDefaultBranchRequest.note][google.cloud.retail.v2alpha.SetDefaultBranchRequest.note]
+ // field, when this branch was set as default.
+ string note = 3;
+}
+
+// Request for
+// [CatalogService.GetCompletionConfig][google.cloud.retail.v2alpha.CatalogService.GetCompletionConfig]
+// method.
+message GetCompletionConfigRequest {
+ // Required. Full CompletionConfig resource name. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateCompletionConfig][google.cloud.retail.v2alpha.CatalogService.UpdateCompletionConfig]
+// method.
+message UpdateCompletionConfigRequest {
+ // Required. The
+ // [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig] to update.
+ //
+ // If the caller does not have permission to update the
+ // [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig], then a
+ // PERMISSION_DENIED error is returned.
+ //
+ // If the [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig] to
+ // update does not exist, a NOT_FOUND error is returned.
+ CompletionConfig completion_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CompletionConfig][google.cloud.retail.v2alpha.CompletionConfig] to update.
+ // The following are the only supported fields:
+ //
+ // * [CompletionConfig.matching_order][google.cloud.retail.v2alpha.CompletionConfig.matching_order]
+ // * [CompletionConfig.max_suggestions][google.cloud.retail.v2alpha.CompletionConfig.max_suggestions]
+ // * [CompletionConfig.min_prefix_length][google.cloud.retail.v2alpha.CompletionConfig.min_prefix_length]
+ // * [CompletionConfig.auto_learning][google.cloud.retail.v2alpha.CompletionConfig.auto_learning]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.GetAttributesConfig][google.cloud.retail.v2alpha.CatalogService.GetAttributesConfig]
+// method.
+message GetAttributesConfigRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2alpha.CatalogService.UpdateAttributesConfig]
+// method.
+message UpdateAttributesConfigRequest {
+ // Required. The
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig] to update.
+ AttributesConfig attributes_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [AttributesConfig][google.cloud.retail.v2alpha.AttributesConfig] to update.
+ // The following is the only supported field:
+ //
+ // * [AttributesConfig.catalog_attributes][google.cloud.retail.v2alpha.AttributesConfig.catalog_attributes]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.AddCatalogAttribute][google.cloud.retail.v2alpha.CatalogService.AddCatalogAttribute]
+// method.
+message AddCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to add.
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.RemoveCatalogAttribute][google.cloud.retail.v2alpha.CatalogService.RemoveCatalogAttribute]
+// method.
+message RemoveCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The attribute name key of the
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to remove.
+ string key = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.ReplaceCatalogAttribute][google.cloud.retail.v2alpha.CatalogService.ReplaceCatalogAttribute]
+// method.
+message ReplaceCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The updated
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute].
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] to update.
+ // The following are NOT supported:
+ //
+ // * [CatalogAttribute.key][google.cloud.retail.v2alpha.CatalogAttribute.key]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/common.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/common.proto
new file mode 100644
index 00000000000..02cf05ba8ec
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/common.proto
@@ -0,0 +1,791 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// At which level we offer configuration for attributes.
+enum AttributeConfigLevel {
+ // Value used when unset. In this case, server behavior defaults to
+ // [CATALOG_LEVEL_ATTRIBUTE_CONFIG][google.cloud.retail.v2alpha.AttributeConfigLevel.CATALOG_LEVEL_ATTRIBUTE_CONFIG].
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0;
+
+ // At this level, we honor the attribute configurations set in
+ // [Product.attributes][google.cloud.retail.v2alpha.Product.attributes].
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1;
+
+ // At this level, we honor the attribute configurations set in
+ // [CatalogConfig.attribute_configs][google.cloud.retail.v2alpha.CatalogConfig.attribute_configs].
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2;
+}
+
+// The type of solution.
+enum SolutionType {
+ // Default value.
+ SOLUTION_TYPE_UNSPECIFIED = 0;
+
+ // Used for Recommendations AI.
+ SOLUTION_TYPE_RECOMMENDATION = 1;
+
+ // Used for Retail Search.
+ SOLUTION_TYPE_SEARCH = 2;
+}
+
+// If filtering for recommendations is enabled.
+enum RecommendationsFilteringOption {
+ // Value used when unset.
+ // In this case, server behavior defaults to
+ // [RECOMMENDATIONS_FILTERING_DISABLED][google.cloud.retail.v2alpha.RecommendationsFilteringOption.RECOMMENDATIONS_FILTERING_DISABLED].
+ RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED = 0;
+
+ // Recommendation filtering is disabled.
+ RECOMMENDATIONS_FILTERING_DISABLED = 1;
+
+ // Recommendation filtering is enabled.
+ RECOMMENDATIONS_FILTERING_ENABLED = 3;
+}
+
+// The use case of Cloud Retail Search.
+enum SearchSolutionUseCase {
+ // The value when it's unspecified. In this case, server behavior defaults to
+ // [SEARCH_SOLUTION_USE_CASE_SEARCH][].
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0;
+
+ // Search use case. Expects the traffic has a non-empty
+ // [query][google.cloud.retail.v2alpha.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1;
+
+ // Browse use case. Expects the traffic has an empty
+ // [query][google.cloud.retail.v2alpha.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2;
+}
+
+// Metadata that is used to define a condition that triggers an action.
+// A valid condition must specify at least one of 'query_terms' or
+// 'products_filter'. If multiple fields are specified, the condition is met if
+// all the fields are satisfied e.g. if a set of query terms and product_filter
+// are set, then only items matching the product_filter for requests with a
+// query matching the query terms wil get boosted.
+message Condition {
+ // Query terms that we want to match on.
+ message QueryTerm {
+ // The value of the term to match on.
+ // Value cannot be empty.
+ // Value can have at most 3 terms if specified as a partial match. Each
+ // space separated string is considered as one term.
+ // Example) "a b c" is 3 terms and allowed, " a b c d" is 4 terms and not
+ // allowed for partial match.
+ string value = 1;
+
+ // Whether this is supposed to be a full or partial match.
+ bool full_match = 2;
+ }
+
+ // Used for time-dependent conditions.
+ // Example: Want to have rule applied for week long sale.
+ message TimeRange {
+ // Start of time range. Range is inclusive.
+ google.protobuf.Timestamp start_time = 1;
+
+ // End of time range. Range is inclusive.
+ google.protobuf.Timestamp end_time = 2;
+ }
+
+ // A list (up to 10 entries) of terms to match the query on. If not
+ // specified, match all queries.
+ // If many query terms are specified, the condition
+ // is matched if any of the terms is a match (i.e. using the OR operator).
+ repeated QueryTerm query_terms = 1;
+
+ // Range of time(s) specifying when Condition is active.
+ // Condition true if any time range matches.
+ repeated TimeRange active_time_range = 3;
+}
+
+// A rule is a condition-action pair
+// * A condition defines when a rule is to be triggered.
+// * An action specifies what occurs on that trigger.
+// Currently only boost rules are supported.
+// Currently only supported by the search endpoint.
+message Rule {
+ // A boost action to apply to results matching condition specified above.
+ message BoostAction {
+ // Strength of the condition boost, which must be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 1;
+
+ // The filter can have a max size of 5000 characters.
+ // An expression which specifies which products to apply an action to.
+ // The syntax and supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
+ // for detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string products_filter = 2;
+ }
+
+ // * Rule Condition:
+ // - No
+ // [Condition.query_terms][google.cloud.retail.v2alpha.Condition.query_terms]
+ // provided is a global match.
+ // - 1 or more
+ // [Condition.query_terms][google.cloud.retail.v2alpha.Condition.query_terms]
+ // provided are combined with OR operator.
+ // * Action Input: The request query and filter that are applied to the
+ // retrieved products, in addition to any filters already provided with the
+ // SearchRequest. The AND operator is used to combine the query's existing
+ // filters with the filter rule(s). NOTE: May result in 0 results when
+ // filters conflict.
+ // * Action Result: Filters the returned objects to be ONLY those that passed
+ // the filter.
+ message FilterAction {
+ // A filter to apply on the matching condition results. Supported features:
+ //
+ // * [filter][google.cloud.retail.v2alpha.Rule.FilterAction.filter] must be
+ // set.
+ // * Filter syntax is identical to
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter].
+ // See more
+ // details at the Retail Search
+ // [user guide](/retail/search/docs/filter-and-order#filter).
+ // * To filter products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string filter = 1;
+ }
+
+ // Redirects a shopper to a specific page.
+ //
+ // * Rule Condition:
+ // - Must specify
+ // [Condition.query_terms][google.cloud.retail.v2alpha.Condition.query_terms].
+ // * Action Input: Request Query
+ // * Action Result: Redirects shopper to provided uri.
+ message RedirectAction {
+ // URL must have length equal or less than 2000 characters.
+ string redirect_uri = 1;
+ }
+
+ // Creates a set of terms that will be treated as synonyms of each other.
+ // Example: synonyms of "sneakers" and "shoes".
+ // * "sneakers" will use a synonym of "shoes".
+ // * "shoes" will use a synonym of "sneakers".
+ message TwowaySynonymsAction {
+ // Defines a set of synonyms.
+ // Can specify up to 100 synonyms.
+ // Must specify at least 2 synonyms.
+ repeated string synonyms = 1;
+ }
+
+ // Maps a set of terms to a set of synonyms.
+ // Set of synonyms will be treated as synonyms of each query term only.
+ // `query_terms` will not be treated as synonyms of each other.
+ // Example: "sneakers" will use a synonym of "shoes".
+ // "shoes" will not use a synonym of "sneakers".
+ message OnewaySynonymsAction {
+ // Terms from the search query.
+ // Will treat synonyms as their synonyms.
+ // Not themselves synonyms of the synonyms.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 3;
+
+ // Defines a set of synonyms.
+ // Cannot contain duplicates.
+ // Can specify up to 100 synonyms.
+ repeated string synonyms = 4;
+
+ // Will be [deprecated = true] post migration;
+ repeated string oneway_terms = 2;
+ }
+
+ // Prevents `query_term` from being associated with specified terms during
+ // search.
+ // Example: Don't associate "gShoe" and "cheap".
+ message DoNotAssociateAction {
+ // Terms from the search query.
+ // Will not consider do_not_associate_terms for search if in search query.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Cannot contain duplicates or the query term.
+ // Can specify up to 100 terms.
+ repeated string do_not_associate_terms = 3;
+
+ // Will be [deprecated = true] post migration;
+ repeated string terms = 1;
+ }
+
+ // Replaces a term in the query. Multiple replacement candidates can be
+ // specified. All `query_terms` will be replaced with the replacement term.
+ // Example: Replace "gShoe" with "google shoe".
+ message ReplacementAction {
+ // Terms from the search query.
+ // Will be replaced by replacement term.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Term that will be used for replacement.
+ string replacement_term = 3;
+
+ // Will be [deprecated = true] post migration;
+ string term = 1;
+ }
+
+ // Prevents a term in the query from being used in search.
+ // Example: Don't search for "shoddy".
+ message IgnoreAction {
+ // Terms to ignore in the search query.
+ repeated string ignore_terms = 1;
+ }
+
+ // An action must be provided.
+ oneof action {
+ // A boost action.
+ BoostAction boost_action = 2;
+
+ // Redirects a shopper to a specific page.
+ RedirectAction redirect_action = 3;
+
+ // Treats specific term as a synonym with a group of terms.
+ // Group of terms will not be treated as synonyms with the specific term.
+ OnewaySynonymsAction oneway_synonyms_action = 6;
+
+ // Prevents term from being associated with other terms.
+ DoNotAssociateAction do_not_associate_action = 7;
+
+ // Replaces specific terms in the query.
+ ReplacementAction replacement_action = 8;
+
+ // Ignores specific terms from query during search.
+ IgnoreAction ignore_action = 9;
+
+ // Filters results.
+ FilterAction filter_action = 10;
+
+ // Treats a set of terms as synonyms of one another.
+ TwowaySynonymsAction twoway_synonyms_action = 11;
+ }
+
+ // Required. The condition that triggers the rule.
+ // If the condition is empty, the rule will always apply.
+ Condition condition = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An intended audience of the [Product][google.cloud.retail.v2alpha.Product]
+// for whom it's sold.
+message Audience {
+ // The genders of the audience. Strongly encouraged to use the standard
+ // values: "male", "female", "unisex".
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [gender](https://support.google.com/merchants/answer/6324479). Schema.org
+ // property
+ // [Product.audience.suggestedGender](https://schema.org/suggestedGender).
+ repeated string genders = 1;
+
+ // The age groups of the audience. Strongly encouraged to use the standard
+ // values: "newborn" (up to 3 months old), "infant" (3–12 months old),
+ // "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically
+ // teens or older).
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [age_group](https://support.google.com/merchants/answer/6324463).
+ // Schema.org property
+ // [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and
+ // [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).
+ repeated string age_groups = 2;
+}
+
+// The color information of a [Product][google.cloud.retail.v2alpha.Product].
+message ColorInfo {
+ // The standard color families. Strongly recommended to use the following
+ // standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
+ // "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
+ // "Mixed". Normally it is expected to have only 1 color family. May consider
+ // using single "Mixed" instead of multiple values.
+ //
+ // A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string color_families = 1;
+
+ // The color display names, which may be different from standard color family
+ // names, such as the color aliases used in the website frontend. Normally
+ // it is expected to have only 1 color. May consider using single "Mixed"
+ // instead of multiple values.
+ //
+ // A maximum of 25 colors are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string colors = 2;
+}
+
+// A custom attribute that is not explicitly modeled in
+// [Product][google.cloud.retail.v2alpha.Product].
+message CustomAttribute {
+ // The textual values of this custom attribute. For example, `["yellow",
+ // "green"]` when the key is "color".
+ //
+ // Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Exactly one of [text][google.cloud.retail.v2alpha.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2alpha.CustomAttribute.numbers] should be
+ // set. Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string text = 1;
+
+ // The numerical values of this custom attribute. For example, `[2.3, 15.4]`
+ // when the key is "lengths_cm".
+ //
+ // Exactly one of [text][google.cloud.retail.v2alpha.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2alpha.CustomAttribute.numbers] should be
+ // set. Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated double numbers = 2;
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2alpha.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2alpha.Catalog] is set to the
+ // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about
+ // product-level attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ //
+ // This field is ignored in a
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent].
+ //
+ // Only set if type [text][google.cloud.retail.v2alpha.CustomAttribute.text]
+ // is set. Otherwise, a INVALID_ARGUMENT error is returned.
+ optional bool searchable = 3 [deprecated = true];
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2alpha.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2alpha.Catalog] is set to the
+ // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about
+ // product-level attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are indexed, so that they can be filtered,
+ // faceted or boosted in
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ //
+ // This field is ignored in a
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent].
+ //
+ // See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter],
+ // [SearchRequest.facet_specs][google.cloud.retail.v2alpha.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2alpha.SearchRequest.boost_spec]
+ // for more details.
+ optional bool indexable = 4 [deprecated = true];
+}
+
+// Fulfillment information, such as the store IDs for in-store pickup or region
+// IDs for different shipping methods.
+message FulfillmentInfo {
+ // The fulfillment type, including commonly used types (such as pickup in
+ // store and same day delivery), and custom types. Customers have to map
+ // custom types to their display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ string type = 1;
+
+ // The IDs for this [type][google.cloud.retail.v2alpha.FulfillmentInfo.type],
+ // such as the store IDs for
+ // [FulfillmentInfo.type.pickup-in-store][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // or the region IDs for
+ // [FulfillmentInfo.type.same-day-delivery][google.cloud.retail.v2alpha.FulfillmentInfo.type].
+ //
+ // A maximum of 3000 values are allowed. Each value must be a string with a
+ // length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such
+ // as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string place_ids = 2;
+}
+
+// [Product][google.cloud.retail.v2alpha.Product] image. Recommendations AI and
+// Retail Search do not use product images to improve prediction and search
+// results. However, product images can be returned in results, and are shown in
+// prediction or search previews in the console.
+message Image {
+ // Required. URI of the image.
+ //
+ // This field must be a valid UTF-8 encoded URI with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Height of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 height = 2;
+
+ // Width of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 width = 3;
+}
+
+// A floating point interval.
+message Interval {
+ // The lower bound of the interval. If neither of the min fields are set, then
+ // the lower bound is negative infinity.
+ //
+ // This field must not be larger than max.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof min {
+ // Inclusive lower bound.
+ double minimum = 1;
+
+ // Exclusive lower bound.
+ double exclusive_minimum = 2;
+ }
+
+ // The upper bound of the interval. If neither of the max fields are set, then
+ // the upper bound is positive infinity.
+ //
+ // This field must be not smaller than min.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof max {
+ // Inclusive upper bound.
+ double maximum = 3;
+
+ // Exclusive upper bound.
+ double exclusive_maximum = 4;
+ }
+}
+
+// The price information of a [Product][google.cloud.retail.v2alpha.Product].
+message PriceInfo {
+ // The price range of all
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id].
+ message PriceRange {
+ // The inclusive
+ // [Product.pricing_info.price][google.cloud.retail.v2alpha.PriceInfo.price]
+ // interval of all
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id].
+ Interval price = 1;
+
+ // The inclusive
+ // [Product.pricing_info.original_price][google.cloud.retail.v2alpha.PriceInfo.original_price]
+ // internal of all
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id].
+ Interval original_price = 2;
+ }
+
+ // The 3-letter currency code defined in [ISO
+ // 4217](https://www.iso.org/iso-4217-currency-codes.html).
+ //
+ // If this field is an unrecognizable currency code, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // The
+ // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s with the same
+ // [Product.primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
+ // must share the same
+ // [currency_code][google.cloud.retail.v2alpha.PriceInfo.currency_code].
+ // Otherwise, a FAILED_PRECONDITION error is returned.
+ string currency_code = 1;
+
+ // Price of the product.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371). Schema.org
+ // property [Offer.price](https://schema.org/price).
+ float price = 2;
+
+ // Price of the product without any discount. If zero, by default set to be
+ // the [price][google.cloud.retail.v2alpha.PriceInfo.price]. If set,
+ // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price]
+ // should be greater than or equal to
+ // [price][google.cloud.retail.v2alpha.PriceInfo.price], otherwise an
+ // INVALID_ARGUMENT error is thrown.
+ float original_price = 3;
+
+ // The costs associated with the sale of a particular product. Used for gross
+ // profit reporting.
+ //
+ // * Profit = [price][google.cloud.retail.v2alpha.PriceInfo.price] -
+ // [cost][google.cloud.retail.v2alpha.PriceInfo.cost]
+ //
+ // Google Merchant Center property
+ // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
+ float cost = 4;
+
+ // The timestamp when the [price][google.cloud.retail.v2alpha.PriceInfo.price]
+ // starts to be effective. This can be set as a future timestamp, and the
+ // [price][google.cloud.retail.v2alpha.PriceInfo.price] is only used for
+ // search after
+ // [price_effective_time][google.cloud.retail.v2alpha.PriceInfo.price_effective_time].
+ // If so, the
+ // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] must
+ // be set and
+ // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] is
+ // used before
+ // [price_effective_time][google.cloud.retail.v2alpha.PriceInfo.price_effective_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2alpha.PriceInfo.price] is
+ // always effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_effective_time = 5;
+
+ // The timestamp when the [price][google.cloud.retail.v2alpha.PriceInfo.price]
+ // stops to be effective. The
+ // [price][google.cloud.retail.v2alpha.PriceInfo.price] is used for search
+ // before
+ // [price_expire_time][google.cloud.retail.v2alpha.PriceInfo.price_expire_time].
+ // If this field is set, the
+ // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] must
+ // be set and
+ // [original_price][google.cloud.retail.v2alpha.PriceInfo.original_price] is
+ // used after
+ // [price_expire_time][google.cloud.retail.v2alpha.PriceInfo.price_expire_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2alpha.PriceInfo.price] is
+ // always effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_expire_time = 6;
+
+ // Output only. The price range of all the child
+ // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s grouped together on the
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]. Only populated for
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ PriceRange price_range = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The rating of a [Product][google.cloud.retail.v2alpha.Product].
+message Rating {
+ // The total number of ratings. This value is independent of the value of
+ // [rating_histogram][google.cloud.retail.v2alpha.Rating.rating_histogram].
+ //
+ // This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 rating_count = 1;
+
+ // The average rating of the [Product][google.cloud.retail.v2alpha.Product].
+ //
+ // The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ float average_rating = 2;
+
+ // List of rating counts per rating value (index = rating - 1). The list is
+ // empty if there is no rating. If the list is non-empty, its size is
+ // always 5. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // For example, [41, 14, 13, 47, 303]. It means that the
+ // [Product][google.cloud.retail.v2alpha.Product] got 41 ratings with 1 star,
+ // 14 ratings with 2 star, and so on.
+ repeated int32 rating_histogram = 3;
+}
+
+// Information of an end user.
+message UserInfo {
+ // Highly recommended for logged-in users. Unique identifier for logged-in
+ // user, such as a user name. Don't set for anonymous users.
+ //
+ // Always use a hashed value for this ID.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded
+ // model quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string user_id = 1;
+
+ // The end user's IP address. This field is used to extract location
+ // information for personalization.
+ //
+ // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
+ // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when:
+ //
+ // * setting
+ // [SearchRequest.user_info][google.cloud.retail.v2alpha.SearchRequest.user_info].
+ // * using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2alpha.UserInfo.direct_user_request]
+ // is set.
+ string ip_address = 2;
+
+ // User agent as included in the HTTP header. Required for getting
+ // [SearchResponse.sponsored_results][google.cloud.retail.v2alpha.SearchResponse.sponsored_results].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when using the client side event reporting with
+ // GTM or JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2alpha.UserInfo.direct_user_request]
+ // is set.
+ string user_agent = 3;
+
+ // True if the request is made directly from the end user, in which case the
+ // [ip_address][google.cloud.retail.v2alpha.UserInfo.ip_address] and
+ // [user_agent][google.cloud.retail.v2alpha.UserInfo.user_agent] can be
+ // populated from the HTTP request. This flag should be set only if the API
+ // request is made directly from the end user such as a mobile app (and not if
+ // a gateway or a server is processing and pushing the user events).
+ //
+ // This should not be set when using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2alpha.UserEventService.CollectUserEvent].
+ bool direct_user_request = 4;
+}
+
+// The inventory information at a place (e.g. a store) identified
+// by a place ID.
+message LocalInventory {
+ // The place ID for the current set of inventory information.
+ string place_id = 1;
+
+ // Product price and cost information.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 2;
+
+ // Additional local inventory attributes, for example, store name, promotion
+ // tags, etc.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * At most 30 attributes are allowed.
+ // * The key must be a UTF-8 encoded string with a length limit of 32
+ // characters.
+ // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example,
+ // key0LikeThis or KEY_1_LIKE_THIS.
+ // * The attribute values must be of the same type (text or number).
+ // * Only 1 value is allowed for each attribute.
+ // * For text values, the length limit is 256 UTF-8 characters.
+ // * The attribute does not support search. The `searchable` field should be
+ // unset or set to false.
+ // * The max summed total bytes of custom attribute keys and values per
+ // product is 5MiB.
+ map attributes = 3;
+
+ // Input only. Supported fulfillment types. Valid fulfillment type values
+ // include commonly used types (such as pickup in store and same day
+ // delivery), and custom types. Customers have to map custom types to their
+ // display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string fulfillment_types = 4
+ [(google.api.field_behavior) = INPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/completion_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/completion_service.proto
new file mode 100644
index 00000000000..9f399d2233b
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/completion_service.proto
@@ -0,0 +1,210 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/import_config.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CompletionServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Auto-completion service for retail.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Please enable Retail Search on Cloud Console before using this feature.
+service CompletionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Completes the specified prefix with keyword suggestions.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
+ };
+ }
+
+ // Bulk import of processed completion dataset.
+ //
+ // Request processing is asynchronous. Partial updating is not supported.
+ //
+ // The operation is successfully finished only after the imported suggestions
+ // are indexed successfully and ready for serving. The process takes hours.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc ImportCompletionData(ImportCompletionDataRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/completionData:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.ImportCompletionDataResponse"
+ metadata_type: "google.cloud.retail.v2alpha.ImportMetadata"
+ };
+ }
+}
+
+// Auto-complete parameters.
+message CompleteQueryRequest {
+ // Required. Catalog for which the completion is performed.
+ //
+ // Full resource name of catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The query used to generate suggestions.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required field. A unique identifier for tracking visitors. For example,
+ // this could be implemented with an HTTP cookie, which should be able to
+ // uniquely identify a visitor on a single device. This unique identifier
+ // should not change if the visitor logs in or out of the website.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 7;
+
+ // Note that this field applies for `user-data` dataset only. For requests
+ // with `cloud-retail` dataset, setting this field has no effect.
+ //
+ // The language filters applied to the output suggestions. If set, it should
+ // contain the language of the query. If not set, suggestions are returned
+ // without considering language restrictions. 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 language codes is 3.
+ repeated string language_codes = 3;
+
+ // The device type context for completion suggestions.
+ // It is useful to apply different suggestions on different device types, e.g.
+ // `DESKTOP`, `MOBILE`. If it is empty, the suggestions are across all device
+ // types.
+ //
+ // Supported formats:
+ //
+ // * `UNKNOWN_DEVICE_TYPE`
+ //
+ // * `DESKTOP`
+ //
+ // * `MOBILE`
+ //
+ // * A customized string starts with `OTHER_`, e.g. `OTHER_IPHONE`.
+ string device_type = 4;
+
+ // Determines which dataset to use for fetching completion. "user-data" will
+ // use the imported dataset through
+ // [CompletionService.ImportCompletionData][google.cloud.retail.v2alpha.CompletionService.ImportCompletionData].
+ // "cloud-retail" will use the dataset generated by cloud retail based on user
+ // events. If leave empty, it will use the "user-data".
+ //
+ // Current supported values:
+ //
+ // * user-data
+ //
+ // * cloud-retail:
+ // This option requires enabling auto-learning function first. See
+ // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
+ string dataset = 6;
+
+ // Completion max suggestions. If left unset or set to 0, then will fallback
+ // to the configured value
+ // [CompletionConfig.max_suggestions][google.cloud.retail.v2alpha.CompletionConfig.max_suggestions].
+ //
+ // The maximum allowed max suggestions is 20. If it is set higher, it will be
+ // capped by 20.
+ int32 max_suggestions = 5;
+}
+
+// Response of the auto-complete query.
+message CompleteQueryResponse {
+ // Resource that represents completion results.
+ message CompletionResult {
+ // The suggestion for the query.
+ string suggestion = 1;
+
+ // Custom attributes for the suggestion term.
+ //
+ // * For "user-data", the attributes are additional custom attributes
+ // ingested through BigQuery.
+ //
+ // * For "cloud-retail", the attributes are product attributes generated
+ // by Cloud Retail. It requires
+ // [UserEvent.product_details][google.cloud.retail.v2alpha.UserEvent.product_details]
+ // is imported properly.
+ map attributes = 2;
+ }
+
+ // Recent search of this user.
+ message RecentSearchResult {
+ // The recent search query.
+ string recent_search = 1;
+ }
+
+ // Results of the matching suggestions. The result list is ordered and the
+ // first result is top suggestion.
+ repeated CompletionResult completion_results = 1;
+
+ // A unique complete token. This should be included in the
+ // [UserEvent.completion_detail][google.cloud.retail.v2alpha.UserEvent.completion_detail]
+ // for search events resulting from this completion, which enables accurate
+ // attribution of complete model performance.
+ string attribution_token = 2;
+
+ // Matched recent searches of this user. The maximum number of recent searches
+ // is 10. This field is a restricted feature. Contact Retail Search support
+ // team if you are interested in enabling it.
+ //
+ // This feature is only available when
+ // [CompleteQueryRequest.visitor_id][google.cloud.retail.v2alpha.CompleteQueryRequest.visitor_id]
+ // field is set and [UserEvent][google.cloud.retail.v2alpha.UserEvent] is
+ // imported. The recent searches satisfy the follow rules:
+ //
+ // * They are ordered from latest to oldest.
+ //
+ // * They are matched with
+ // [CompleteQueryRequest.query][google.cloud.retail.v2alpha.CompleteQueryRequest.query]
+ // case insensitively.
+ //
+ // * They are transformed to lower case.
+ //
+ // * They are UTF-8 safe.
+ //
+ // Recent searches are deduplicated. More recent searches will be reserved
+ // when duplication happens.
+ repeated RecentSearchResult recent_search_results = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control.proto
new file mode 100644
index 00000000000..cdd683d573e
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control.proto
@@ -0,0 +1,92 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/search_service.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Configures dynamic serving time metadata that is used to pre and post
+// process search/recommendation model results.
+message Control {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Control"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
+ };
+
+ // The behavior/type of the control
+ //
+ // A behavior/type must be specified on creation. Type cannot be changed once
+ // specified (e.g. A Rule control will always be a Rule control.). An
+ // INVALID_ARGUMENT will be returned if either condition is violated.
+ oneof control {
+ // A facet specification to perform faceted search.
+ SearchRequest.FacetSpec facet_spec = 3;
+
+ // A rule control - a condition-action pair.
+ // Enacts a set action when the condition is triggered.
+ // For example: Boost "gShoe" when query full matches "Running Shoes".
+ Rule rule = 4;
+ }
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/controls/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable control display name. Used in Retail UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is thrown.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. List of serving configuration ids that that are associated
+ // with this control. Note the association is managed via the ServingConfig,
+ // this is an output only denormalizeed view. Assumed to be in the same
+ // catalog.
+ repeated string associated_serving_config_ids = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The solution types that the serving config is used
+ // for. Currently we support setting only one type of solution at creation
+ // time.
+ //
+ // Only `SOLUTION_TYPE_SEARCH` value is supported at the moment.
+ // If no solution type is provided at creation time, will default to
+ // SOLUTION_TYPE_SEARCH.
+ repeated SolutionType solution_types = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Specifies the use case for the control.
+ // Affects what condition fields can be set.
+ // Only settable by search controls.
+ // Will default to SEARCH_SOLUTION_USE_CASE_SEARCH if not specified.
+ // Currently only allow one search_solution_use_case per control.
+ repeated SearchSolutionUseCase search_solution_use_case = 7
+ [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control_service.proto
new file mode 100644
index 00000000000..d69201a3d18
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/control_service.proto
@@ -0,0 +1,184 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/control.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for modifying Control.
+service ControlService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a Control.
+ //
+ // If the [Control][google.cloud.retail.v2alpha.Control] to create already
+ // exists, an ALREADY_EXISTS error is returned.
+ rpc CreateControl(CreateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls"
+ body: "control"
+ };
+ option (google.api.method_signature) = "parent,control,control_id";
+ }
+
+ // Deletes a Control.
+ //
+ // If the [Control][google.cloud.retail.v2alpha.Control] to delete does not
+ // exist, a NOT_FOUND error is returned.
+ rpc DeleteControl(DeleteControlRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a Control.
+ //
+ // [Control][google.cloud.retail.v2alpha.Control] cannot be set to a different
+ // oneof field, if so an INVALID_ARGUMENT is returned. If the
+ // [Control][google.cloud.retail.v2alpha.Control] to delete does not exist, a
+ // NOT_FOUND error is returned.
+ rpc UpdateControl(UpdateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{control.name=projects/*/locations/*/catalogs/*/controls/*}"
+ body: "control"
+ };
+ option (google.api.method_signature) = "control,update_mask";
+ }
+
+ // Gets a Control.
+ rpc GetControl(GetControlRequest) returns (Control) {
+ option (google.api.http) = {
+ get: "/v2alpha/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all Controls linked to this catalog.
+ rpc ListControls(ListControlsRequest) returns (ListControlsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/controls"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Request for CreateControl method.
+message CreateControlRequest {
+ // Required. Full resource name of parent catalog. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The Control to create.
+ Control control = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the Control, which will become the final
+ // component of the Control's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string control_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateControl method.
+message UpdateControlRequest {
+ // Required. The Control to update.
+ Control control = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Control][google.cloud.retail.v2alpha.Control] to update. The following are
+ // NOT supported:
+ //
+ // * [Control.name][google.cloud.retail.v2alpha.Control.name]
+ //
+ // If not set or empty, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteControl method.
+message DeleteControlRequest {
+ // Required. The resource name of the Control to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for GetControl method.
+message GetControlRequest {
+ // Required. The resource name of the Control to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for ListControls method.
+message ListControlsRequest {
+ // Required. The catalog resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 50. Max allowed value is 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListControls` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2alpha.ListControlsRequest.filter] is unset.
+ // * List controls that are used in a single ServingConfig:
+ // 'serving_config = "boosted_home_page_cvr"'
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListControls method.
+message ListControlsResponse {
+ // All the Controls for a given catalog.
+ repeated Control controls = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/export_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/export_config.proto
new file mode 100644
index 00000000000..dd907d1ea91
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/export_config.proto
@@ -0,0 +1,95 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ExportConfigProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Configuration of destination for Export related errors.
+message ExportErrorsConfig {
+ // Required. Errors destination.
+ oneof destination {
+ // Google Cloud Storage path for import errors. This must be an empty,
+ // existing Cloud Storage bucket. Export errors will be written to a file in
+ // this bucket, one per line, as a JSON-encoded
+ // `google.rpc.Status` message.
+ string gcs_prefix = 1;
+ }
+}
+
+// Metadata related to the progress of the Export operation. This will be
+// returned by the google.longrunning.Operation.metadata field.
+message ExportMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+}
+
+// Response of the ExportProductsRequest. If the long running
+// operation is done, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ExportProductsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // This field is never set.
+ ExportErrorsConfig errors_config = 2;
+
+ // Output result indicating where the data were exported to.
+ OutputResult output_result = 3;
+}
+
+// Response of the ExportUserEventsRequest. If the long running
+// operation was successful, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ExportUserEventsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // This field is never set.
+ ExportErrorsConfig errors_config = 2;
+
+ // Output result indicating where the data were exported to.
+ OutputResult output_result = 3;
+}
+
+// Output result.
+message OutputResult {
+ // Export result in BigQuery.
+ repeated BigQueryOutputResult bigquery_result = 1;
+}
+
+// A BigQuery output result.
+message BigQueryOutputResult {
+ // The ID of a BigQuery Dataset.
+ string dataset_id = 1;
+
+ // The ID of a BigQuery Table.
+ string table_id = 2;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/import_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/import_config.proto
new file mode 100644
index 00000000000..319edb1eacb
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/import_config.proto
@@ -0,0 +1,413 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/product.proto";
+import "google/cloud/retail/v2alpha/user_event.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/date.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ImportConfigProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Google Cloud Storage location for input content.
+// format.
+message GcsSource {
+ // Required. Google Cloud Storage URIs to input files. URI can be up to
+ // 2000 characters long. URIs can match the full object path (for example,
+ // `gs://bucket/directory/object.json`) or a pattern matching one or more
+ // files, such as `gs://bucket/directory/*.json`. A request can
+ // contain at most 100 files, and each file can be up to 2 GB. See
+ // [Importing product
+ // information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog)
+ // for the expected file format and setup instructions.
+ repeated string input_uris = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON
+ // [Product][google.cloud.retail.v2alpha.Product] per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent] per line.
+ // * `user_event_ga360`: Using
+ // https://support.google.com/analytics/answer/3437719.
+ //
+ // Supported values for control imports:
+ //
+ // * 'control' (default): One JSON
+ // [Control][google.cloud.retail.v2alpha.Control] per line.
+ //
+ // Supported values for catalog attribute imports:
+ //
+ // * 'catalog_attribute' (default): One CSV
+ // [CatalogAttribute][google.cloud.retail.v2alpha.CatalogAttribute] per line.
+ string data_schema = 2;
+}
+
+// BigQuery source import data from.
+message BigQuerySource {
+ // BigQuery table partition info. Leave this empty if the BigQuery table
+ // is not partitioned.
+ oneof partition {
+ // BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
+ //
+ // Only supported when
+ // [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2alpha.ImportProductsRequest.reconciliation_mode]
+ // is set to `FULL`.
+ google.type.Date partition_date = 6;
+ }
+
+ // The project ID (can be project # or ID) that the BigQuery source is in with
+ // a length limit of 128 characters. If not specified, inherits the project
+ // ID from the parent request.
+ string project_id = 5;
+
+ // Required. The BigQuery data set to copy the data from with a length limit
+ // of 1,024 characters.
+ string dataset_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The BigQuery table to copy the data from with a length limit of
+ // 1,024 characters.
+ string table_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Intermediate Cloud Storage directory used for the import with a length
+ // limit of 2,000 characters. Can be specified if one wants to have the
+ // BigQuery export to a specific Cloud Storage directory.
+ string gcs_staging_dir = 3;
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON
+ // [Product][google.cloud.retail.v2alpha.Product] per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2alpha.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent] per line.
+ // * `user_event_ga360`:
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/3437719.
+ // * `user_event_ga4`: This feature is in private preview. Please contact the
+ // support team for importing Google Analytics 4 events.
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/7029846.
+ //
+ // Supported values for auto-completion imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ string data_schema = 4;
+}
+
+// The inline source for the input config for ImportProducts method.
+message ProductInlineSource {
+ // Required. A list of products to update/create. Each product must have a
+ // valid [Product.id][google.cloud.retail.v2alpha.Product.id]. Recommended max
+ // of 100 items.
+ repeated Product products = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The inline source for the input config for ImportUserEvents method.
+message UserEventInlineSource {
+ // Required. A list of user events to import. Recommended max of 10k items.
+ repeated UserEvent user_events = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Configuration of destination for Import related errors.
+message ImportErrorsConfig {
+ // Required. Errors destination.
+ oneof destination {
+ // Google Cloud Storage prefix for import errors. This must be an empty,
+ // existing Cloud Storage directory. Import errors will be written to
+ // sharded files in this directory, one per line, as a JSON-encoded
+ // `google.rpc.Status` message.
+ string gcs_prefix = 1;
+ }
+}
+
+// Request message for Import methods.
+message ImportProductsRequest {
+ // Indicates how imported products are reconciled with the existing products
+ // created or imported before.
+ enum ReconciliationMode {
+ // Defaults to INCREMENTAL.
+ RECONCILIATION_MODE_UNSPECIFIED = 0;
+
+ // Inserts new products or updates existing products.
+ INCREMENTAL = 1;
+
+ // Calculates diff and replaces the entire product dataset. Existing
+ // products may be deleted if they are not present in the source location.
+ //
+ // Can only be set while using
+ // [BigQuerySource][google.cloud.retail.v2alpha.BigQuerySource]. And the
+ // BigQuery dataset must be created in the data location "us (multiple
+ // regions in United States)", otherwise a PERMISSION_DENIED error is
+ // thrown.
+ //
+ // Add the IAM permission "BigQuery Data Viewer" for
+ // cloud-retail-customer-data-access@system.gserviceaccount.com before
+ // using this feature otherwise an error is thrown.
+ FULL = 2;
+ }
+
+ // Required.
+ // `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch`
+ //
+ // If no updateMask is specified, requires products.create permission.
+ // If updateMask is specified, requires products.update permission.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Deprecated. This field has no effect.
+ string request_id = 6 [deprecated = true];
+
+ // Required. The desired input location of the data.
+ ProductInputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import.
+ ImportErrorsConfig errors_config = 3;
+
+ // Indicates which fields in the provided imported 'products' to update. If
+ // not set, will by default update all fields.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mode of reconciliation between existing products and the products to be
+ // imported. Defaults to
+ // [ReconciliationMode.INCREMENTAL][google.cloud.retail.v2alpha.ImportProductsRequest.ReconciliationMode.INCREMENTAL].
+ ReconciliationMode reconciliation_mode = 5;
+
+ // Full Pub/Sub topic name for receiving notification. If this field is set,
+ // when the import is finished, a notification will be sent to
+ // specified Pub/Sub topic. The message data will be JSON string of a
+ // [Operation][google.longrunning.Operation].
+ //
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
+ // to be within the same project as
+ // [ImportProductsRequest.parent][google.cloud.retail.v2alpha.ImportProductsRequest.parent].
+ // Make sure that both
+ // `cloud-retail-customer-data-access@system.gserviceaccount.com` and
+ // `service-@gcp-sa-retail.iam.gserviceaccount.com`
+ // have the `pubsub.topics.publish` IAM permission on the topic.
+ //
+ // Only supported when
+ // [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2alpha.ImportProductsRequest.reconciliation_mode]
+ // is set to `FULL`.
+ string notification_pubsub_topic = 7;
+
+ // If true, will perform the FULL import even if it would delete a large
+ // proportion of the products in the default branch, which could potentially
+ // cause outages if you have live predict/search traffic.
+ //
+ // Only supported when
+ // [ImportProductsRequest.reconciliation_mode][google.cloud.retail.v2alpha.ImportProductsRequest.reconciliation_mode]
+ // is set to `FULL`.
+ bool skip_default_branch_protection = 8;
+}
+
+// Request message for the ImportUserEvents request.
+message ImportUserEventsRequest {
+ // Required. `projects/1234/locations/global/catalogs/default_catalog`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ UserEventInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import. Cannot be set
+ // for inline user event imports.
+ ImportErrorsConfig errors_config = 3;
+}
+
+// Request message for ImportCompletionData methods.
+message ImportCompletionDataRequest {
+ // Required. The catalog which the suggestions dataset belongs to.
+ //
+ // Format: `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ CompletionDataInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification will be sent to
+ // specified Pub/Sub topic. The message data will be JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 3;
+}
+
+// The input config source for products.
+message ProductInputConfig {
+ // Required. The source of the input.
+ oneof source {
+ // The Inline source for the input content for products.
+ ProductInlineSource product_inline_source = 1;
+
+ // Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2;
+
+ // BigQuery input source.
+ BigQuerySource big_query_source = 3;
+ }
+}
+
+// The input config source for user events.
+message UserEventInputConfig {
+ // The source of the input.
+ oneof source {
+ // Required. The Inline source for the input content for UserEvents.
+ UserEventInlineSource user_event_inline_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. BigQuery input source.
+ BigQuerySource big_query_source = 3
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// The input config source for completion data.
+message CompletionDataInputConfig {
+ // The source of the input.
+ //
+ // Supported
+ // [BigQuerySource.data_schema][google.cloud.retail.v2alpha.BigQuerySource.data_schema]
+ // values for suggestions imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ oneof source {
+ // Required. BigQuery input source.
+ //
+ // Add the IAM permission "BigQuery Data Viewer" for
+ // cloud-retail-customer-data-access@system.gserviceaccount.com before
+ // using this feature otherwise an error is thrown.
+ BigQuerySource big_query_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// Metadata related to the progress of the Import operation. This will be
+// returned by the google.longrunning.Operation.metadata field.
+message ImportMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+
+ // Count of entries that were processed successfully.
+ int64 success_count = 3;
+
+ // Count of entries that encountered errors while processing.
+ int64 failure_count = 4;
+
+ // Deprecated. This field is never set.
+ string request_id = 5 [deprecated = true];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification will be sent to
+ // specified Pub/Sub topic. The message data will be JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 6;
+}
+
+// Response of the
+// [ImportProductsRequest][google.cloud.retail.v2alpha.ImportProductsRequest].
+// If the long running operation is done, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportProductsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors in the request if set.
+ ImportErrorsConfig errors_config = 2;
+}
+
+// Response of the ImportUserEventsRequest. If the long running
+// operation was successful, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportUserEventsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors if this field was set in
+ // the request.
+ ImportErrorsConfig errors_config = 2;
+
+ // Aggregated statistics of user event import status.
+ UserEventImportSummary import_summary = 3;
+}
+
+// A summary of import result. The UserEventImportSummary summarizes
+// the import status for user events.
+message UserEventImportSummary {
+ // Count of user events imported with complete existing catalog information.
+ int64 joined_events_count = 1;
+
+ // Count of user events imported, but with catalog information not found
+ // in the imported catalog.
+ int64 unjoined_events_count = 2;
+}
+
+// Response of the
+// [ImportCompletionDataRequest][google.cloud.retail.v2alpha.ImportCompletionDataRequest].
+// If the long running operation is done, this message is returned by the
+// google.longrunning.Operations.response field if the operation is successful.
+message ImportCompletionDataResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model.proto
new file mode 100644
index 00000000000..5f4ead9f7d2
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model.proto
@@ -0,0 +1,432 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ModelProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Metadata that describes the training and serving parameters of a
+// [Model][google.cloud.retail.v2alpha.Model]. A
+// [Model][google.cloud.retail.v2alpha.Model] can be associated with a
+// [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] and then queried
+// through the Predict api.
+message Model {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Model"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}"
+ };
+
+ // The PageOptimizationConfig for model training.
+ //
+ // This determines how many panels to optimize for, and which serving
+ // configurations to consider for each panel.
+ // The purpose of this model is to optimize which
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] to show on which
+ // panels in way that optimizes the visitors shopping journey.
+ message PageOptimizationConfig {
+ // A candidate to consider for a given panel. Currently only
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] are valid
+ // candidates.
+ message Candidate {
+ oneof candidate {
+ // This has to be a valid
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig]
+ // identifier. e.g. for a ServingConfig with full name:
+ // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/my_candidate_config`
+ // this would be 'my_candidate_config'
+ string serving_config_id = 1;
+ }
+ }
+
+ // An individual panel with a list of
+ // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] to consider
+ // for it.
+ message Panel {
+ // Optional. The name to display for the panel.
+ string display_name = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The candidates to consider on the panel.
+ //
+ // Limit = 10.
+ repeated Candidate candidates = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The default candidate (in case the model fails at serving
+ // time, we can fall back to the default).
+ Candidate default_candidate = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Restrictions of expected returned results.
+ enum Restriction {
+ // Unspecified value for restriction.
+ RESTRICTION_UNSPECIFIED = 0;
+
+ // Allow any [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] to
+ // be show on any number of panels.
+ //
+ // Example:
+ //
+ // `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity
+ //
+ // `Panel2 candidates`: home_page_ctr_no_diversity,
+ // home_page_ctr_diversity,
+ // pdp_cvr_no_diversity
+ //
+ // `Restriction` = NO_RESTRICTION
+ //
+ // `Valid combinations`:
+ //
+ // * (pdp_ctr, home_page_ctr_no_diversity)
+ // * (pdp_ctr, home_page_ctr_diversity)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_diversity)
+ // * (pdp_cvr, pdp_cvr_no_diversity)
+ // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity)
+ // * (home_page_ctr_no_diversity, home_page_ctr_diversity)
+ // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity)
+ //
+ // `Invalid combinations`: []
+ NO_RESTRICTION = 1;
+
+ // Do not allow the same
+ // [ServingConfig.name][google.cloud.retail.v2alpha.ServingConfig.name] to
+ // be shown on multiple panels.
+ //
+ // Example:
+ //
+ // `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity
+ //
+ //
+ // `Panel2 candidates`: home_page_ctr_no_diversity,
+ // home_page_ctr_diversity_low,
+ // pdp_cvr_no_diversity
+ //
+ // `Restriction` = UNIQUE_SERVING_CONFIG_RESTRICTION
+ //
+ // `Valid combinations`:
+ //
+ // * (pdp_ctr, home_page_ctr_no_diversity)
+ // * (pdp_ctr, home_page_ctr_diversity_low)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_diversity_low)
+ // * (pdp_cvr, pdp_cvr_no_diversity)
+ // * (home_page_ctr_no_diversity, home_page_ctr_diversity_low)
+ // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity)
+ //
+ // `Invalid combinations`:
+ //
+ // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity)
+ UNIQUE_SERVING_CONFIG_RESTRICTION = 2;
+
+ // Do not allow multiple
+ // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same
+ // [Model.name][google.cloud.retail.v2alpha.Model.name] to be show on on
+ // different panels.
+ //
+ // Example:
+ //
+ // `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity
+ //
+ //
+ // `Panel2 candidates`: home_page_ctr_no_diversity,
+ // home_page_ctr_diversity_low,
+ // pdp_cvr_no_diversity
+ //
+ // `Restriction` = UNIQUE_MODEL_RESTRICTION
+ //
+ // `Valid combinations`:
+ //
+ // * (pdp_ctr, home_page_ctr_no_diversity)
+ // * (pdp_ctr, home_page_ctr_diversity)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_diversity_low)
+ // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity)
+ //
+ // `Invalid combinations`:
+ //
+ // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity)
+ // * (pdp_cvr, pdp_cvr_no_diversity)
+ UNIQUE_MODEL_RESTRICTION = 3;
+
+ // Do not allow multiple
+ // [ServingConfigs][google.cloud.retail.v2alpha.ServingConfig] with same
+ // [Model.type][google.cloud.retail.v2alpha.Model.type] to be shown on
+ // different panels.
+ //
+ // Example:
+ //
+ // `Panel1 candidates`: pdp_ctr, pdp_cvr, home_page_ctr_no_diversity
+ //
+ //
+ // `Panel2 candidates`: home_page_ctr_no_diversity,
+ // home_page_ctr_diversity_low,
+ // pdp_cvr_no_diversity
+ //
+ // `Restriction` = UNIQUE_MODEL_RESTRICTION
+ //
+ // `Valid combinations`:
+ //
+ // * (pdp_ctr, home_page_ctr_no_diversity)
+ // * (pdp_ctr, home_page_ctr_diversity)
+ // * (pdp_cvr, home_page_ctr_no_diversity)
+ // * (pdp_cvr, home_page_ctr_diversity_low)
+ // * (home_page_ctr_no_diversity, pdp_cvr_no_diversity)
+ //
+ // `Invalid combinations`:
+ //
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_ctr, pdp_cvr_no_diversity)
+ // * (pdp_cvr, pdp_cvr_no_diversity)
+ // * (home_page_ctr_no_diversity, home_page_ctr_no_diversity)
+ // * (home_page_ctr_no_diversity, home_page_ctr_diversity)
+ UNIQUE_MODEL_TYPE_RESTRICTION = 4;
+ }
+
+ // Required. The type of [UserEvent][google.cloud.retail.v2alpha.UserEvent]
+ // this page optimization is shown for.
+ //
+ // Each page has an associated event type - this will be the
+ // corresponding event type for the page that the page optimization
+ // model is used on.
+ //
+ // Supported types:
+ //
+ // * `add-to-cart`: Products being added to cart.
+ // * `detail-page-view`: Products detail page viewed.
+ // * `home-page-view`: Homepage viewed
+ // * `category-page-view`: Homepage viewed
+ // * `shopping-cart-page-view`: User viewing a shopping cart.
+ //
+ // `home-page-view` only allows models with type `recommended-for-you`.
+ // All other page_optimization_event_type allow all
+ // [Model.types][google.cloud.retail.v2alpha.Model.type].
+ string page_optimization_event_type = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of panel configurations.
+ //
+ // Limit = 5.
+ repeated Panel panels = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. How to restrict results across panels e.g. can the same
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] be shown on
+ // multiple panels at once.
+ //
+ // If unspecified, default to `UNIQUE_MODEL_RESTRICTION`.
+ Restriction restriction = 3 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Represents an ordered combination of valid serving configs, which
+ // / may be used for PAGE_OPTIMIZATION recommendations.
+ message ServingConfigList {
+ // Optional. A set of valid serving configs that may be used for
+ // PAGE_OPTIMIZATION.
+ repeated string serving_config_ids = 1
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The serving state of the model.
+ enum ServingState {
+ // Unspecified serving state.
+ SERVING_STATE_UNSPECIFIED = 0;
+
+ // The model is not serving.
+ INACTIVE = 1;
+
+ // The model is serving and can be queried.
+ ACTIVE = 2;
+
+ // The model is trained on tuned hyperparameters, and can be
+ // queried.
+ TUNED = 3;
+ }
+
+ // The training state of the model.
+ enum TrainingState {
+ // Unspecified training state.
+ TRAINING_STATE_UNSPECIFIED = 0;
+
+ // The model training is paused.
+ PAUSED = 1;
+
+ // The model is training.
+ TRAINING = 2;
+ }
+
+ // Describes whether periodic tuning is enabled for this model
+ // or not. Periodic tuning is scheduled at most every three months. You can
+ // start a tuning process manually by using the ModelTune
+ // method, which starts a tuning process immediately and resets the quarterly
+ // schedule. Enabling or disabling periodic tuning does not affect any
+ // current tuning processes.
+ enum PeriodicTuningState {
+ // Unspecified default value - should never be explicitly set.
+ PERIODIC_TUNING_STATE_UNSPECIFIED = 0;
+
+ // The model has periodic tuning disabled. Tuning
+ // can be reenabled by calling the EnableModelPeriodicTuning
+ // method or by calling the TuneModel method.
+ PERIODIC_TUNING_DISABLED = 1;
+
+ // The model cannot be tuned with periodic tuning OR the
+ // TuneModel method. Hide the options in customer UI and
+ // reject any requests through the backend self serve API.
+ ALL_TUNING_DISABLED = 3;
+
+ // The model has periodic tuning enabled. Tuning
+ // can be disabled by calling the DisableModelPeriodicTuning
+ // method.
+ PERIODIC_TUNING_ENABLED = 2;
+ }
+
+ // Describes whether this model have sufficient training data
+ // to be continuously trained.
+ enum DataState {
+ // Unspecified default value - should never be explicitly set.
+ DATA_STATE_UNSPECIFIED = 0;
+
+ // The model has sufficient training data.
+ DATA_OK = 1;
+
+ // The model does not have sufficient training data. Error
+ // messages can be queried via Stackdriver.
+ DATA_ERROR = 2;
+ }
+
+ // Training configuration specific to a
+ // [Model.type][google.cloud.retail.v2alpha.Model.type] - currently, only for
+ // page optimization.
+ oneof training_config {
+ // Optional. The page optimization config.
+ PageOptimizationConfig page_optimization_config = 17
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. The fully qualified resource name of the model.
+ //
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ // catalog_id has char limit of 50.
+ // recommendation_model_id has char limit of 40.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The display name of the model.
+ //
+ // Should be human readable, used to display Recommendation Models in the
+ // Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024
+ // characters.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The training state that the model is in (e.g.
+ // TRAINING or PAUSED).
+ //
+ // Since part of the cost of running the service
+ // is frequency of training - this can be used to determine when to train
+ // model in order to control cost. If not specified: the default value for
+ // CreateModel method is TRAINING. the default value for
+ // UpdateModel method is to keep the state the same as before.
+ TrainingState training_state = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.
+ ServingState serving_state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp the Recommendation Model was created at.
+ google.protobuf.Timestamp create_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp the Recommendation Model was last updated. E.g.
+ // if a Recommendation Model was paused - this would be the time the pause was
+ // initiated.
+ google.protobuf.Timestamp update_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The type of model e.g. `home-page`.
+ //
+ // Currently supported values: `recommended-for-you`, `others-you-may-like`,
+ // `frequently-bought-together`, `page-optimization`, 'similar-items',
+ // 'buy-it-again', `recently-viewed`(readonly value).
+ string type = 7 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The optimization objective e.g. `cvr`.
+ //
+ // Currently supported
+ // values: `ctr`, `cvr`, `revenue-per-order`.
+ //
+ // If not specified, we choose default based on model type.
+ // Default depends on type of recommendation:
+ //
+ // `recommended-for-you` => `ctr`
+ //
+ // `others-you-may-like` => `ctr`
+ //
+ // `frequently-bought-together` => `revenue_per_order`
+ string optimization_objective = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The state of periodic tuning.
+ //
+ // The period we use is 3 months - to do a
+ // one-off tune earlier use the TuneModel method. Default value
+ // is PERIODIC_TUNING_ENABLED.
+ PeriodicTuningState periodic_tuning_state = 11
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The timestamp when the latest successful tune finished.
+ google.protobuf.Timestamp last_tune_time = 12
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The tune operation associated with the model.
+ //
+ // Can be used to determine if there is an ongoing tune for this
+ // recommendation. Empty field implies no tune is goig on.
+ string tuning_operation = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The state of data requirements for this model: DATA_OK and
+ // DATA_ERROR.
+ //
+ // Recommendation model cannot be trained if the data is in
+ // DATA_ERROR state. Recommendation model can have DATA_ERROR state even if
+ // serving state is ACTIVE: models were trained successfully before, but
+ // cannot be refreshed because model no longer has sufficient
+ // data for training.
+ DataState data_state = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by
+ // attributes is enabled for the model.
+ RecommendationsFilteringOption filtering_option = 18
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The list of valid serving configs associated with the
+ // PageOptimizationConfig.
+ repeated ServingConfigList serving_config_lists = 19
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model_service.proto
new file mode 100644
index 00000000000..30690f538f5
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/model_service.proto
@@ -0,0 +1,241 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/model.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ModelServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for performing CRUD operations on models.
+// Recommendation models contain all the metadata necessary to generate a set of
+// models for the Predict() api. A model is queried
+// indirectly via a ServingConfig, which associates a model with a
+// given Placement (e.g. Frequently Bought Together on Home Page).
+//
+// This service allows customers to e.g.:
+//
+// * Initiate training of a model.
+// * Pause training of an existing model.
+// * List all the available models along with their metadata.
+// * Control their tuning schedule.
+service ModelService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a new model.
+ rpc CreateModel(CreateModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models"
+ body: "model"
+ };
+ option (google.api.method_signature) = "parent,model";
+ option (google.longrunning.operation_info) = {
+ response_type: "Model"
+ metadata_type: "CreateModelMetadata"
+ };
+ }
+
+ // Pauses the training of an existing model.
+ rpc PauseModel(PauseModelRequest) returns (Model) {
+ option (google.api.http) = {
+ post: "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:pause"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Resumes the training of an existing model.
+ rpc ResumeModel(ResumeModelRequest) returns (Model) {
+ option (google.api.http) = {
+ post: "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:resume"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes an existing model.
+ rpc DeleteModel(DeleteModelRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all the models linked to this event store.
+ rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/models"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update of model metadata. Only fields that
+ // currently can be updated are: filtering_option, periodic_tuning_state.
+ // If other values are provided, this API method will ignore them.
+ rpc UpdateModel(UpdateModelRequest) returns (Model) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{model.name=projects/*/locations/*/catalogs/*/models/*}"
+ body: "model"
+ };
+ option (google.api.method_signature) = "model,update_mask";
+ }
+
+ // Tunes an existing model.
+ rpc TuneModel(TuneModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{name=projects/*/locations/*/catalogs/*/models/*}:tune"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "TuneModelResponse"
+ metadata_type: "TuneModelMetadata"
+ };
+ }
+}
+
+// Request for creating a model.
+message CreateModelRequest {
+ // Required. The parent resource under which to create the model. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The payload of the [Model] to create.
+ Model model = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Whether to run a dry_run to validate the request (without
+ // actually creating the model).
+ bool dry_run = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for updating an existing model.
+message UpdateModelRequest {
+ // Required. The body of the updated [Model].
+ Model model = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Indicates which fields in the provided 'model' to
+ // update. If not set, will by default update all fields.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for pausing training of a model.
+message PauseModelRequest {
+ // Required. The name of the model to pause.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Request for resuming training of a model.
+message ResumeModelRequest {
+ // Required. The name of the model to resume.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for listing models associated with a resource.
+message ListModelsRequest {
+ // Required. The parent for which to list models.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 50. Max allowed value is 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListModels`
+ // call. Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for deleting a model.
+message DeleteModelRequest {
+ // Required. The resource name of the [Model] to delete.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Response to a ListModelRequest.
+message ListModelsResponse {
+ // List of Models.
+ repeated Model models = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
+
+// Request to manually start a tuning process now (instead of waiting for
+// the periodically scheduled tuning to happen).
+message TuneModelRequest {
+ // Required. The resource name of the model to tune.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Metadata associated with a create operation.
+message CreateModelMetadata {
+ // The resource name of the model that this create applies to.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string model = 1;
+}
+
+// Metadata associated with a tune operation.
+message TuneModelMetadata {
+ // The resource name of the model that this tune applies to.
+ // Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}
+ string model = 1;
+}
+
+// Response associated with a tune operation.
+message TuneModelResponse {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/prediction_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/prediction_service.proto
new file mode 100644
index 00000000000..b76aed50b11
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/prediction_service.proto
@@ -0,0 +1,223 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/cloud/retail/v2alpha/user_event.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PredictionServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for making recommendation prediction.
+service PredictionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Makes a recommendation prediction.
+ rpc Predict(PredictRequest) returns (PredictResponse) {
+ option (google.api.http) = {
+ post: "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict"
+ body: "*"
+ additional_bindings {
+ post: "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for Predict method.
+message PredictRequest {
+ // Required. Full resource name of the format:
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}`
+ // or
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/placements/*}`.
+ // We recommend using the `servingConfigs` resource. `placements` is a legacy
+ // resource.
+ // The ID of the Recommendations AI serving config or placement.
+ // Before you can request predictions from your model, you must create at
+ // least one serving config or placement for it. For more information, see
+ // [Managing serving configurations]
+ // (https://cloud.google.com/retail/docs/manage-configs).
+ //
+ // The full list of available serving configs can be seen at
+ // https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Context about the user, what they are looking at and what action
+ // they took to trigger the predict request. Note that this user event detail
+ // won't be ingested to userEvent logs. Thus, a separate userEvent write
+ // request is required for event logging.
+ //
+ // Don't set
+ // [UserEvent.visitor_id][google.cloud.retail.v2alpha.UserEvent.visitor_id] or
+ // [UserInfo.user_id][google.cloud.retail.v2alpha.UserInfo.user_id] to the
+ // same fixed ID for different users. If you are trying to receive
+ // non-personalized recommendations (not recommended; this can negatively
+ // impact model performance), instead set
+ // [UserEvent.visitor_id][google.cloud.retail.v2alpha.UserEvent.visitor_id] to
+ // a random unique ID and leave
+ // [UserInfo.user_id][google.cloud.retail.v2alpha.UserInfo.user_id] unset.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum number of results to return per page. Set this property
+ // to the number of prediction results needed. If zero, the service will
+ // choose a reasonable default. The maximum allowed value is 100. Values
+ // above 100 will be coerced to 100.
+ int32 page_size = 3;
+
+ // This field is not used for now; leave it unset.
+ string page_token = 4 [deprecated = true];
+
+ // Filter for restricting prediction results with a length limit of 5,000
+ // characters. Accepts values for tags and the `filterOutOfStockItems` flag.
+ //
+ // * Tag expressions. Restricts predictions to products that match all of the
+ // specified tags. Boolean operators `OR` and `NOT` are supported if the
+ // expression is enclosed in parentheses, and must be separated from the
+ // tag values by a space. `-"tagA"` is also supported and is equivalent to
+ // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings
+ // with a size limit of 1,000 characters.
+ //
+ // Note: "Recently viewed" models don't support tag filtering at the
+ // moment.
+ //
+ // * filterOutOfStockItems. Restricts predictions to products that do not
+ // have a
+ // stockState value of OUT_OF_STOCK.
+ //
+ // Examples:
+ //
+ // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
+ // * filterOutOfStockItems tag=(-"promotional")
+ // * filterOutOfStockItems
+ //
+ // If your filter blocks all prediction results, the API will return generic
+ // (unfiltered) popular products. If you only want results strictly matching
+ // the filters, set `strictFiltering` to True in `PredictRequest.params` to
+ // receive empty results instead.
+ // Note that the API will never return items with storageStatus of "EXPIRED"
+ // or "DELETED" regardless of filter choices.
+ //
+ // If `filterSyntaxV2` is set to true under the `params` field, then
+ // attribute-based expressions are expected instead of the above described
+ // tag-based syntax. Examples:
+ //
+ // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones"))
+ // * (availability: ANY("IN_STOCK")) AND
+ // (colors: ANY("Red") OR categories: ANY("Phones"))
+ string filter = 5;
+
+ // Use validate only mode for this prediction query. If set to true, a
+ // dummy model will be used that returns arbitrary products.
+ // Note that the validate only mode should only be used for testing the API,
+ // or if the model is not ready.
+ bool validate_only = 6;
+
+ // Additional domain specific parameters for the predictions.
+ //
+ // Allowed values:
+ //
+ // * `returnProduct`: Boolean. If set to true, the associated product
+ // object will be returned in the `results.metadata` field in the
+ // prediction response.
+ // * `returnScore`: Boolean. If set to true, the prediction 'score'
+ // corresponding to each returned product will be set in the
+ // `results.metadata` field in the prediction response. The given
+ // 'score' indicates the probability of an product being clicked/purchased
+ // given the user's context and history.
+ // * `strictFiltering`: Boolean. True by default. If set to false, the service
+ // will return generic (unfiltered) popular products instead of empty if
+ // your filter blocks all prediction results.
+ // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-price-reranking', 'low-price-reranking',
+ // 'medium-price-reranking', 'high-price-reranking'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // price.
+ // * `diversityLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-diversity', 'low-diversity',
+ // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // category.
+ // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter`
+ // field is interpreteted according to the new, attribute-based syntax.
+ map params = 7;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 8;
+}
+
+// Response message for predict method.
+message PredictResponse {
+ // PredictionResult represents the recommendation prediction results.
+ message PredictionResult {
+ // ID of the recommended product
+ string id = 1;
+
+ // Additional product metadata / annotations.
+ //
+ // Possible values:
+ //
+ // * `product`: JSON representation of the product. Is set if
+ // `returnProduct` is set to true in `PredictRequest.params`.
+ // * `score`: Prediction score in double value. Is set if
+ // `returnScore` is set to true in `PredictRequest.params`.
+ map metadata = 2;
+ }
+
+ // A list of recommended products. The order represents the ranking (from the
+ // most relevant product to the least).
+ repeated PredictionResult results = 1;
+
+ // A unique attribution token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent] logs resulting from this
+ // recommendation, which enables accurate attribution of recommendation model
+ // performance.
+ string attribution_token = 2;
+
+ // IDs of products in the request that were missing from the inventory.
+ repeated string missing_ids = 3;
+
+ // True if the validateOnly property was set in the request.
+ bool validate_only = 4;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product.proto
new file mode 100644
index 00000000000..f4826f1bdd0
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product.proto
@@ -0,0 +1,567 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/promotion.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+option (google.api.resource_definition) = {
+ type: "retail.googleapis.com/Branch"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}"
+};
+
+// Product captures all metadata information of items to be recommended or
+// searched.
+message Product {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Product"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
+ };
+
+ // The type of this product.
+ enum Type {
+ // Default value. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ TYPE_UNSPECIFIED = 0;
+
+ // The primary type.
+ //
+ // As the primary unit for predicting, indexing and search serving, a
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product] is grouped with multiple
+ // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s.
+ PRIMARY = 1;
+
+ // The variant type.
+ //
+ // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s usually share some common
+ // attributes on the same
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]s, but they have variant
+ // attributes like different colors, sizes and prices, etc.
+ VARIANT = 2;
+
+ // The collection type. Collection products are bundled
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]s or
+ // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s that are sold together,
+ // such as a jewelry set with necklaces, earrings and rings, etc.
+ COLLECTION = 3;
+ }
+
+ // Product availability. If this field is unspecified, the product is
+ // assumed to be in stock.
+ enum Availability {
+ // Default product availability. Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK]
+ // if unset.
+ AVAILABILITY_UNSPECIFIED = 0;
+
+ // Product in stock.
+ IN_STOCK = 1;
+
+ // Product out of stock.
+ OUT_OF_STOCK = 2;
+
+ // Product that is in pre-order state.
+ PREORDER = 3;
+
+ // Product that is back-ordered (i.e. temporarily out of stock).
+ BACKORDER = 4;
+ }
+
+ oneof expiration {
+ // The timestamp when this product becomes unavailable for
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ //
+ // If it is set, the [Product][google.cloud.retail.v2alpha.Product] is not
+ // available for
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+ // after [expire_time][google.cloud.retail.v2alpha.Product.expire_time].
+ // However, the product can still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // [expire_time][google.cloud.retail.v2alpha.Product.expire_time] must be
+ // later than
+ // [available_time][google.cloud.retail.v2alpha.Product.available_time] and
+ // [publish_time][google.cloud.retail.v2alpha.Product.publish_time],
+ // otherwise an INVALID_ARGUMENT error is thrown.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [expiration_date](https://support.google.com/merchants/answer/6324499).
+ google.protobuf.Timestamp expire_time = 16;
+
+ // Input only. The TTL (time to live) of the product.
+ //
+ // If it is set, it must be a non-negative value, and
+ // [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is set as
+ // current timestamp plus [ttl][google.cloud.retail.v2alpha.Product.ttl].
+ // The derived
+ // [expire_time][google.cloud.retail.v2alpha.Product.expire_time] is
+ // returned in the output and [ttl][google.cloud.retail.v2alpha.Product.ttl]
+ // is left blank when retrieving the
+ // [Product][google.cloud.retail.v2alpha.Product].
+ //
+ // If it is set, the product is not available for
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+ // after current timestamp plus
+ // [ttl][google.cloud.retail.v2alpha.Product.ttl]. However, the product can
+ // still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ google.protobuf.Duration ttl = 17
+ [(google.api.field_behavior) = INPUT_ONLY];
+ }
+
+ // Immutable. Full resource name of the product, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. [Product][google.cloud.retail.v2alpha.Product] identifier, which
+ // is the final component of [name][google.cloud.retail.v2alpha.Product.name].
+ // For example, this field is "id_1", if
+ // [name][google.cloud.retail.v2alpha.Product.name] is
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [id](https://support.google.com/merchants/answer/6324405). Schema.org
+ // property [Product.sku](https://schema.org/sku).
+ string id = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. The type of the product. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2alpha.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ Type type = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Variant group identifier. Must be an
+ // [id][google.cloud.retail.v2alpha.Product.id], with the same parent branch
+ // with this product. Otherwise, an error is thrown.
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]s, this field can only be
+ // empty or set to the same value as
+ // [id][google.cloud.retail.v2alpha.Product.id].
+ //
+ // For VARIANT [Product][google.cloud.retail.v2alpha.Product]s, this field
+ // cannot be empty. A maximum of 2,000 products are allowed to share the same
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [item_group_id](https://support.google.com/merchants/answer/6324507).
+ // Schema.org property
+ // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
+ string primary_product_id = 4;
+
+ // The [id][google.cloud.retail.v2alpha.Product.id] of the collection members
+ // when [type][google.cloud.retail.v2alpha.Product.type] is
+ // [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION].
+ //
+ // Non-existent product ids are allowed.
+ // The [type][google.cloud.retail.v2alpha.Product.type] of the members must be
+ // either [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] or
+ // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT] otherwise
+ // and INVALID_ARGUMENT error is thrown. Should not set it for other types. A
+ // maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
+ // return.
+ repeated string collection_member_ids = 5;
+
+ // The Global Trade Item Number (GTIN) of the product.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [gtin](https://support.google.com/merchants/answer/6324461).
+ // Schema.org property
+ // [Product.isbn](https://schema.org/isbn),
+ // [Product.gtin8](https://schema.org/gtin8),
+ // [Product.gtin12](https://schema.org/gtin12),
+ // [Product.gtin13](https://schema.org/gtin13), or
+ // [Product.gtin14](https://schema.org/gtin14).
+ //
+ // If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+ string gtin = 6;
+
+ // Product categories. This field is repeated for supporting one product
+ // belonging to several parallel categories. Strongly recommended using the
+ // full path for better search / recommendation quality.
+ //
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // For example, if a shoes product belongs to both
+ // ["Shoes & Accessories" -> "Shoes"] and
+ // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
+ // represented as:
+ //
+ // "categories": [
+ // "Shoes & Accessories > Shoes",
+ // "Sports & Fitness > Athletic Clothing > Shoes"
+ // ]
+ //
+ // Must be set for
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product] otherwise an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2alpha.Product]. Empty values are not
+ // allowed. Each value must be a UTF-8 encoded string with a length limit of
+ // 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [google_product_category][mc_google_product_category]. Schema.org property
+ // [Product.category] (https://schema.org/category).
+ //
+ // [mc_google_product_category]:
+ // https://support.google.com/merchants/answer/6324436
+ repeated string categories = 7;
+
+ // Required. Product title.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [title](https://support.google.com/merchants/answer/6324415). Schema.org
+ // property [Product.name](https://schema.org/name).
+ string title = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The brands of the product.
+ //
+ // A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
+ // string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [brand](https://support.google.com/merchants/answer/6324351). Schema.org
+ // property [Product.brand](https://schema.org/brand).
+ repeated string brands = 9;
+
+ // Product description.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [description](https://support.google.com/merchants/answer/6324468).
+ // Schema.org property [Product.description](https://schema.org/description).
+ string description = 10;
+
+ // Language of the title/description and other string attributes. Use language
+ // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
+ //
+ // For product prediction, this field is ignored and the model automatically
+ // detects the text language. The
+ // [Product][google.cloud.retail.v2alpha.Product] can include text in
+ // different languages, but duplicating
+ // [Product][google.cloud.retail.v2alpha.Product]s to provide text in multiple
+ // languages can result in degraded model performance.
+ //
+ // For product search this field is in use. It defaults to "en-US" if unset.
+ string language_code = 11;
+
+ // Highly encouraged. Extra product attributes to be included. For example,
+ // for products, this could include the store name, vendor, style, color, etc.
+ // These are very strong signals for recommendation model, thus we highly
+ // recommend providing the attributes here.
+ //
+ // Features that can take on one of a limited number of possible values. Two
+ // types of features can be set are:
+ //
+ // Textual features. some examples would be the brand/maker of a product, or
+ // country of a customer. Numerical features. Some examples would be the
+ // height/weight of a product, or age of a customer.
+ //
+ // For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
+ // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
+ // }`.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * Max entries count: 200.
+ // * The key must be a UTF-8 encoded string with a length limit of 128
+ // characters.
+ // * For indexable attribute, the key must match the pattern:
+ // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
+ // `KEY_1_LIKE_THIS`.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a non-empty UTF-8 encoded string with a
+ // length limit of 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ map attributes = 12;
+
+ // Custom tags associated with the product.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2alpha.Product]. This value must be a UTF-8
+ // encoded string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This tag can be used for filtering recommendation results by passing the
+ // tag as part of the
+ // [PredictRequest.filter][google.cloud.retail.v2alpha.PredictRequest.filter].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
+ repeated string tags = 13;
+
+ // Product price and cost information.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 14;
+
+ // The rating of this product.
+ Rating rating = 15;
+
+ // The timestamp when this [Product][google.cloud.retail.v2alpha.Product]
+ // becomes available for
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ google.protobuf.Timestamp available_time = 18;
+
+ // The online availability of the
+ // [Product][google.cloud.retail.v2alpha.Product]. Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2alpha.Product.Availability.IN_STOCK].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [availability](https://support.google.com/merchants/answer/6324448).
+ // Schema.org property [Offer.availability](https://schema.org/availability).
+ Availability availability = 19;
+
+ // The available quantity of the item.
+ google.protobuf.Int32Value available_quantity = 20;
+
+ // Fulfillment information, such as the store IDs for in-store pickup or
+ // region IDs for different shipping methods.
+ //
+ // All the elements must have distinct
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated FulfillmentInfo fulfillment_info = 21;
+
+ // Canonical URL directly linking to the product detail page.
+ //
+ // It is strongly recommended to provide a valid uri for the product,
+ // otherwise the service performance could be significantly degraded.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [link](https://support.google.com/merchants/answer/6324416). Schema.org
+ // property [Offer.url](https://schema.org/url).
+ string uri = 22;
+
+ // Product images for the product. We highly recommend putting the main
+ // image first.
+ //
+ // A maximum of 300 images are allowed.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ repeated Image images = 23;
+
+ // The target group associated with a given audience (e.g. male, veterans,
+ // car owners, musicians, etc.) of the product.
+ Audience audience = 24;
+
+ // The color of the product.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ ColorInfo color_info = 25;
+
+ // The size of the product. To represent different size systems or size types,
+ // consider using this format: [[[size_system:]size_type:]size_value].
+ //
+ // For example, in "US:MENS:M", "US" represents size system; "MENS" represents
+ // size type; "M" represents size value. In "GIRLS:27", size system is empty;
+ // "GIRLS" represents size type; "27" represents size value. In "32 inches",
+ // both size system and size type are empty, while size value is "32 inches".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [size](https://support.google.com/merchants/answer/6324492),
+ // [size_type](https://support.google.com/merchants/answer/6324497), and
+ // [size_system](https://support.google.com/merchants/answer/6324502).
+ // Schema.org property [Product.size](https://schema.org/size).
+ repeated string sizes = 26;
+
+ // The material of the product. For example, "leather", "wooden".
+ //
+ // A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 200 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [material](https://support.google.com/merchants/answer/6324410). Schema.org
+ // property [Product.material](https://schema.org/material).
+ repeated string materials = 27;
+
+ // The pattern or graphic print of the product. For example, "striped", "polka
+ // dot", "paisley".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
+ // property [Product.pattern](https://schema.org/pattern).
+ repeated string patterns = 28;
+
+ // The condition of the product. Strongly encouraged to use the standard
+ // values: "new", "refurbished", "used".
+ //
+ // A maximum of 1 value is allowed per
+ // [Product][google.cloud.retail.v2alpha.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [condition](https://support.google.com/merchants/answer/6324469).
+ // Schema.org property
+ // [Offer.itemCondition](https://schema.org/itemCondition).
+ repeated string conditions = 29;
+
+ // The promotions applied to the product. A maximum of 10 values are allowed
+ // per [Product][google.cloud.retail.v2alpha.Product]. Only
+ // [Promotion.promotion_id][google.cloud.retail.v2alpha.Promotion.promotion_id]
+ // will be used, other fields will be ignored if set.
+ repeated Promotion promotions = 34;
+
+ // The timestamp when the product is published by the retailer for the first
+ // time, which indicates the freshness of the products. Note that this field
+ // is different from
+ // [available_time][google.cloud.retail.v2alpha.Product.available_time], given
+ // it purely describes product freshness regardless of when it is available on
+ // search and recommendation.
+ google.protobuf.Timestamp publish_time = 33;
+
+ // Indicates which fields in the
+ // [Product][google.cloud.retail.v2alpha.Product]s are returned in
+ // [SearchResponse][google.cloud.retail.v2alpha.SearchResponse].
+ //
+ // Supported fields for all [type][google.cloud.retail.v2alpha.Product.type]s:
+ //
+ // * [audience][google.cloud.retail.v2alpha.Product.audience]
+ // * [availability][google.cloud.retail.v2alpha.Product.availability]
+ // * [brands][google.cloud.retail.v2alpha.Product.brands]
+ // * [color_info][google.cloud.retail.v2alpha.Product.color_info]
+ // * [conditions][google.cloud.retail.v2alpha.Product.conditions]
+ // * [gtin][google.cloud.retail.v2alpha.Product.gtin]
+ // * [materials][google.cloud.retail.v2alpha.Product.materials]
+ // * [name][google.cloud.retail.v2alpha.Product.name]
+ // * [patterns][google.cloud.retail.v2alpha.Product.patterns]
+ // * [price_info][google.cloud.retail.v2alpha.Product.price_info]
+ // * [rating][google.cloud.retail.v2alpha.Product.rating]
+ // * [sizes][google.cloud.retail.v2alpha.Product.sizes]
+ // * [title][google.cloud.retail.v2alpha.Product.title]
+ // * [uri][google.cloud.retail.v2alpha.Product.uri]
+ //
+ // Supported fields only for
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]:
+ //
+ // * [categories][google.cloud.retail.v2alpha.Product.categories]
+ // * [description][google.cloud.retail.v2alpha.Product.description]
+ // * [images][google.cloud.retail.v2alpha.Product.images]
+ //
+ // Supported fields only for
+ // [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]:
+ //
+ // * Only the first image in
+ // [images][google.cloud.retail.v2alpha.Product.images]
+ //
+ // To mark [attributes][google.cloud.retail.v2alpha.Product.attributes] as
+ // retrievable, include paths of the form "attributes.key" where "key" is the
+ // key of a custom attribute, as specified in
+ // [attributes][google.cloud.retail.v2alpha.Product.attributes].
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION], the
+ // following fields are always returned in
+ // [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] by default:
+ //
+ // * [name][google.cloud.retail.v2alpha.Product.name]
+ //
+ // For [Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT], the
+ // following fields are always returned in by default:
+ //
+ // * [name][google.cloud.retail.v2alpha.Product.name]
+ // * [color_info][google.cloud.retail.v2alpha.Product.color_info]
+ //
+ // The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Note: Returning more fields in
+ // [SearchResponse][google.cloud.retail.v2alpha.SearchResponse] can increase
+ // response payload size and serving latency.
+ google.protobuf.FieldMask retrievable_fields = 30;
+
+ // Output only. Product variants grouped together on primary product which
+ // share similar product attributes. It's automatically grouped by
+ // [primary_product_id][google.cloud.retail.v2alpha.Product.primary_product_id]
+ // for all the product variants. Only populated for
+ // [Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ repeated Product variants = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product_service.proto
new file mode 100644
index 00000000000..1a5f702bb05
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/product_service.proto
@@ -0,0 +1,932 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/import_config.proto";
+import "google/cloud/retail/v2alpha/product.proto";
+import "google/cloud/retail/v2alpha/purge_config.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for ingesting [Product][google.cloud.retail.v2alpha.Product]
+// information of the customer's website.
+service ProductService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a [Product][google.cloud.retail.v2alpha.Product].
+ rpc CreateProduct(CreateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ body: "product"
+ };
+ option (google.api.method_signature) = "parent,product,product_id";
+ }
+
+ // Gets a [Product][google.cloud.retail.v2alpha.Product].
+ rpc GetProduct(GetProductRequest) returns (Product) {
+ option (google.api.http) = {
+ get: "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a list of [Product][google.cloud.retail.v2alpha.Product]s.
+ rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates a [Product][google.cloud.retail.v2alpha.Product].
+ rpc UpdateProduct(UpdateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ body: "product"
+ };
+ option (google.api.method_signature) = "product,update_mask";
+ }
+
+ // Deletes a [Product][google.cloud.retail.v2alpha.Product].
+ rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2alpha/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Permanently deletes all selected
+ // [Product][google.cloud.retail.v2alpha.Product]s under a branch.
+ //
+ // This process is asynchronous. If the request is valid, the removal will be
+ // enqueued and processed offline. Depending on the number of
+ // [Product][google.cloud.retail.v2alpha.Product]s, this operation could take
+ // hours to complete. Before the operation completes, some
+ // [Product][google.cloud.retail.v2alpha.Product]s may still be returned by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // Depending on the number of [Product][google.cloud.retail.v2alpha.Product]s,
+ // this operation could take hours to complete. To get a sample of
+ // [Product][google.cloud.retail.v2alpha.Product]s that would be deleted, set
+ // [PurgeProductsRequest.force][google.cloud.retail.v2alpha.PurgeProductsRequest.force]
+ // to false.
+ rpc PurgeProducts(PurgeProductsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:purge"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.PurgeProductsResponse"
+ metadata_type: "google.cloud.retail.v2alpha.PurgeProductsMetadata"
+ };
+ }
+
+ // Bulk import of multiple [Product][google.cloud.retail.v2alpha.Product]s.
+ //
+ // Request processing may be synchronous.
+ // Non-existing items are created.
+ //
+ // Note that it is possible for a subset of the
+ // [Product][google.cloud.retail.v2alpha.Product]s to be successfully updated.
+ rpc ImportProducts(ImportProductsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.ImportProductsResponse"
+ metadata_type: "google.cloud.retail.v2alpha.ImportMetadata"
+ };
+ }
+
+ // Updates inventory information for a
+ // [Product][google.cloud.retail.v2alpha.Product] while respecting the last
+ // update timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2alpha.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2alpha.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // When inventory is updated with
+ // [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct],
+ // the specified inventory field value(s) will overwrite any existing value(s)
+ // while ignoring the last update time for this field. Furthermore, the last
+ // update time for the specified inventory fields will be overwritten to the
+ // time of the
+ // [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct]
+ // or
+ // [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
+ // request.
+ //
+ // If no inventory fields are set in
+ // [CreateProductRequest.product][google.cloud.retail.v2alpha.CreateProductRequest.product],
+ // then any pre-existing inventory information for this product will be used.
+ //
+ // If no inventory fields are set in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask],
+ // then any existing inventory information will be preserved.
+ //
+ // Pre-existing inventory information can only be updated with
+ // [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory],
+ // [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces],
+ // and
+ // [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces].
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc SetInventory(SetInventoryRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory"
+ body: "*"
+ };
+ option (google.api.method_signature) = "inventory,set_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.SetInventoryResponse"
+ metadata_type: "google.cloud.retail.v2alpha.SetInventoryMetadata"
+ };
+ }
+
+ // Incrementally adds place IDs to
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2alpha.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the added place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2alpha.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc AddFulfillmentPlaces(AddFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Incrementally removes place IDs from a
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2alpha.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the removed place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2alpha.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveFulfillmentPlaces(RemoveFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Updates local inventory information for a
+ // [Product][google.cloud.retail.v2alpha.Product] at a list of places, while
+ // respecting the last update timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2alpha.Product] to exist before updating
+ // inventory information. If the request is valid, the update will be enqueued
+ // and processed downstream. As a consequence, when a response is returned,
+ // updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2alpha.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // Local inventory information can only be modified using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc AddLocalInventories(AddLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.AddLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2alpha.AddLocalInventoriesMetadata"
+ };
+ }
+
+ // Remove local inventory information for a
+ // [Product][google.cloud.retail.v2alpha.Product] at a list of places at a
+ // removal timestamp.
+ //
+ // This process is asynchronous. If the request is valid, the removal will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, removals are not immediately manifested in the
+ // [Product][google.cloud.retail.v2alpha.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts].
+ //
+ // Local inventory information can only be removed using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveLocalInventories(RemoveLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata"
+ };
+ }
+}
+
+// Request message for
+// [ProductService.CreateProduct][google.cloud.retail.v2alpha.ProductService.CreateProduct]
+// method.
+message CreateProductRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Required. The [Product][google.cloud.retail.v2alpha.Product] to create.
+ Product product = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the
+ // [Product][google.cloud.retail.v2alpha.Product], which will become the final
+ // component of the [Product.name][google.cloud.retail.v2alpha.Product.name].
+ //
+ // If the caller does not have permission to create the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // This field must be unique among all
+ // [Product][google.cloud.retail.v2alpha.Product]s with the same
+ // [parent][google.cloud.retail.v2alpha.CreateProductRequest.parent].
+ // Otherwise, an ALREADY_EXISTS error is returned.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string product_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for
+// [ProductService.GetProduct][google.cloud.retail.v2alpha.ProductService.GetProduct]
+// method.
+message GetProductRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the requested [Product][google.cloud.retail.v2alpha.Product] does not
+ // exist, a NOT_FOUND error is returned.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
+// method.
+message UpdateProductRequest {
+ // Required. The product to update/create.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2alpha.Product] to update does not
+ // exist and
+ // [allow_missing][google.cloud.retail.v2alpha.UpdateProductRequest.allow_missing]
+ // is not set, a NOT_FOUND error is returned.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Product][google.cloud.retail.v2alpha.Product] to update. The immutable and
+ // output only fields are NOT supported. If not set, all supported fields (the
+ // fields that are neither immutable nor output only) are updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // The attribute key can be updated by setting the mask path as
+ // "attributes.${key_name}". If a key name is present in the mask but not in
+ // the patching product from the request, this key will be deleted after the
+ // update.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] is
+ // not found, a new [Product][google.cloud.retail.v2alpha.Product] will be
+ // created. In this situation, `update_mask` is ignored.
+ bool allow_missing = 3;
+}
+
+// Request message for
+// [ProductService.DeleteProduct][google.cloud.retail.v2alpha.ProductService.DeleteProduct]
+// method.
+message DeleteProductRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to delete the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2alpha.Product] to delete does not
+ // exist, a NOT_FOUND error is returned.
+ //
+ // The [Product][google.cloud.retail.v2alpha.Product] to delete can neither be
+ // a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2alpha.Product] member nor a
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product] with more than one
+ // [variants][google.cloud.retail.v2alpha.Product.Type.VARIANT]. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All inventory information for the named
+ // [Product][google.cloud.retail.v2alpha.Product] will be deleted.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]
+// method.
+message ListProductsRequest {
+ // Required. The parent branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`. Use
+ // `default_branch` as the branch ID, to list products under the default
+ // branch.
+ //
+ // If the caller does not have permission to list
+ // [Product][google.cloud.retail.v2alpha.Product]s under this branch,
+ // regardless of whether or not this branch exists, a PERMISSION_DENIED error
+ // is returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Maximum number of [Product][google.cloud.retail.v2alpha.Product]s to
+ // return. If unspecified, defaults to 100. The maximum allowed value is 1000.
+ // Values above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT error is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListProductsResponse.next_page_token][google.cloud.retail.v2alpha.ListProductsResponse.next_page_token],
+ // received from a previous
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+
+ // A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2alpha.ListProductsRequest.filter] is unset.
+ // * List
+ // [Product.Type.VARIANT][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s sharing the same
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product]. For example:
+ // `primary_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2alpha.Product]s bundled in a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2alpha.Product].
+ // For example:
+ // `collection_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2alpha.Product]s with a partibular
+ // type. For example:
+ // `type = "PRIMARY"`
+ // `type = "VARIANT"`
+ // `type = "COLLECTION"`
+ //
+ // If the field is unrecognizable, an INVALID_ARGUMENT error is returned.
+ //
+ // If the specified
+ // [Product.Type.PRIMARY][google.cloud.retail.v2alpha.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2alpha.Product] or
+ // [Product.Type.COLLECTION][google.cloud.retail.v2alpha.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2alpha.Product] does not exist, a NOT_FOUND
+ // error is returned.
+ string filter = 4;
+
+ // The fields of [Product][google.cloud.retail.v2alpha.Product] to return in
+ // the responses. If not set or empty, the following fields are returned:
+ //
+ // * [Product.name][google.cloud.retail.v2alpha.Product.name]
+ // * [Product.id][google.cloud.retail.v2alpha.Product.id]
+ // * [Product.title][google.cloud.retail.v2alpha.Product.title]
+ // * [Product.uri][google.cloud.retail.v2alpha.Product.uri]
+ // * [Product.images][google.cloud.retail.v2alpha.Product.images]
+ // * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
+ // * [Product.brands][google.cloud.retail.v2alpha.Product.brands]
+ //
+ // If "*" is provided, all fields are returned.
+ // [Product.name][google.cloud.retail.v2alpha.Product.name] is always returned
+ // no matter what mask is set.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask read_mask = 5;
+
+ // If true and
+ // [page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token] is
+ // empty,
+ // [ListProductsResponse.total_size][google.cloud.retail.v2alpha.ListProductsResponse.total_size]
+ // is set to the total count of matched items irrespective of pagination.
+ //
+ // Notice that setting this field to true affects the performance.
+ bool require_total_size = 6;
+}
+
+// Response message for
+// [ProductService.ListProducts][google.cloud.retail.v2alpha.ProductService.ListProducts]
+// method.
+message ListProductsResponse {
+ // The [Product][google.cloud.retail.v2alpha.Product]s.
+ repeated Product products = 1;
+
+ // A token that can be sent as
+ // [ListProductsRequest.page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+
+ // The total count of matched [Product][google.cloud.retail.v2alpha.Product]s
+ // irrespective of pagination. The total number of
+ // [Product][google.cloud.retail.v2alpha.Product]s returned by pagination may
+ // be less than the
+ // [total_size][google.cloud.retail.v2alpha.ListProductsResponse.total_size]
+ // that matches.
+ //
+ // This field is ignored if
+ // [ListProductsRequest.require_total_size][google.cloud.retail.v2alpha.ListProductsRequest.require_total_size]
+ // is not set or
+ // [ListProductsRequest.page_token][google.cloud.retail.v2alpha.ListProductsRequest.page_token]
+ // is not empty.
+ int32 total_size = 3;
+}
+
+// Request message for
+// [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory]
+// method.
+message SetInventoryRequest {
+ // Required. The inventory information to update. The allowable fields to
+ // update are:
+ //
+ // * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
+ // The updated inventory fields must be specified in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask].
+ //
+ // If
+ // [SetInventoryRequest.inventory.name][google.cloud.retail.v2alpha.Product.name]
+ // is empty or invalid, an INVALID_ARGUMENT error is returned.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2alpha.Product] named in
+ // [Product.name][google.cloud.retail.v2alpha.Product.name], regardless of
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2alpha.Product] to update does not
+ // have existing inventory information, the provided inventory information
+ // will be inserted.
+ //
+ // If the [Product][google.cloud.retail.v2alpha.Product] to update has
+ // existing inventory information, the provided inventory information will be
+ // merged while respecting the last update time for each inventory field,
+ // using the provided or default value for
+ // [SetInventoryRequest.set_time][google.cloud.retail.v2alpha.SetInventoryRequest.set_time].
+ //
+ // The caller can replace place IDs for a subset of fulfillment types in the
+ // following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types and corresponding place IDs
+ // to update in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
+ //
+ // The caller can clear all place IDs from a subset of fulfillment types in
+ // the following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2alpha.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types to clear in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
+ // * Checks that only the desired fulfillment info types have empty
+ // [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ //
+ // The last update time is recorded for the following inventory fields:
+ // * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2alpha.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2alpha.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2alpha.Product.fulfillment_info]
+ //
+ // If a full overwrite of inventory information while ignoring timestamps is
+ // needed,
+ // [ProductService.UpdateProduct][google.cloud.retail.v2alpha.ProductService.UpdateProduct]
+ // should be invoked instead.
+ Product inventory = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided
+ // [Product][google.cloud.retail.v2alpha.Product] to update.
+ //
+ // At least one field must be provided.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask set_mask = 2;
+
+ // The time when the request is issued, used to prevent
+ // out-of-order updates on inventory fields with the last update time
+ // recorded. If not provided, the internal system time will be used.
+ google.protobuf.Timestamp set_time = 3;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] with
+ // name [Product.name][google.cloud.retail.v2alpha.Product.name] is not found,
+ // the inventory update will still be processed and retained for at most 1 day
+ // until the [Product][google.cloud.retail.v2alpha.Product] is created. If set
+ // to false, a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2alpha.Product] is not found.
+ bool allow_missing = 4;
+}
+
+// Metadata related to the progress of the SetInventory operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory]
+// method.
+message SetInventoryMetadata {}
+
+// Response of the SetInventoryRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2alpha.ProductService.SetInventory]
+// method.
+message SetInventoryResponse {}
+
+// Request message for
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest.type], such
+ // as the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery" to be added for this
+ // [type][google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest.type].
+ // Duplicate IDs will be automatically ignored.
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If the total number of place IDs exceeds 2000 for this
+ // [type][google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest.type] after
+ // adding, then the update will be rejected.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] is
+ // not found, the fulfillment information will still be processed and retained
+ // for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2alpha.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2alpha.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the AddFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesMetadata {}
+
+// Response of the AddFulfillmentPlacesRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesResponse {}
+
+// Request message for
+// [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of inventory information at difference places. Each place
+ // is identified by its place ID. At most 3000 inventories are allowed per
+ // request.
+ repeated LocalInventory local_inventories = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided list of
+ // [LocalInventory][google.cloud.retail.v2alpha.LocalInventory] to update. The
+ // field is updated to the provided value.
+ //
+ // If a field is set while the place does not have a previous local inventory,
+ // the local inventory at that store is created.
+ //
+ // If a field is set while the value of that field is not provided, the
+ // original field value, if it exists, is deleted.
+ //
+ // If the mask is not set or set with empty paths, all inventory fields will
+ // be updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask add_mask = 4;
+
+ // The time when the inventory updates are issued. Used to prevent
+ // out-of-order updates on local inventory fields. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] is
+ // not found, the local inventory will still be processed and retained for at
+ // most 1 day and processed once the
+ // [Product][google.cloud.retail.v2alpha.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2alpha.Product] is not found.
+ bool allow_missing = 6;
+}
+
+// Metadata related to the progress of the AddLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2alpha.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of place IDs to have their inventory deleted.
+ // At most 3000 place IDs are allowed per request.
+ repeated string place_ids = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the inventory deletions are issued. Used to prevent
+ // out-of-order updates and deletions on local inventory fields. If not
+ // provided, the internal system time will be used.
+ google.protobuf.Timestamp remove_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] is
+ // not found, the local inventory removal request will still be processed and
+ // retained for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2alpha.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2alpha.Product] is not found.
+ bool allow_missing = 3;
+}
+
+// Metadata related to the progress of the RemoveLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2alpha.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2alpha.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2alpha.Product], regardless of whether or
+ // not it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2alpha.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest.type],
+ // such as the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery", to be removed for this
+ // [type][google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest.type].
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp remove_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2alpha.Product] is
+ // not found, the fulfillment information will still be processed and retained
+ // for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2alpha.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2alpha.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the RemoveFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesMetadata {}
+
+// Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
+// is no meaningful response populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesResponse {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/promotion.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/promotion.proto
new file mode 100644
index 00000000000..879449a42bb
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/promotion.proto
@@ -0,0 +1,40 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PromotionProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Promotion information.
+message Promotion {
+ // ID of the promotion. For example, "free gift".
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 128
+ // characters, and match the pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example,
+ // id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Google Merchant Center property
+ // [promotion](https://support.google.com/merchants/answer/7050148).
+ string promotion_id = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/purge_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/purge_config.proto
new file mode 100644
index 00000000000..d05376b6e32
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/purge_config.proto
@@ -0,0 +1,174 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PurgeConfigProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Metadata related to the progress of the Purge operation.
+// This will be returned by the google.longrunning.Operation.metadata field.
+message PurgeMetadata {}
+
+// Metadata related to the progress of the PurgeProducts operation.
+// This will be returned by the google.longrunning.Operation.metadata field.
+message PurgeProductsMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+
+ // Count of entries that were deleted successfully.
+ int64 success_count = 3;
+
+ // Count of entries that encountered errors while processing.
+ int64 failure_count = 4;
+}
+
+// Request message for PurgeProducts method.
+message PurgeProductsRequest {
+ // Required. The resource name of the branch under which the products are
+ // created. The format is
+ // `projects/${projectId}/locations/global/catalogs/${catalogId}/branches/${branchId}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Required. The filter string to specify the products to be deleted with a
+ // length limit of 5,000 characters.
+ //
+ // Empty string filter is not allowed. "*" implies delete all items in a
+ // branch.
+ //
+ // The eligible fields for filtering are:
+ //
+ // * `availability`: Double quoted
+ // [Product.availability][google.cloud.retail.v2alpha.Product.availability]
+ // string.
+ // * `create_time` : in ISO 8601 "zulu" format.
+ //
+ // Supported syntax:
+ //
+ // * Comparators (">", "<", ">=", "<=", "=").
+ // Examples:
+ // * create_time <= "2015-02-13T17:05:46Z"
+ // * availability = "IN_STOCK"
+ //
+ // * Conjunctions ("AND")
+ // Examples:
+ // * create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER"
+ //
+ // * Disjunctions ("OR")
+ // Examples:
+ // * create_time <= "2015-02-13T17:05:46Z" OR availability = "IN_STOCK"
+ //
+ // * Can support nested queries.
+ // Examples:
+ // * (create_time <= "2015-02-13T17:05:46Z" AND availability = "PREORDER")
+ // OR (create_time >= "2015-02-14T13:03:32Z" AND availability = "IN_STOCK")
+ //
+ // * Filter Limits:
+ // * Filter should not contain more than 6 conditions.
+ // * Max nesting depth should not exceed 2 levels.
+ //
+ // Examples queries:
+ // * Delete back order products created before a timestamp.
+ // create_time <= "2015-02-13T17:05:46Z" OR availability = "BACKORDER"
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Actually perform the purge.
+ // If `force` is set to false, the method will return the expected purge count
+ // without deleting any products.
+ bool force = 3;
+}
+
+// Response of the PurgeProductsRequest. If the long running operation is
+// successfully done, then this message is returned by the
+// google.longrunning.Operations.response field.
+message PurgeProductsResponse {
+ // The total count of products purged as a result of the operation.
+ int64 purge_count = 1;
+
+ // A sample of the product names that will be deleted.
+ // Only populated if `force` is set to false. A max of 100 names will be
+ // returned and the names are chosen at random.
+ repeated string purge_sample = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for PurgeUserEvents method.
+message PurgeUserEventsRequest {
+ // Required. The resource name of the catalog under which the events are
+ // created. The format is
+ // `projects/${projectId}/locations/global/catalogs/${catalogId}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The filter string to specify the events to be deleted with a
+ // length limit of 5,000 characters. Empty string filter is not allowed. The
+ // eligible fields for filtering are:
+ //
+ // * `eventType`: Double quoted
+ // [UserEvent.event_type][google.cloud.retail.v2alpha.UserEvent.event_type]
+ // string.
+ // * `eventTime`: in ISO 8601 "zulu" format.
+ // * `visitorId`: Double quoted string. Specifying this will delete all
+ // events associated with a visitor.
+ // * `userId`: Double quoted string. Specifying this will delete all events
+ // associated with a user.
+ //
+ // Examples:
+ //
+ // * Deleting all events in a time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z"
+ // eventTime < "2012-04-23T18:30:43.511Z"`
+ // * Deleting specific eventType in time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"`
+ // * Deleting all events for a specific visitor:
+ // `visitorId = "visitor1024"`
+ //
+ // The filtering fields are assumed to have an implicit AND.
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Actually perform the purge.
+ // If `force` is set to false, the method will return the expected purge count
+ // without deleting any user events.
+ bool force = 3;
+}
+
+// Response of the PurgeUserEventsRequest. If the long running operation is
+// successfully done, then this message is returned by the
+// google.longrunning.Operations.response field.
+message PurgeUserEventsResponse {
+ // The total count of events purged as a result of the operation.
+ int64 purged_events_count = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/search_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/search_service.proto
new file mode 100644
index 00000000000..24bfa34aacd
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/search_service.proto
@@ -0,0 +1,937 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/product.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "SearchServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for search.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Please enable Retail Search on Cloud Console before using this feature.
+service SearchService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs a search.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Please enable Retail Search on Cloud Console before using this feature.
+ rpc Search(SearchRequest) returns (SearchResponse) {
+ option (google.api.http) = {
+ post: "/v2alpha/{placement=projects/*/locations/*/catalogs/*/placements/*}:search"
+ body: "*"
+ additional_bindings {
+ post: "/v2alpha/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for
+// [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+// method.
+message SearchRequest {
+ // A facet specification to perform faceted search.
+ message FacetSpec {
+ // Specifies how a facet is computed.
+ message FacetKey {
+ // Required. Supported textual and numerical facet keys in
+ // [Product][google.cloud.retail.v2alpha.Product] object, over which the
+ // facet values are computed. Facet key is case-sensitive.
+ //
+ // Allowed facet keys when
+ // [FacetKey.query][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.query]
+ // is not specified:
+ //
+ // * textual_field =
+ // * "brands"
+ // * "categories"
+ // * "genders"
+ // * "ageGroups"
+ // * "availability"
+ // * "colorFamilies"
+ // * "colors"
+ // * "sizes"
+ // * "materials"
+ // * "patterns"
+ // * "conditions"
+ // * "attributes.key"
+ // * "pickupInStore"
+ // * "shipToStore"
+ // * "sameDayDelivery"
+ // * "nextDayDelivery"
+ // * "customFulfillment1"
+ // * "customFulfillment2"
+ // * "customFulfillment3"
+ // * "customFulfillment4"
+ // * "customFulfillment5"
+ // * "inventory(place_id,attributes.key)"
+ //
+ // * numerical_field =
+ // * "price"
+ // * "discount"
+ // * "rating"
+ // * "ratingCount"
+ // * "attributes.key"
+ // * "inventory(place_id,price)"
+ // * "inventory(place_id,original_price)"
+ // * "inventory(place_id,attributes.key)"
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Set only if values should be bucketized into intervals. Must be set
+ // for facets with numerical values. Must not be set for facet with text
+ // values. Maximum number of intervals is 30.
+ repeated Interval intervals = 2;
+
+ // Only get facet for the given restricted values. For example, when using
+ // "pickupInStore" as key and set restricted values to
+ // ["store123", "store456"], only facets for "store123" and "store456" are
+ // returned. Only supported on predefined textual fields, custom textual
+ // attributes and fulfillments. Maximum is 20.
+ //
+ // Must be set for the fulfillment facet keys:
+ //
+ // * pickupInStore
+ //
+ // * shipToStore
+ //
+ // * sameDayDelivery
+ //
+ // * nextDayDelivery
+ //
+ // * customFulfillment1
+ //
+ // * customFulfillment2
+ //
+ // * customFulfillment3
+ //
+ // * customFulfillment4
+ //
+ // * customFulfillment5
+ repeated string restricted_values = 3;
+
+ // Only get facet values that start with the given string prefix. For
+ // example, suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "prefixes" to "Women", the
+ // "categories" facet will give only "Women > Shoe" and "Women > Dress".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string prefixes = 8;
+
+ // Only get facet values that contains the given strings. For example,
+ // suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the
+ // "categories" facet will give only "Women > Shoe" and "Men > Shoe".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string contains = 9;
+
+ // True to make facet keys case insensitive when getting faceting
+ // values with prefixes or contains; false otherwise.
+ bool case_insensitive = 10;
+
+ // The order in which
+ // [SearchResponse.Facet.values][google.cloud.retail.v2alpha.SearchResponse.Facet.values]
+ // are returned.
+ //
+ // Allowed values are:
+ //
+ // * "count desc", which means order by
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.count]
+ // descending.
+ //
+ // * "value desc", which means order by
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.value]
+ // descending.
+ // Only applies to textual facets.
+ //
+ // If not set, textual values are sorted in [natural
+ // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical
+ // intervals are sorted in the order given by
+ // [FacetSpec.FacetKey.intervals][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.intervals];
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // are sorted in the order given by
+ // [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.restricted_values].
+ string order_by = 4;
+
+ // The query that is used to compute facet for the given facet key.
+ // When provided, it will override the default behavior of facet
+ // computation. The query syntax is the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
+ // for detail syntax and limitations. Notice that there is no limitation
+ // on
+ // [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
+ // when query is specified.
+ //
+ // In the response,
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.value]
+ // will be always "1" and
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.count]
+ // will be the number of results that match the query.
+ //
+ // For example, you can set a customized facet for "shipToStore",
+ // where
+ // [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
+ // is "customizedShipToStore", and
+ // [FacetKey.query][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.query]
+ // is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
+ // Then the facet will count the products that are both in stock and ship
+ // to store "123".
+ string query = 5;
+
+ // Returns the min and max value for each numerical facet intervals.
+ // Ignored for textual facets.
+ bool return_min_max = 11;
+ }
+
+ // Required. The facet key specification.
+ FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum of facet values that should be returned for this facet. If
+ // unspecified, defaults to 20. The maximum allowed value is 300. Values
+ // above 300 will be coerced to 300.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 limit = 2;
+
+ // List of keys to exclude when faceting.
+ //
+ //
+ // By default,
+ // [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
+ // is not excluded from the filter unless it is listed in this field.
+ //
+ // Listing a facet key in this field allows its values to appear as facet
+ // results, even when they are filtered out of search results. Using this
+ // field does not affect what search results are returned.
+ //
+ // For example, suppose there are 100 products with the color facet "Red"
+ // and 200 products with the color facet "Blue". A query containing the
+ // filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
+ // [FacetKey.key][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.key]
+ // would by default return only "Red" products in the search results, and
+ // also return "Red" with count 100 as the only color facet. Although there
+ // are also blue products available, "Blue" would not be shown as an
+ // available facet value.
+ //
+ // If "colorFamilies" is listed in "excludedFilterKeys", then the query
+ // returns the facet values "Red" with count 100 and "Blue" with count
+ // 200, because the "colorFamilies" key is now excluded from the filter.
+ // Because this field doesn't affect search results, the search results
+ // are still correctly filtered to return only "Red" products.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated string excluded_filter_keys = 3;
+
+ // Enables dynamic position for this facet. If set to true, the position of
+ // this facet among all facets in the response is determined by Google
+ // Retail Search. It will be ordered together with dynamic facets if dynamic
+ // facets is enabled. If set to false, the position of this facet in the
+ // response will be the same as in the request, and it will be ranked before
+ // the facets with dynamic position enable and all dynamic facets.
+ //
+ // For example, you may always want to have rating facet returned in
+ // the response, but it's not necessarily to always display the rating facet
+ // at the top. In that case, you can set enable_dynamic_position to true so
+ // that the position of rating facet in response will be determined by
+ // Google Retail Search.
+ //
+ // Another example, assuming you have the following facets in the request:
+ //
+ // * "rating", enable_dynamic_position = true
+ //
+ // * "price", enable_dynamic_position = false
+ //
+ // * "brands", enable_dynamic_position = false
+ //
+ // And also you have a dynamic facets enable, which will generate a facet
+ // 'gender'. Then the final order of the facets in the response can be
+ // ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
+ // "rating") depends on how Google Retail Search orders "gender" and
+ // "rating" facets. However, notice that "price" and "brands" will always be
+ // ranked at 1st and 2nd position since their enable_dynamic_position are
+ // false.
+ bool enable_dynamic_position = 4;
+ }
+
+ // The specifications of dynamically generated facets.
+ message DynamicFacetSpec {
+ // Enum to control DynamicFacet mode
+ enum Mode {
+ // Default value.
+ MODE_UNSPECIFIED = 0;
+
+ // Disable Dynamic Facet.
+ DISABLED = 1;
+
+ // Automatic mode built by Google Retail Search.
+ ENABLED = 2;
+ }
+
+ // Mode of the DynamicFacet feature.
+ // Defaults to
+ // [Mode.DISABLED][google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode.DISABLED]
+ // if it's unset.
+ Mode mode = 1;
+ }
+
+ // Boost specification to boost certain items.
+ message BoostSpec {
+ // Boost applies to products which match a condition.
+ message ConditionBoostSpec {
+ // An expression which specifies a boost condition. The syntax and
+ // supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
+ // for detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // * (id: ANY("product_1", "product_2")) AND (colorFamilies:
+ // ANY("Red","Blue"))
+ string condition = 1;
+
+ // Strength of the condition boost, which should be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 2;
+ }
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifictions, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 20.
+ repeated ConditionBoostSpec condition_boost_specs = 1;
+
+ // Whether to skip boostspec validation. If this field is set to true,
+ // invalid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs]
+ // will be ignored and valid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs]
+ // will still be applied.
+ optional bool skip_boost_spec_validation = 2;
+ }
+
+ // Specification to determine under which conditions query expansion should
+ // occur.
+ message QueryExpansionSpec {
+ // Enum describing under which condition query expansion should occur.
+ enum Condition {
+ // Unspecified query expansion condition. In this case, server behavior
+ // defaults to
+ // [Condition.DISABLED][google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ CONDITION_UNSPECIFIED = 0;
+
+ // Disabled query expansion. Only the exact search query is used, even if
+ // [SearchResponse.total_size][google.cloud.retail.v2alpha.SearchResponse.total_size]
+ // is zero.
+ DISABLED = 1;
+
+ // Automatic query expansion built by Google Retail Search.
+ AUTO = 3;
+ }
+
+ // The condition under which query expansion should occur. Default to
+ // [Condition.DISABLED][google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ Condition condition = 1;
+
+ // Whether to pin unexpanded results. If this field is set to true,
+ // unexpanded products are always at the top of the search results, followed
+ // by the expanded results.
+ bool pin_unexpanded_results = 2;
+ }
+
+ // The specification for personalization.
+ message PersonalizationSpec {
+ // The personalization mode of each search request.
+ enum Mode {
+ // Default value. In this case, server behavior defaults to
+ // [Mode.AUTO][google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Let CRS decide whether to use personalization.
+ AUTO = 1;
+
+ // Disable personalization.
+ DISABLED = 2;
+ }
+
+ // Defaults to
+ // [Mode.AUTO][google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The specification for query spell correction.
+ message SpellCorrectionSpec {
+ // Enum describing under which mode spell correction should occur.
+ enum Mode {
+ // Unspecified spell correction mode. In this case, server behavior
+ // defaults to
+ // [Mode.AUTO][google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Google Retail Search will try to find a spell suggestion if there
+ // is any and put in the
+ // [SearchResponse.corrected_query][google.cloud.retail.v2alpha.SearchResponse.corrected_query].
+ // The spell suggestion will not be used as the search query.
+ SUGGESTION_ONLY = 1;
+
+ // Automatic spell correction built by Google Retail Search. Search will
+ // be based on the corrected query if found.
+ AUTO = 2;
+ }
+
+ // The mode under which spell correction should take effect to
+ // replace the original search query. Default to
+ // [Mode.AUTO][google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The relevance threshold of the search results. The higher relevance
+ // threshold is, the higher relevant results are shown and the less number of
+ // results are returned.
+ enum RelevanceThreshold {
+ // Default value. In this case, server behavior defaults to
+ // [RelevanceThreshold.HIGH][google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold.HIGH].
+ RELEVANCE_THRESHOLD_UNSPECIFIED = 0;
+
+ // High relevance threshold.
+ HIGH = 1;
+
+ // Medium relevance threshold.
+ MEDIUM = 2;
+
+ // Low relevance threshold.
+ LOW = 3;
+
+ // Lowest relevance threshold.
+ LOWEST = 4;
+ }
+
+ // The search mode of each search request.
+ enum SearchMode {
+ // Default value. In this case both product search and faceted search will
+ // be performed. Both [SearchResponse.SearchResult] and
+ // [SearchResponse.Facet] will be returned.
+ SEARCH_MODE_UNSPECIFIED = 0;
+
+ // Only product search will be performed. The faceted search will be
+ // disabled.
+ //
+ // Only [SearchResponse.SearchResult] will be returned.
+ // [SearchResponse.Facet] will not be returned, even if
+ // [SearchRequest.facet_specs][google.cloud.retail.v2alpha.SearchRequest.facet_specs]
+ // or
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2alpha.SearchRequest.dynamic_facet_spec]
+ // is set.
+ PRODUCT_SEARCH_ONLY = 1;
+
+ // Only faceted search will be performed. The product search will be
+ // disabled.
+ //
+ // When in this mode, one or both of
+ // [SearchRequest.facet_specs][google.cloud.retail.v2alpha.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2alpha.SearchRequest.dynamic_facet_spec]
+ // should be set. Otherwise, an INVALID_ARGUMENT error is returned. Only
+ // [SearchResponse.Facet] will be returned. [SearchResponse.SearchResult]
+ // will not be returned.
+ FACETED_SEARCH_ONLY = 2;
+ }
+
+ // Required. The resource name of the Retail Search serving config, such as
+ // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config`
+ // or the name of the legacy placement resource, such as
+ // `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
+ // This field is used to identify the serving configuration name and the set
+ // of models that will be used to make the search.
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`.
+ //
+ // Use "default_branch" as the branch ID or leave this field empty, to search
+ // products under the default branch.
+ string branch = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Raw search query.
+ //
+ // If this field is empty, the request is considered a category browsing
+ // request and returned results are based on
+ // [filter][google.cloud.retail.v2alpha.SearchRequest.filter] and
+ // [page_categories][google.cloud.retail.v2alpha.SearchRequest.page_categories].
+ string query = 3;
+
+ // Required. A unique identifier for tracking visitors. For example, this
+ // could be implemented with an HTTP cookie, which should be able to uniquely
+ // identify a visitor on a single device. This unique identifier should not
+ // change if the visitor logs in or out of the website.
+ //
+ // This should be the same identifier as
+ // [UserEvent.visitor_id][google.cloud.retail.v2alpha.UserEvent.visitor_id].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // User information.
+ UserInfo user_info = 5;
+
+ // Maximum number of [Product][google.cloud.retail.v2alpha.Product]s to
+ // return. If unspecified, defaults to a reasonable value. The maximum allowed
+ // value is 120. Values above 120 will be coerced to 120.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 7;
+
+ // A page token
+ // [SearchResponse.next_page_token][google.cloud.retail.v2alpha.SearchResponse.next_page_token],
+ // received from a previous
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 8;
+
+ // A 0-indexed integer that specifies the current offset (that is, starting
+ // result location, amongst the
+ // [Product][google.cloud.retail.v2alpha.Product]s deemed by the API as
+ // relevant) in search results. This field is only considered if
+ // [page_token][google.cloud.retail.v2alpha.SearchRequest.page_token] is
+ // unset.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 offset = 9;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered. Filter
+ // expression is case-sensitive. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#filter).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string filter = 10;
+
+ // The default filter that is applied when a user performs a search without
+ // checking any filters on the search page.
+ //
+ // The filter applied to every search request when quality improvement such as
+ // query expansion is needed. For example, if a query does not have enough
+ // results, an expanded query with
+ // [SearchRequest.canonical_filter][google.cloud.retail.v2alpha.SearchRequest.canonical_filter]
+ // will be returned as a supplement of the original query. This field is
+ // strongly recommended to achieve high search quality.
+ //
+ // See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
+ // for more details about filter syntax.
+ string canonical_filter = 28;
+
+ // The order in which products are returned. Products can be ordered by
+ // a field in an [Product][google.cloud.retail.v2alpha.Product] object. Leave
+ // it unset if ordered by relevance. OrderBy expression is case-sensitive. See
+ // more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#order).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string order_by = 11;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated FacetSpec facet_specs = 12;
+
+ // Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
+ // to enable dynamic facets. Do not set this field.
+ //
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
+
+ // Boost specification to boost certain products. See more details at this
+ // [user guide](https://cloud.google.com/retail/docs/boosting).
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2alpha.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2alpha.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ BoostSpec boost_spec = 13;
+
+ // The query expansion specification that specifies the conditions under which
+ // query expansion will occur. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
+ QueryExpansionSpec query_expansion_spec = 14;
+
+ // The relevance threshold of the search results.
+ //
+ // Defaults to
+ // [RelevanceThreshold.HIGH][google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold.HIGH],
+ // which means only the most relevant results are shown, and the least number
+ // of results are returned. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/result-size#relevance_thresholding).
+ RelevanceThreshold relevance_threshold = 15;
+
+ // The keys to fetch and rollup the matching
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s attributes,
+ // [FulfillmentInfo][google.cloud.retail.v2alpha.FulfillmentInfo] or
+ // [LocalInventory][google.cloud.retail.v2alpha.LocalInventory]s attributes.
+ // The attributes from all the matching
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s or
+ // [LocalInventory][google.cloud.retail.v2alpha.LocalInventory]s are merged
+ // and de-duplicated. Notice that rollup attributes will lead to extra query
+ // latency. Maximum number of keys is 30.
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2alpha.FulfillmentInfo], a
+ // fulfillment type and a fulfillment ID must be provided in the format of
+ // "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
+ // "pickupInStore" is fulfillment type and "store123" is the store ID.
+ //
+ // Supported keys are:
+ //
+ // * colorFamilies
+ // * price
+ // * originalPrice
+ // * discount
+ // * variantId
+ // * inventory(place_id,price)
+ // * inventory(place_id,original_price)
+ // * inventory(place_id,attributes.key), where key is any key in the
+ // [Product.local_inventories.attributes][google.cloud.retail.v2alpha.LocalInventory.attributes]
+ // map.
+ // * attributes.key, where key is any key in the
+ // [Product.attributes][google.cloud.retail.v2alpha.Product.attributes] map.
+ // * pickupInStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "pickup-in-store".
+ // * shipToStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "ship-to-store".
+ // * sameDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "same-day-delivery".
+ // * nextDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "next-day-delivery".
+ // * customFulfillment1.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "custom-type-1".
+ // * customFulfillment2.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "custom-type-2".
+ // * customFulfillment3.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "custom-type-3".
+ // * customFulfillment4.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "custom-type-4".
+ // * customFulfillment5.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2alpha.FulfillmentInfo.place_ids]
+ // for
+ // [FulfillmentInfo.type][google.cloud.retail.v2alpha.FulfillmentInfo.type]
+ // "custom-type-5".
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string variant_rollup_keys = 17;
+
+ // The categories associated with a category page. Required for category
+ // navigation queries to achieve good search quality. The format should be
+ // the same as
+ // [UserEvent.page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories];
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ repeated string page_categories = 23;
+
+ // The search mode of the search request. If not specified, a single search
+ // request triggers both product search and faceted search.
+ SearchMode search_mode = 31;
+
+ // The specification for personalization.
+ PersonalizationSpec personalization_spec = 32;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 34;
+
+ // The spell correction specification that specifies the mode under
+ // which spell correction will take effect.
+ optional SpellCorrectionSpec spell_correction_spec = 35;
+}
+
+// Response message for
+// [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search]
+// method.
+message SearchResponse {
+ // Represents the search results.
+ message SearchResult {
+ // [Product.id][google.cloud.retail.v2alpha.Product.id] of the searched
+ // [Product][google.cloud.retail.v2alpha.Product].
+ string id = 1;
+
+ // The product data snippet in the search response. Only
+ // [Product.name][google.cloud.retail.v2alpha.Product.name] is guaranteed to
+ // be populated.
+ //
+ // [Product.variants][google.cloud.retail.v2alpha.Product.variants] contains
+ // the product variants that match the search query. If there are multiple
+ // product variants matching the query, top 5 most relevant product variants
+ // are returned and ordered by relevancy.
+ //
+ // If relevancy can be deternmined, use
+ // [matching_variant_fields][google.cloud.retail.v2alpha.SearchResponse.SearchResult.matching_variant_fields]
+ // to look up matched product variants fields. If relevancy cannot be
+ // determined, e.g. when searching "shoe" all products in a shoe product can
+ // be a match, 5 product variants are returned but order is meaningless.
+ Product product = 2;
+
+ // The count of matched
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product]s.
+ int32 matching_variant_count = 3;
+
+ // If a [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product] matches the search query,
+ // this map indicates which [Product][google.cloud.retail.v2alpha.Product]
+ // fields are matched. The key is the
+ // [Product.name][google.cloud.retail.v2alpha.Product.name], the value is a
+ // field mask of the matched [Product][google.cloud.retail.v2alpha.Product]
+ // fields. If matched attributes cannot be determined, this map will be
+ // empty.
+ //
+ // For example, a key "sku1" with field mask
+ // "products.color_info" indicates there is a match between
+ // "sku1" [ColorInfo][google.cloud.retail.v2alpha.ColorInfo] and the query.
+ map matching_variant_fields = 4;
+
+ // The rollup matching
+ // [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2alpha.Product] attributes. The key is one
+ // of the
+ // [SearchRequest.variant_rollup_keys][google.cloud.retail.v2alpha.SearchRequest.variant_rollup_keys].
+ // The values are the merged and de-duplicated
+ // [Product][google.cloud.retail.v2alpha.Product] attributes. Notice that
+ // the rollup values are respect filter. For example, when filtering by
+ // "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is
+ // returned.
+ //
+ // For textual and numerical attributes, the rollup values is a list of
+ // string or double values with type
+ // [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
+ // there are two variants with colors "red" and "blue", the rollup values
+ // are
+ //
+ // { key: "colorFamilies"
+ // value {
+ // list_value {
+ // values { string_value: "red" }
+ // values { string_value: "blue" }
+ // }
+ // }
+ // }
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2alpha.FulfillmentInfo], the
+ // rollup values is a double value with type
+ // [google.protobuf.Value][google.protobuf.Value]. For example,
+ // `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
+ // are 10 variants in this product are available in the store "store1".
+ map variant_rollup_values = 5;
+ }
+
+ // A facet result.
+ message Facet {
+ // A facet value which contains value names and their count.
+ message FacetValue {
+ // A facet value which contains values.
+ oneof facet_value {
+ // Text value of a facet, such as "Black" for facet "colorFamilies".
+ string value = 1;
+
+ // Interval value for a facet, such as [10, 20) for facet "price".
+ Interval interval = 2;
+ }
+
+ // Number of items that have this facet value.
+ int64 count = 3;
+
+ // The minimum value in the
+ // [FacetValue.interval][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double min_value = 5;
+
+ // The maximum value in the
+ // [FacetValue.interval][google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double max_value = 6;
+ }
+
+ // The key for this facet. E.g., "colorFamilies" or "price" or
+ // "attributes.attr1".
+ string key = 1;
+
+ // The facet values for this field.
+ repeated FacetValue values = 2;
+
+ // Whether the facet is dynamically generated.
+ bool dynamic_facet = 3;
+ }
+
+ // Information describing query expansion including whether expansion has
+ // occurred.
+ message QueryExpansionInfo {
+ // Bool describing whether query expansion has occurred.
+ bool expanded_query = 1;
+
+ // Number of pinned results. This field will only be set when expansion
+ // happens and
+ // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
+ // is set to true.
+ int64 pinned_result_count = 2;
+ }
+
+ // A list of matched items. The order represents the ranking.
+ repeated SearchResult results = 1;
+
+ // Results of facets requested by user.
+ repeated Facet facets = 2;
+
+ // The estimated total count of matched items irrespective of pagination. The
+ // count of [results][google.cloud.retail.v2alpha.SearchResponse.results]
+ // returned by pagination may be less than the
+ // [total_size][google.cloud.retail.v2alpha.SearchResponse.total_size] that
+ // matches.
+ int32 total_size = 3;
+
+ // Contains the spell corrected query, if found. If the spell correction type
+ // is AUTOMATIC, then the search results are based on corrected_query.
+ // Otherwise the original query is used for search.
+ string corrected_query = 4;
+
+ // A unique search token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2alpha.UserEvent] logs resulting from this
+ // search, which enables accurate attribution of search model performance.
+ string attribution_token = 5;
+
+ // A token that can be sent as
+ // [SearchRequest.page_token][google.cloud.retail.v2alpha.SearchRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 6;
+
+ // Query expansion information for the returned results.
+ QueryExpansionInfo query_expansion_info = 7;
+
+ // The URI of a customer-defined redirect page. If redirect action is
+ // triggered, no search is performed, and only
+ // [redirect_uri][google.cloud.retail.v2alpha.SearchResponse.redirect_uri] and
+ // [attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
+ // are set in the response.
+ string redirect_uri = 10;
+
+ // The fully qualified resource name of applied
+ // [controls](https://cloud.google.com/retail/docs/serving-control-rules).
+ repeated string applied_controls = 12;
+
+ // The invalid
+ // [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2alpha.SearchRequest.BoostSpec.condition_boost_specs]
+ // that are not applied during serving.
+ repeated SearchRequest.BoostSpec.ConditionBoostSpec
+ invalid_condition_boost_specs = 14;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config.proto
new file mode 100644
index 00000000000..d0524012454
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config.proto
@@ -0,0 +1,248 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/search_service.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Configures metadata that is used to generate serving time results (e.g.
+// search results or recommendation predictions).
+// The ServingConfig is passed in the search and predict request and together
+// with the Catalog.default_branch, generates results.
+message ServingConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/ServingConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
+ };
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/servingConfig/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable serving config display name. Used in Retail
+ // UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The id of the model to use at serving time.
+ // Currently only RecommendationModels are supported:
+ // https://cloud.google.com/retail/recommendations-ai/docs/create-models
+ // Can be changed but only to a compatible model (e.g.
+ // others-you-may-like CTR to others-you-may-like CVR).
+ //
+ // Required when
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string model_id = 3;
+
+ // How much price ranking we want in serving results.
+ // Price reranking causes product items with a similar
+ // recommendation probability to be ordered by price, with the
+ // highest-priced items first. This setting could result in a decrease in
+ // click-through and conversion rates.
+ // Allowed values are:
+ //
+ // * 'no-price-reranking'
+ // * 'low-price-raranking'
+ // * 'medium-price-reranking'
+ // * 'high-price-reranking'
+ //
+ // If not specified, we choose default based on model type. Default value:
+ // 'no-price-reranking'.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string price_reranking_level = 4;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ // The ids refer to the ids of [Control][google.cloud.retail.v2alpha.Control]
+ // resources with only the Facet control set. These controls are assumed to be
+ // in the same [Catalog][google.cloud.retail.v2alpha.Catalog] as the
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig].
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string facet_control_ids = 5;
+
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ SearchRequest.DynamicFacetSpec dynamic_facet_spec = 6;
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifications, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 100.
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2alpha.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2alpha.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string boost_control_ids = 7;
+
+ // Condition filter specifications. If a product matches multiple conditions
+ // in the specifications, filters from these specifications are all
+ // applied and combined via the AND operator. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string filter_control_ids = 9;
+
+ // Condition redirect specifications. Only the first triggered redirect action
+ // is applied, even if multiple apply. Maximum number of specifications is
+ // 1000.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string redirect_control_ids = 10;
+
+ // Condition synonyms specifications. If multiple syonyms conditions match,
+ // all matching synonyms control in the list will execute. Order of controls
+ // in the list will not matter. Maximum number of specifications is
+ // 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string twoway_synonyms_control_ids = 18;
+
+ // Condition oneway synonyms specifications. If multiple oneway synonyms
+ // conditions match, all matching oneway synonyms controls in the list will
+ // execute. Order of controls in the list will not matter. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string oneway_synonyms_control_ids = 12;
+
+ // Condition do not associate specifications. If multiple do not associate
+ // conditions match, all matching do not associate controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string do_not_associate_control_ids = 13;
+
+ // Condition replacement specifications.
+ // - Applied according to the order in the list.
+ // - A previously replaced term can not be re-replaced.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string replacement_control_ids = 14;
+
+ // Condition ignore specifications. If multiple ignore
+ // conditions match, all matching ignore controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string ignore_control_ids = 15;
+
+ // How much diversity to use in recommendation model results e.g.
+ // 'medium-diversity' or 'high-diversity'. Currently supported values:
+ //
+ // * 'no-diversity'
+ // * 'low-diversity'
+ // * 'medium-diversity'
+ // * 'high-diversity'
+ // * 'auto-diversity'
+ //
+ // If not specified, we choose default based on recommendation model
+ // type. Default value: 'no-diversity'.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string diversity_level = 8;
+
+ // Whether to add additional category filters on the 'similar-items' model.
+ // If not specified, we enable it by default.
+ // Allowed values are:
+ //
+ // * 'no-category-match': No additional filtering of original results from
+ // the model and the customer's filters.
+ // * 'relaxed-category-match': Only keep results with categories that match
+ // at least one item categories in the PredictRequests's context item.
+ // * If customer also sends filters in the PredictRequest, then the results
+ // will satisfy both conditions (user given and category match).
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2alpha.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string enable_category_filter_level = 16;
+
+ // Required. Immutable. Specifies the solution types that a serving config can
+ // be associated with. Currently we support setting only one type of solution.
+ repeated SolutionType solution_types = 19 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config_service.proto
new file mode 100644
index 00000000000..311126510e2
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/serving_config_service.proto
@@ -0,0 +1,241 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2alpha/serving_config.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for modifying ServingConfig.
+service ServingConfigService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a ServingConfig.
+ //
+ // A maximum of 100
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig]s are allowed in
+ // a [Catalog][google.cloud.retail.v2alpha.Catalog], otherwise a
+ // FAILED_PRECONDITION error is returned.
+ rpc CreateServingConfig(CreateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) =
+ "parent,serving_config,serving_config_id";
+ }
+
+ // Deletes a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc DeleteServingConfig(DeleteServingConfigRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a ServingConfig.
+ rpc UpdateServingConfig(UpdateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ patch: "/v2alpha/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) = "serving_config,update_mask";
+ }
+
+ // Gets a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc GetServingConfig(GetServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ get: "/v2alpha/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all ServingConfigs linked to this catalog.
+ rpc ListServingConfigs(ListServingConfigsRequest)
+ returns (ListServingConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Enables a Control on the specified ServingConfig.
+ // The control is added in the last position of the list of controls
+ // it belongs to (e.g. if it's a facet spec control it will be applied
+ // in the last position of servingConfig.facetSpecIds)
+ // Returns a ALREADY_EXISTS error if the control has already been applied.
+ // Returns a FAILED_PRECONDITION error if the addition could exceed maximum
+ // number of control allowed for that type of control.
+ rpc AddControl(AddControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+
+ // Disables a Control on the specified ServingConfig.
+ // The control is removed from the ServingConfig.
+ // Returns a NOT_FOUND error if the Control is not enabled for the
+ // ServingConfig.
+ rpc RemoveControl(RemoveControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2alpha/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+}
+
+// Request for CreateServingConfig method.
+message CreateServingConfigRequest {
+ // Required. Full resource name of parent. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The ServingConfig to create.
+ ServingConfig serving_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the ServingConfig, which will become the final
+ // component of the ServingConfig's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string serving_config_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateServingConfig method.
+message UpdateServingConfigRequest {
+ // Required. The ServingConfig to update.
+ ServingConfig serving_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [ServingConfig][google.cloud.retail.v2alpha.ServingConfig] to update. The
+ // following are NOT supported:
+ //
+ // * [ServingConfig.name][google.cloud.retail.v2alpha.ServingConfig.name]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteServingConfig method.
+message DeleteServingConfigRequest {
+ // Required. The resource name of the ServingConfig to delete. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for GetServingConfig method.
+message GetServingConfigRequest {
+ // Required. The resource name of the ServingConfig to get. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for ListServingConfigs method.
+message ListServingConfigsRequest {
+ // Required. The catalog resource name. Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 100. If a value greater than 100 is provided, at most 100 results are
+ // returned.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListServingConfigs` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListServingConfigs method.
+message ListServingConfigsResponse {
+ // All the ServingConfigs for a given catalog.
+ repeated ServingConfig serving_configs = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
+
+// Request for AddControl method.
+message AddControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config - if id is not found a NOT_FOUND error is returned.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for RemoveControl method.
+message RemoveControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event.proto
new file mode 100644
index 00000000000..ca25f3003fe
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event.proto
@@ -0,0 +1,347 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/field_behavior.proto";
+import "google/cloud/retail/v2alpha/common.proto";
+import "google/cloud/retail/v2alpha/product.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// UserEvent captures all metadata information Retail API needs to know about
+// how end users interact with customers' website.
+message UserEvent {
+ // Required. User event type. Allowed values are:
+ //
+ // * `add-to-cart`: Products being added to cart.
+ // * `category-page-view`: Special pages such as sale or promotion pages
+ // viewed.
+ // * `detail-page-view`: Products detail page viewed.
+ // * `home-page-view`: Homepage viewed.
+ // * `promotion-offered`: Promotion is offered to a user.
+ // * `promotion-not-offered`: Promotion is not offered to a user.
+ // * `purchase-complete`: User finishing a purchase.
+ // * `search`: Product search.
+ // * `shopping-cart-page-view`: User viewing a shopping cart.
+ string event_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A unique identifier for tracking visitors.
+ //
+ // For example, this could be implemented with an HTTP cookie, which should be
+ // able to uniquely identify a visitor on a single device. This unique
+ // identifier should not change if the visitor log in/out of the website.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded model
+ // quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // The field should not contain PII or user-data. We recommend to use Google
+ // Analytics [Client
+ // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
+ // for this field.
+ string visitor_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // A unique identifier for tracking a visitor session with a length limit of
+ // 128 bytes. A session is an aggregation of an end user behavior in a time
+ // span.
+ //
+ // A general guideline to populate the sesion_id:
+ // 1. If user has no activity for 30 min, a new session_id should be assigned.
+ // 2. The session_id should be unique across users, suggest use uuid or add
+ // visitor_id as prefix.
+ string session_id = 21;
+
+ // Only required for
+ // [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
+ // method. Timestamp of when the user event happened.
+ google.protobuf.Timestamp event_time = 3;
+
+ // A list of identifiers for the independent experiment groups this user event
+ // belongs to. This is used to distinguish between user events associated with
+ // different experiment setups (e.g. using Retail API, using different
+ // recommendation models).
+ repeated string experiment_ids = 4;
+
+ // Highly recommended for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
+ // This field enables accurate attribution of recommendation model
+ // performance.
+ //
+ // The value must be a valid
+ // [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
+ // for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
+ // The value must be a valid
+ // [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
+ // for user events that are the result of
+ // [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
+ //
+ // This token enables us to accurately attribute page view or purchase back to
+ // the event and the particular predict response containing this
+ // clicked/purchased product. If user clicks on product K in the
+ // recommendation results, pass
+ // [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
+ // as a URL parameter to product K's page. When recording events on product
+ // K's page, log the
+ // [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
+ // to this field.
+ string attribution_token = 5;
+
+ // The main product details related to the event.
+ //
+ // This field is optional except for the following event types:
+ //
+ // * `add-to-cart`
+ // * `detail-page-view`
+ // * `purchase-complete`
+ //
+ // In a `search` event, this field represents the products returned to the end
+ // user on the current page (the end user may have not finished browsing the
+ // whole page yet). When a new page is returned to the end user, after
+ // pagination/filtering/ordering even for the same query, a new `search` event
+ // with different
+ // [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
+ // desired. The end user may have not finished browsing the whole page yet.
+ repeated ProductDetail product_details = 6;
+
+ // The main auto-completion details related to the event.
+ //
+ // This field should be set for `search` event when autocomplete function is
+ // enabled and the user clicks a suggestion for search.
+ CompletionDetail completion_detail = 22;
+
+ // Extra user event features to include in the recommendation model.
+ //
+ // If you provide custom attributes for ingested user events, also include
+ // them in the user events that you associate with prediction requests. Custom
+ // attribute formatting must be consistent between imported events and events
+ // provided with prediction requests. This lets the Retail API use
+ // those custom attributes when training models and serving predictions, which
+ // helps improve recommendation quality.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * The key must be a UTF-8 encoded string with a length limit of 5,000
+ // characters.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a UTF-8 encoded string with a length limit of
+ // 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ //
+ // For product recommendations, an example of extra user information is
+ // traffic_channel, which is how a user arrives at the site. Users can arrive
+ // at the site by coming to the site directly, coming through Google
+ // search, or in other ways.
+ map attributes = 7;
+
+ // The ID or name of the associated shopping cart. This ID is used
+ // to associate multiple items added or present in the cart before purchase.
+ //
+ // This can only be set for `add-to-cart`, `purchase-complete`, or
+ // `shopping-cart-page-view` events.
+ string cart_id = 8;
+
+ // A transaction represents the entire purchase transaction.
+ //
+ // Required for `purchase-complete` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ PurchaseTransaction purchase_transaction = 9;
+
+ // The user's search query.
+ //
+ // See [SearchRequest.query][google.cloud.retail.v2alpha.SearchRequest.query]
+ // for definition.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // At least one of
+ // [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ string search_query = 10;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered.
+ //
+ // See
+ // [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
+ // for definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string filter = 16;
+
+ // The order in which products are returned.
+ //
+ // See
+ // [SearchRequest.order_by][google.cloud.retail.v2alpha.SearchRequest.order_by]
+ // for definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ string order_by = 17;
+
+ // An integer that specifies the current offset for pagination (the 0-indexed
+ // starting location, amongst the products deemed by the API as relevant).
+ //
+ // See
+ // [SearchRequest.offset][google.cloud.retail.v2alpha.SearchRequest.offset]
+ // for definition.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ int32 offset = 18;
+
+ // The categories associated with a category page.
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, please replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ //
+ // Required for `category-page-view` events. At least one of
+ // [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string page_categories = 11;
+
+ // User information.
+ UserInfo user_info = 12;
+
+ // Complete URL (window.location.href) of the user's current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically. Maximum length 5,000
+ // characters.
+ string uri = 13;
+
+ // The referrer URL of the current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string referrer_uri = 14;
+
+ // A unique ID of a web page view.
+ //
+ // This should be kept the same for all user events triggered from the same
+ // pageview. For example, an item detail page view could trigger multiple
+ // events as the user is browsing the page. The `pageViewId` property should
+ // be kept the same for all these events so that they can be grouped together
+ // properly.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string page_view_id = 15;
+}
+
+// Detailed product information associated with a user event.
+message ProductDetail {
+ // Required. [Product][google.cloud.retail.v2alpha.Product] information.
+ //
+ // Required field(s):
+ //
+ // * [Product.id][google.cloud.retail.v2alpha.Product.id]
+ //
+ // Optional override field(s):
+ //
+ // * [Product.price_info][google.cloud.retail.v2alpha.Product.price_info]
+ //
+ // If any supported optional fields are provided, we will treat them as a full
+ // override when looking up product information from the catalog. Thus, it is
+ // important to ensure that the overriding fields are accurate and
+ // complete.
+ //
+ // All other product fields are ignored and instead populated via catalog
+ // lookup after event ingestion.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Quantity of the product associated with the user event.
+ //
+ // For example, this field will be 2 if two products are added to the shopping
+ // cart for `purchase-complete` event. Required for `add-to-cart` and
+ // `purchase-complete` event types.
+ google.protobuf.Int32Value quantity = 2;
+}
+
+// Detailed completion information including completion attribution token and
+// clicked completion info.
+message CompletionDetail {
+ // Completion attribution token in
+ // [CompleteQueryResponse.attribution_token][google.cloud.retail.v2alpha.CompleteQueryResponse.attribution_token].
+ string completion_attribution_token = 1;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.suggestion].
+ string selected_suggestion = 2;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult.suggestion]
+ // position, starting from 0.
+ int32 selected_position = 3;
+}
+
+// A transaction represents the entire purchase transaction.
+message PurchaseTransaction {
+ // The transaction ID with a length limit of 128 characters.
+ string id = 1;
+
+ // Required. Total non-zero revenue or grand total associated with the
+ // transaction. This value include shipping, tax, or other adjustments to
+ // total revenue that you want to include as part of your revenue
+ // calculations.
+ float revenue = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // All the taxes associated with the transaction.
+ float tax = 3;
+
+ // All the costs associated with the products. These can be manufacturing
+ // costs, shipping expenses not borne by the end user, or any other costs,
+ // such that:
+ //
+ // * Profit =
+ // [revenue][google.cloud.retail.v2alpha.PurchaseTransaction.revenue] -
+ // [tax][google.cloud.retail.v2alpha.PurchaseTransaction.tax] -
+ // [cost][google.cloud.retail.v2alpha.PurchaseTransaction.cost]
+ float cost = 4;
+
+ // Required. Currency code. Use three-character ISO-4217 code.
+ string currency_code = 5 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event_service.proto
new file mode 100644
index 00000000000..35fe33f4bae
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2alpha/user_event_service.proto
@@ -0,0 +1,189 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2alpha;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/httpbody.proto";
+import "google/cloud/retail/v2alpha/import_config.proto";
+import "google/cloud/retail/v2alpha/purge_config.proto";
+import "google/cloud/retail/v2alpha/user_event.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Alpha";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2alpha;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventServiceProto";
+option java_package = "com.google.cloud.retail.v2alpha";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2alpha";
+option ruby_package = "Google::Cloud::Retail::V2alpha";
+
+// Service for ingesting end user actions on the customer website.
+service UserEventService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Writes a single user event.
+ rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:write"
+ body: "user_event"
+ };
+ }
+
+ // Writes a single user event from the browser. This uses a GET request to
+ // due to browser restriction of POST-ing to a 3rd party domain.
+ //
+ // This method is used only by the Retail API JavaScript pixel and Google Tag
+ // Manager. Users should not call this method directly.
+ rpc CollectUserEvent(CollectUserEventRequest) returns (google.api.HttpBody) {
+ option (google.api.http) = {
+ get: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect"
+ };
+ }
+
+ // Deletes permanently all user events specified by the filter provided.
+ // Depending on the number of events specified by the filter, this operation
+ // could take hours or days to complete. To test a filter, use the list
+ // command first.
+ rpc PurgeUserEvents(PurgeUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.PurgeUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2alpha.PurgeMetadata"
+ };
+ }
+
+ // Bulk import of User events. Request processing might be
+ // synchronous. Events that already exist are skipped.
+ // Use this method for backfilling historical user events.
+ //
+ // Operation.response is of type ImportResponse. Note that it is
+ // possible for a subset of the items to be successfully inserted.
+ // Operation.metadata is of type ImportMetadata.
+ rpc ImportUserEvents(ImportUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2alpha.ImportUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2alpha.ImportMetadata"
+ };
+ }
+
+ // Starts a user event rejoin operation with latest product catalog. Events
+ // will not be annotated with detailed product information if product is
+ // missing from the catalog at the time the user event is ingested, and these
+ // events are stored as unjoined events with a limited usage on training and
+ // serving. This method can be used to start a join operation on specified
+ // events with latest version of product catalog. It can also be used to
+ // correct events joined with the wrong product catalog. A rejoin operation
+ // can take hours or days to complete.
+ rpc RejoinUserEvents(RejoinUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2alpha/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "RejoinUserEventsResponse"
+ metadata_type: "RejoinUserEventsMetadata"
+ };
+ }
+}
+
+// Request message for WriteUserEvent method.
+message WriteUserEventRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. User event to write.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for CollectUserEvent method.
+message CollectUserEventRequest {
+ // Required. The parent catalog name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. URL encoded UserEvent proto with a length limit of 2,000,000
+ // characters.
+ string user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The URL including cgi-parameters but excluding the hash fragment with a
+ // length limit of 5,000 characters. This is often more useful than the
+ // referer URL, because many browsers only send the domain for 3rd party
+ // requests.
+ string uri = 3;
+
+ // The event timestamp in milliseconds. This prevents browser caching of
+ // otherwise identical get requests. The name is abbreviated to reduce the
+ // payload bytes.
+ int64 ets = 4;
+}
+
+// Request message for RejoinUserEvents method.
+message RejoinUserEventsRequest {
+ // The scope of user events to be rejoined with the latest product catalog.
+ // If the rejoining aims at reducing number of unjoined events, set
+ // UserEventRejoinScope to UNJOINED_EVENTS.
+ // If the rejoining aims at correcting product catalog information in joined
+ // events, set UserEventRejoinScope to JOINED_EVENTS.
+ // If all events needs to be rejoined, set UserEventRejoinScope to
+ // USER_EVENT_REJOIN_SCOPE_UNSPECIFIED.
+ enum UserEventRejoinScope {
+ // Rejoin all events with the latest product catalog, including both joined
+ // events and unjoined events.
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0;
+
+ // Only rejoin joined events with the latest product catalog.
+ JOINED_EVENTS = 1;
+
+ // Only rejoin unjoined events with the latest product catalog.
+ UNJOINED_EVENTS = 2;
+ }
+
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The type of the user event rejoin to define the scope and range of the user
+ // events to be rejoined with the latest product catalog. Defaults to
+ // USER_EVENT_REJOIN_SCOPE_UNSPECIFIED if this field is not set, or set to an
+ // invalid integer value.
+ UserEventRejoinScope user_event_rejoin_scope = 2;
+}
+
+// Response message for RejoinUserEvents method.
+message RejoinUserEventsResponse {
+ // Number of user events that were joined with latest product catalog.
+ int64 rejoined_user_events_count = 1;
+}
+
+// Metadata for RejoinUserEvents method.
+message RejoinUserEventsMetadata {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog.proto
new file mode 100644
index 00000000000..c95e3ac9340
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog.proto
@@ -0,0 +1,436 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/import_config.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Configures what level the product should be uploaded with regards to
+// how users will be send events and how predictions will be made.
+message ProductLevelConfig {
+ // The type of [Product][google.cloud.retail.v2beta.Product]s allowed to be
+ // ingested into the catalog. Acceptable values are:
+ //
+ // * `primary` (default): You can ingest
+ // [Product][google.cloud.retail.v2beta.Product]s of all types. When
+ // ingesting a [Product][google.cloud.retail.v2beta.Product], its type will
+ // default to
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // if unset.
+ // * `variant` (incompatible with Retail Search): You can only
+ // ingest
+ // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s. This means
+ // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id]
+ // cannot be empty.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `variant` and
+ // [merchant_center_product_id_field][google.cloud.retail.v2beta.ProductLevelConfig.merchant_center_product_id_field]
+ // is `itemGroupId`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string ingestion_product_type = 1;
+
+ // Which field of [Merchant Center
+ // Product](/bigquery-transfer/docs/merchant-center-products-schema) should be
+ // imported as [Product.id][google.cloud.retail.v2beta.Product.id]. Acceptable
+ // values are:
+ //
+ // * `offerId` (default): Import `offerId` as the product ID.
+ // * `itemGroupId`: Import `itemGroupId` as the product ID. Notice that Retail
+ // API will choose one item from the ones with the same `itemGroupId`, and
+ // use it to represent the item group.
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If this field is `itemGroupId` and
+ // [ingestion_product_type][google.cloud.retail.v2beta.ProductLevelConfig.ingestion_product_type]
+ // is `variant`, an INVALID_ARGUMENT error is returned.
+ //
+ // See [Product
+ // levels](https://cloud.google.com/retail/docs/catalog#product-levels)
+ // for more details.
+ string merchant_center_product_id_field = 2;
+}
+
+// Catalog level attribute config for an attribute. For example, if customers
+// want to enable/disable facet for a specific attribute.
+message CatalogAttribute {
+ // The type of an attribute.
+ enum AttributeType {
+ // The type of the attribute is unknown.
+ //
+ // Used when type cannot be derived from attribute that is not
+ // [in_use][google.cloud.retail.v2beta.CatalogAttribute.in_use].
+ UNKNOWN = 0;
+
+ // Textual attribute.
+ TEXTUAL = 1;
+
+ // Numerical attribute.
+ NUMERICAL = 2;
+ }
+
+ // The status of the indexable option of a catalog attribute.
+ enum IndexableOption {
+ // Value used when unset. Defaults to
+ // [INDEXABLE_ENABLED][google.cloud.retail.v2beta.CatalogAttribute.IndexableOption.INDEXABLE_ENABLED].
+ INDEXABLE_OPTION_UNSPECIFIED = 0;
+
+ // Indexable option enabled for an attribute.
+ INDEXABLE_ENABLED = 1;
+
+ // Indexable option disabled for an attribute.
+ INDEXABLE_DISABLED = 2;
+ }
+
+ // The status of the dynamic facetable option of a catalog attribute.
+ enum DynamicFacetableOption {
+ // Value used when unset. Defaults to
+ // [DYNAMIC_FACETABLE_ENABLED][google.cloud.retail.v2beta.CatalogAttribute.DynamicFacetableOption.DYNAMIC_FACETABLE_ENABLED].
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0;
+
+ // Dynamic facetable option enabled for an attribute.
+ DYNAMIC_FACETABLE_ENABLED = 1;
+
+ // Dynamic facetable option disabled for an attribute.
+ DYNAMIC_FACETABLE_DISABLED = 2;
+ }
+
+ // The status of the searchable option of a catalog attribute.
+ enum SearchableOption {
+ // Value used when unset. Defaults to
+ // [SEARCHABLE_DISABLED][google.cloud.retail.v2beta.CatalogAttribute.SearchableOption.SEARCHABLE_DISABLED].
+ SEARCHABLE_OPTION_UNSPECIFIED = 0;
+
+ // Searchable option enabled for an attribute.
+ SEARCHABLE_ENABLED = 1;
+
+ // Searchable option disabled for an attribute.
+ SEARCHABLE_DISABLED = 2;
+ }
+
+ // The status of the exact-searchable option of a catalog attribute.
+ enum ExactSearchableOption {
+ // Value used when unset. Defaults to
+ // [EXACT_SEARCHABLE_DISABLED][google.cloud.retail.v2beta.CatalogAttribute.ExactSearchableOption.EXACT_SEARCHABLE_DISABLED].
+ EXACT_SEARCHABLE_OPTION_UNSPECIFIED = 0;
+
+ // Exact searchable option enabled for an attribute.
+ EXACT_SEARCHABLE_ENABLED = 1;
+
+ // Exact searchable option disabled for an attribute.
+ EXACT_SEARCHABLE_DISABLED = 2;
+ }
+
+ // Required. Attribute name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ // To be indexable, the attribute name can contain only alpha-numeric
+ // characters and underscores. For example, an attribute named
+ // `attributes.abc_xyz` can be indexed, but an attribute named
+ // `attributes.abc-xyz` cannot be indexed.
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Indicates whether this attribute has been used by any
+ // products. `True` if at least one
+ // [Product][google.cloud.retail.v2beta.Product] is using this attribute in
+ // [Product.attributes][google.cloud.retail.v2beta.Product.attributes].
+ // Otherwise, this field is `False`.
+ //
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] can be
+ // pre-loaded by using
+ // [CatalogService.AddCatalogAttribute][google.cloud.retail.v2beta.CatalogService.AddCatalogAttribute],
+ // [CatalogService.ImportCatalogAttributes][], or
+ // [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2beta.CatalogService.UpdateAttributesConfig]
+ // APIs. This field is `False` for pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s.
+ //
+ // Only pre-loaded
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s that are
+ // neither in use by products nor predefined can be deleted.
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s that are
+ // either in use by products or are predefined cannot be deleted; however,
+ // their configuration properties will reset to default values upon removal
+ // request.
+ //
+ // After catalog changes, it takes about 10 minutes for this field to update.
+ bool in_use = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The type of this attribute. This is derived from the attribute
+ // in [Product.attributes][google.cloud.retail.v2beta.Product.attributes].
+ AttributeType type = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2beta.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values
+ // are indexed so that it can be filtered, faceted, or boosted in
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ IndexableOption indexable_option = 5;
+
+ // If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic
+ // facet. Could only be DYNAMIC_FACETABLE_DISABLED if
+ // [CatalogAttribute.indexable_option][google.cloud.retail.v2beta.CatalogAttribute.indexable_option]
+ // is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+ DynamicFacetableOption dynamic_facetable_option = 6;
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2beta.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values
+ // are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ //
+ // If SEARCHABLE_ENABLED but attribute type is numerical, attribute values
+ // will not be searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search], as
+ // there are no text values associated to numerical attributes.
+ SearchableOption searchable_option = 7;
+
+ // When
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2beta.AttributesConfig.attribute_config_level]
+ // is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if RECOMMENDATIONS_FILTERING_ENABLED,
+ // attribute values are filterable for recommendations.
+ // This option works for categorical features only,
+ // does not work for numerical features, inventory filtering.
+ RecommendationsFilteringOption recommendations_filtering_option = 8;
+
+ // If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.
+ // This property only applies to textual custom attributes and requires
+ // indexable set to enabled to enable exact-searchable.
+ ExactSearchableOption exact_searchable_option = 11;
+}
+
+// Catalog level attribute config.
+message AttributesConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/attributesConfig"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the attribute
+ // config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Enable attribute(s) config at catalog level.
+ // For example, indexable, dynamic_facetable, or searchable for each
+ // attribute.
+ //
+ // The key is catalog attribute's name.
+ // For example: `color`, `brands`, `attributes.custom_attribute`, such as
+ // `attributes.xyz`.
+ //
+ // The maximum number of catalog attributes allowed in a request is 1000.
+ map catalog_attributes = 2;
+
+ // Output only. The
+ // [AttributeConfigLevel][google.cloud.retail.v2beta.AttributeConfigLevel]
+ // used for this catalog.
+ AttributeConfigLevel attribute_config_level = 3
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Catalog level autocomplete config for customers to customize autocomplete
+// feature's settings.
+message CompletionConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/completionConfig"
+ };
+
+ // Required. Immutable. Fully qualified name
+ // `projects/*/locations/*/catalogs/*/completionConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Specifies the matching order for autocomplete suggestions, e.g., a query
+ // consisting of 'sh' with 'out-of-order' specified would suggest "women's
+ // shoes", whereas a query of 'red s' with 'exact-prefix' specified would
+ // suggest "red shoes". Currently supported values:
+ //
+ // * 'out-of-order'
+ // * 'exact-prefix'
+ //
+ // Default value: 'exact-prefix'.
+ string matching_order = 2;
+
+ // The maximum number of autocomplete suggestions returned per term. Default
+ // value is 20. If left unset or set to 0, then will fallback to default
+ // value.
+ //
+ // Value range is 1 to 20.
+ int32 max_suggestions = 3;
+
+ // The minimum number of characters needed to be typed in order to get
+ // suggestions. Default value is 2. If left unset or set to 0, then will
+ // fallback to default value.
+ //
+ // Value range is 1 to 20.
+ int32 min_prefix_length = 4;
+
+ // If set to true, the auto learning function is enabled. Auto learning uses
+ // user data to generate suggestions using ML techniques. Default value is
+ // false. Only after enabling auto learning can users use `cloud-retail`
+ // data in
+ // [CompleteQueryRequest][google.cloud.retail.v2beta.CompleteQueryRequest].
+ bool auto_learning = 11;
+
+ // Output only. The source data for the latest import of the autocomplete
+ // suggestion phrases.
+ CompletionDataInputConfig suggestions_input_config = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest suggestion terms
+ // list import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_suggestions_import_operation = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // denylist phrases.
+ CompletionDataInputConfig denylist_input_config = 7
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest denylist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_denylist_import_operation = 8
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The source data for the latest import of the autocomplete
+ // allowlist phrases.
+ CompletionDataInputConfig allowlist_input_config = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the LRO corresponding to the latest allowlist import.
+ //
+ // Can use [GetOperation][google.longrunning.Operations.GetOperation] API to
+ // retrieve the latest state of the Long Running Operation.
+ string last_allowlist_import_operation = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Represents a link between a Merchant Center account and a branch.
+// Once a link is established, products from the linked merchant center account
+// will be streamed to the linked branch.
+message MerchantCenterLink {
+ // Required. The linked [Merchant center account
+ // id](https://developers.google.com/shopping-content/guides/accountstatuses).
+ // The account must be a standalone account or a sub-account of a MCA.
+ int64 merchant_center_account_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The branch id (e.g. 0/1/2) within this catalog that products from
+ // merchant_center_account_id are streamed to. When updating this field, an
+ // empty value will use the currently configured default branch. However,
+ // changing the default branch later on won't change the linked branch here.
+ //
+ // A single branch id can only have one linked merchant center account id.
+ string branch_id = 2;
+
+ // String representing the destination to import for, all if left empty.
+ // List of possible values is given in [Included
+ // destination](https://support.google.com/merchants/answer/7501026).
+ // List of allowed string values:
+ // "Shopping_ads", "Buy_on_google_listings", "Display_ads", "Local_inventory
+ // _ads", "Free_listings", "Free_local_listings"
+ // NOTE: The string values are case sensitive.
+ repeated string destinations = 3;
+
+ // Region code of offers to accept. 2-letter Uppercase ISO 3166-1 alpha-2
+ // code. List of values can be found
+ // [here](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry)
+ // under the `region` tag. If left blank no region filtering will be
+ // performed.
+ //
+ // Example value: `US`.
+ string region_code = 4;
+
+ // Language of the title/description and other string attributes. Use language
+ // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
+ // ISO 639-1.
+ //
+ // This specifies the language of offers in Merchant Center that will be
+ // accepted. If empty no language filtering will be performed.
+ //
+ // Example value: `en`.
+ string language_code = 5;
+}
+
+// Configures Merchant Center linking.
+// Links contained in the config will be used to sync data from a Merchant
+// Center account to a Cloud Retail branch.
+message MerchantCenterLinkingConfig {
+ // Links between Merchant Center accounts and branches.
+ repeated MerchantCenterLink links = 1;
+}
+
+// The catalog configuration.
+message Catalog {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Catalog"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}"
+ };
+
+ // Required. Immutable. The fully qualified resource name of the catalog.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The catalog display name.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. The product level configuration.
+ ProductLevelConfig product_level_config = 4
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The Merchant Center linking configuration.
+ // Once a link is added, the data stream from Merchant Center to Cloud Retail
+ // will be enabled automatically. The requester must have access to the
+ // merchant center account in order to make changes to this field.
+ MerchantCenterLinkingConfig merchant_center_linking_config = 6;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog_service.proto
new file mode 100644
index 00000000000..7001c211324
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/catalog_service.proto
@@ -0,0 +1,522 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/catalog.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CatalogServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for managing catalog configuration.
+service CatalogService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists all the [Catalog][google.cloud.retail.v2beta.Catalog]s associated
+ // with the project.
+ rpc ListCatalogs(ListCatalogsRequest) returns (ListCatalogsResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*}/catalogs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates the [Catalog][google.cloud.retail.v2beta.Catalog]s.
+ rpc UpdateCatalog(UpdateCatalogRequest) returns (Catalog) {
+ option (google.api.http) = {
+ patch: "/v2beta/{catalog.name=projects/*/locations/*/catalogs/*}"
+ body: "catalog"
+ };
+ option (google.api.method_signature) = "catalog,update_mask";
+ }
+
+ // Set a specified branch id as default branch. API methods such as
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search],
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct],
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts]
+ // will treat requests using "default_branch" to the actual branch id set as
+ // default.
+ //
+ // For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as
+ // default, setting
+ // [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent
+ // to setting
+ // [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch] to
+ // `projects/*/locations/*/catalogs/*/branches/1`.
+ //
+ // Using multiple branches can be useful when developers would like
+ // to have a staging branch to test and verify for future usage. When it
+ // becomes ready, developers switch on the staging branch using this API while
+ // keeping using `projects/*/locations/*/catalogs/*/branches/default_branch`
+ // as [SearchRequest.branch][google.cloud.retail.v2beta.SearchRequest.branch]
+ // to route the traffic to this staging branch.
+ //
+ // CAUTION: If you have live predict/search traffic, switching the default
+ // branch could potentially cause outages if the ID space of the new branch is
+ // very different from the old one.
+ //
+ // More specifically:
+ //
+ // * PredictionService will only return product IDs from branch {newBranch}.
+ // * SearchService will only return product IDs from branch {newBranch}
+ // (if branch is not explicitly set).
+ // * UserEventService will only join events with products from branch
+ // {newBranch}.
+ rpc SetDefaultBranch(SetDefaultBranchRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:setDefaultBranch"
+ body: "*"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Get which branch is currently default branch set by
+ // [CatalogService.SetDefaultBranch][google.cloud.retail.v2beta.CatalogService.SetDefaultBranch]
+ // method under a specified parent catalog.
+ rpc GetDefaultBranch(GetDefaultBranchRequest)
+ returns (GetDefaultBranchResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:getDefaultBranch"
+ };
+ option (google.api.method_signature) = "catalog";
+ }
+
+ // Gets a [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig].
+ rpc GetCompletionConfig(GetCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ get: "/v2beta/{name=projects/*/locations/*/catalogs/*/completionConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the
+ // [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig]s.
+ rpc UpdateCompletionConfig(UpdateCompletionConfigRequest)
+ returns (CompletionConfig) {
+ option (google.api.http) = {
+ patch: "/v2beta/{completion_config.name=projects/*/locations/*/catalogs/*/completionConfig}"
+ body: "completion_config"
+ };
+ option (google.api.method_signature) = "completion_config,update_mask";
+ }
+
+ // Gets an [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].
+ rpc GetAttributesConfig(GetAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ get: "/v2beta/{name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates the
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].
+ //
+ // The catalog attributes in the request will be updated in the catalog, or
+ // inserted if they do not exist. Existing catalog attributes not included in
+ // the request will remain unchanged. Attributes that are assigned to
+ // products, but do not exist at the catalog level, are always included in the
+ // response. The product attribute is assigned default values for missing
+ // catalog attribute fields, e.g., searchable and dynamic facetable options.
+ rpc UpdateAttributesConfig(UpdateAttributesConfigRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ patch: "/v2beta/{attributes_config.name=projects/*/locations/*/catalogs/*/attributesConfig}"
+ body: "attributes_config"
+ };
+ option (google.api.method_signature) = "attributes_config,update_mask";
+ }
+
+ // Adds the specified
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to the
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to
+ // add already exists, an ALREADY_EXISTS error is returned.
+ rpc AddCatalogAttribute(AddCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:addCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Removes the specified
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] from the
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to
+ // remove does not exist, a NOT_FOUND error is returned.
+ rpc RemoveCatalogAttribute(RemoveCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:removeCatalogAttribute"
+ body: "*"
+ };
+ }
+
+ // Removes all specified
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s from the
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig].
+ rpc BatchRemoveCatalogAttributes(BatchRemoveCatalogAttributesRequest)
+ returns (BatchRemoveCatalogAttributesResponse) {
+ option (google.api.http) = {
+ post: "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:batchRemoveCatalogAttributes"
+ body: "*"
+ };
+ }
+
+ // Replaces the specified
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] in the
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] by updating
+ // the catalog attribute with the same
+ // [CatalogAttribute.key][google.cloud.retail.v2beta.CatalogAttribute.key].
+ //
+ // If the [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to
+ // replace does not exist, a NOT_FOUND error is returned.
+ rpc ReplaceCatalogAttribute(ReplaceCatalogAttributeRequest)
+ returns (AttributesConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{attributes_config=projects/*/locations/*/catalogs/*/attributesConfig}:replaceCatalogAttribute"
+ body: "*"
+ };
+ }
+}
+
+// Request for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsRequest {
+ // Required. The account resource name with an associated location.
+ //
+ // If the caller does not have permission to list
+ // [Catalog][google.cloud.retail.v2beta.Catalog]s under this location,
+ // regardless of whether or not this location exists, a PERMISSION_DENIED
+ // error is returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Maximum number of [Catalog][google.cloud.retail.v2beta.Catalog]s to return.
+ // If unspecified, defaults to 50. The maximum allowed value is 1000. Values
+ // above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListCatalogsResponse.next_page_token][google.cloud.retail.v2beta.ListCatalogsResponse.next_page_token],
+ // received from a previous
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+}
+
+// Response for
+// [CatalogService.ListCatalogs][google.cloud.retail.v2beta.CatalogService.ListCatalogs]
+// method.
+message ListCatalogsResponse {
+ // All the customer's [Catalog][google.cloud.retail.v2beta.Catalog]s.
+ repeated Catalog catalogs = 1;
+
+ // A token that can be sent as
+ // [ListCatalogsRequest.page_token][google.cloud.retail.v2beta.ListCatalogsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request for
+// [CatalogService.UpdateCatalog][google.cloud.retail.v2beta.CatalogService.UpdateCatalog]
+// method.
+message UpdateCatalogRequest {
+ // Required. The [Catalog][google.cloud.retail.v2beta.Catalog] to update.
+ //
+ // If the caller does not have permission to update the
+ // [Catalog][google.cloud.retail.v2beta.Catalog], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Catalog][google.cloud.retail.v2beta.Catalog] to update does not
+ // exist, a NOT_FOUND error is returned.
+ Catalog catalog = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Catalog][google.cloud.retail.v2beta.Catalog] to update.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request message to set a specified branch as new default_branch.
+message SetDefaultBranchRequest {
+ // Full resource name of the catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // The final component of the resource name of a branch.
+ //
+ // This field must be one of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // If there are no sufficient active products in the targeted branch and
+ // [force][google.cloud.retail.v2beta.SetDefaultBranchRequest.force] is not
+ // set, a FAILED_PRECONDITION error is returned.
+ string branch_id = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Some note on this request, this can be retrieved by
+ // [CatalogService.GetDefaultBranch][google.cloud.retail.v2beta.CatalogService.GetDefaultBranch]
+ // before next valid default branch set occurs.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string note = 3;
+
+ // If set to true, it permits switching to a branch with
+ // [branch_id][google.cloud.retail.v2beta.SetDefaultBranchRequest.branch_id]
+ // even if it has no sufficient active products.
+ bool force = 4;
+}
+
+// Request message to show which branch is currently the default branch.
+message GetDefaultBranchRequest {
+ // The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+}
+
+// Response message of
+// [CatalogService.GetDefaultBranch][google.cloud.retail.v2beta.CatalogService.GetDefaultBranch].
+message GetDefaultBranchResponse {
+ // Full resource name of the branch id currently set as default branch.
+ string branch = 1 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // The time when this branch is set to default.
+ google.protobuf.Timestamp set_time = 2;
+
+ // This corresponds to
+ // [SetDefaultBranchRequest.note][google.cloud.retail.v2beta.SetDefaultBranchRequest.note]
+ // field, when this branch was set as default.
+ string note = 3;
+}
+
+// Request for
+// [CatalogService.GetCompletionConfig][google.cloud.retail.v2beta.CatalogService.GetCompletionConfig]
+// method.
+message GetCompletionConfigRequest {
+ // Required. Full CompletionConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/CompletionConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateCompletionConfig][google.cloud.retail.v2beta.CatalogService.UpdateCompletionConfig]
+// method.
+message UpdateCompletionConfigRequest {
+ // Required. The
+ // [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to update.
+ //
+ // If the caller does not have permission to update the
+ // [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig], then a
+ // PERMISSION_DENIED error is returned.
+ //
+ // If the [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to
+ // update does not exist, a NOT_FOUND error is returned.
+ CompletionConfig completion_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CompletionConfig][google.cloud.retail.v2beta.CompletionConfig] to update.
+ // The following are the only supported fields:
+ //
+ // * [CompletionConfig.matching_order][google.cloud.retail.v2beta.CompletionConfig.matching_order]
+ // * [CompletionConfig.max_suggestions][google.cloud.retail.v2beta.CompletionConfig.max_suggestions]
+ // * [CompletionConfig.min_prefix_length][google.cloud.retail.v2beta.CompletionConfig.min_prefix_length]
+ // * [CompletionConfig.auto_learning][google.cloud.retail.v2beta.CompletionConfig.auto_learning]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.GetAttributesConfig][google.cloud.retail.v2beta.CatalogService.GetAttributesConfig]
+// method.
+message GetAttributesConfigRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+}
+
+// Request for
+// [CatalogService.UpdateAttributesConfig][google.cloud.retail.v2beta.CatalogService.UpdateAttributesConfig]
+// method.
+message UpdateAttributesConfigRequest {
+ // Required. The
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] to update.
+ AttributesConfig attributes_config = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [AttributesConfig][google.cloud.retail.v2beta.AttributesConfig] to update.
+ // The following is the only supported field:
+ //
+ // * [AttributesConfig.catalog_attributes][google.cloud.retail.v2beta.AttributesConfig.catalog_attributes]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for
+// [CatalogService.AddCatalogAttribute][google.cloud.retail.v2beta.CatalogService.AddCatalogAttribute]
+// method.
+message AddCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to add.
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.RemoveCatalogAttribute][google.cloud.retail.v2beta.CatalogService.RemoveCatalogAttribute]
+// method.
+message RemoveCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The attribute name key of the
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to remove.
+ string key = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for
+// [CatalogService.BatchRemoveCatalogAttributes][google.cloud.retail.v2beta.CatalogService.BatchRemoveCatalogAttributes]
+// method.
+message BatchRemoveCatalogAttributesRequest {
+ // Required. The attributes config resource shared by all catalog attributes
+ // being deleted. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The attribute name keys of the
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute]s to delete.
+ // A maximum of 1000 catalog attributes can be deleted in a batch.
+ repeated string attribute_keys = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response of the
+// [CatalogService.BatchRemoveCatalogAttributes][google.cloud.retail.v2beta.CatalogService.BatchRemoveCatalogAttributes].
+message BatchRemoveCatalogAttributesResponse {
+ // Catalog attributes that were deleted. Only attributes that are not [in
+ // use][CatalogAttribute.in_use] by products can be deleted.
+ repeated string deleted_catalog_attributes = 1;
+
+ // Catalog attributes that were reset. Attributes that are [in
+ // use][CatalogAttribute.in_use] by products cannot be deleted, however their
+ // configuration properties will reset to default values upon removal request.
+ repeated string reset_catalog_attributes = 2;
+}
+
+// Request for
+// [CatalogService.ReplaceCatalogAttribute][google.cloud.retail.v2beta.CatalogService.ReplaceCatalogAttribute]
+// method.
+message ReplaceCatalogAttributeRequest {
+ // Required. Full AttributesConfig resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`
+ string attributes_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/AttributesConfig"
+ }
+ ];
+
+ // Required. The updated
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute].
+ CatalogAttribute catalog_attribute = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] to update.
+ // The following are NOT supported:
+ //
+ // * [CatalogAttribute.key][google.cloud.retail.v2beta.CatalogAttribute.key]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/common.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/common.proto
new file mode 100644
index 00000000000..fd1247636b4
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/common.proto
@@ -0,0 +1,792 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// At which level we offer configuration for attributes.
+enum AttributeConfigLevel {
+ // Value used when unset. In this case, server behavior defaults to
+ // [CATALOG_LEVEL_ATTRIBUTE_CONFIG][google.cloud.retail.v2beta.AttributeConfigLevel.CATALOG_LEVEL_ATTRIBUTE_CONFIG].
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0;
+
+ // At this level, we honor the attribute configurations set in
+ // [Product.attributes][google.cloud.retail.v2beta.Product.attributes].
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1;
+
+ // At this level, we honor the attribute configurations set in
+ // [CatalogConfig.attribute_configs][].
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2;
+}
+
+// The type of solution.
+enum SolutionType {
+ // Default value.
+ SOLUTION_TYPE_UNSPECIFIED = 0;
+
+ // Used for Recommendations AI.
+ SOLUTION_TYPE_RECOMMENDATION = 1;
+
+ // Used for Retail Search.
+ SOLUTION_TYPE_SEARCH = 2;
+}
+
+// If filtering for recommendations is enabled.
+enum RecommendationsFilteringOption {
+ // Value used when unset.
+ // In this case, server behavior defaults to
+ // [RECOMMENDATIONS_FILTERING_DISABLED][google.cloud.retail.v2beta.RecommendationsFilteringOption.RECOMMENDATIONS_FILTERING_DISABLED].
+ RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED = 0;
+
+ // Recommendation filtering is disabled.
+ RECOMMENDATIONS_FILTERING_DISABLED = 1;
+
+ // Recommendation filtering is enabled.
+ RECOMMENDATIONS_FILTERING_ENABLED = 3;
+}
+
+// The use case of Cloud Retail Search.
+enum SearchSolutionUseCase {
+ // The value when it's unspecified. In this case, server behavior defaults to
+ // [SEARCH_SOLUTION_USE_CASE_SEARCH][google.cloud.retail.v2beta.SearchSolutionUseCase.SEARCH_SOLUTION_USE_CASE_SEARCH].
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0;
+
+ // Search use case. Expects the traffic has a non-empty
+ // [query][google.cloud.retail.v2beta.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1;
+
+ // Browse use case. Expects the traffic has an empty
+ // [query][google.cloud.retail.v2beta.SearchRequest.query].
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2;
+}
+
+// Metadata that is used to define a condition that triggers an action.
+// A valid condition must specify at least one of 'query_terms' or
+// 'products_filter'. If multiple fields are specified, the condition is met if
+// all the fields are satisfied e.g. if a set of query terms and product_filter
+// are set, then only items matching the product_filter for requests with a
+// query matching the query terms wil get boosted.
+message Condition {
+ // Query terms that we want to match on.
+ message QueryTerm {
+ // The value of the term to match on.
+ // Value cannot be empty.
+ // Value can have at most 3 terms if specified as a partial match. Each
+ // space separated string is considered as one term.
+ // For example, "a b c" is 3 terms and allowed, but " a b c d" is 4 terms
+ // and not allowed for a partial match.
+ string value = 1;
+
+ // Whether this is supposed to be a full or partial match.
+ bool full_match = 2;
+ }
+
+ // Used for time-dependent conditions.
+ // Example: Want to have rule applied for week long sale.
+ message TimeRange {
+ // Start of time range. Range is inclusive.
+ google.protobuf.Timestamp start_time = 1;
+
+ // End of time range. Range is inclusive.
+ google.protobuf.Timestamp end_time = 2;
+ }
+
+ // A list (up to 10 entries) of terms to match the query on. If not
+ // specified, match all queries.
+ // If many query terms are specified, the condition
+ // is matched if any of the terms is a match (i.e. using the OR operator).
+ repeated QueryTerm query_terms = 1;
+
+ // Range of time(s) specifying when Condition is active.
+ // Condition true if any time range matches.
+ repeated TimeRange active_time_range = 3;
+}
+
+// A rule is a condition-action pair
+//
+// * A condition defines when a rule is to be triggered.
+// * An action specifies what occurs on that trigger.
+// Currently rules only work for [controls][google.cloud.retail.v2beta.Control]
+// with
+// [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2beta.SolutionType.SOLUTION_TYPE_SEARCH].
+message Rule {
+ // A boost action to apply to results matching condition specified above.
+ message BoostAction {
+ // Strength of the condition boost, which must be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 1;
+
+ // The filter can have a max size of 5000 characters.
+ // An expression which specifies which products to apply an action to.
+ // The syntax and supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]
+ // for detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string products_filter = 2;
+ }
+
+ // * Rule Condition:
+ // - No
+ // [Condition.query_terms][google.cloud.retail.v2beta.Condition.query_terms]
+ // provided is a global match.
+ // - 1 or more
+ // [Condition.query_terms][google.cloud.retail.v2beta.Condition.query_terms]
+ // provided are combined with OR operator.
+ // * Action Input: The request query and filter that are applied to the
+ // retrieved products, in addition to any filters already provided with the
+ // SearchRequest. The AND operator is used to combine the query's existing
+ // filters with the filter rule(s). NOTE: May result in 0 results when
+ // filters conflict.
+ // * Action Result: Filters the returned objects to be ONLY those that passed
+ // the filter.
+ message FilterAction {
+ // A filter to apply on the matching condition results. Supported features:
+ //
+ // * [filter][google.cloud.retail.v2beta.Rule.FilterAction.filter] must be
+ // set.
+ // * Filter syntax is identical to
+ // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter].
+ // See more
+ // details at the Retail Search
+ // [user guide](/retail/search/docs/filter-and-order#filter).
+ // * To filter products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // *(id: ANY("product_1", "product_2"))
*
+ // *AND
*
+ // *(colorFamilies: ANY("Red", "Blue"))
*
+ string filter = 1;
+ }
+
+ // Redirects a shopper to a specific page.
+ //
+ // * Rule Condition:
+ // - Must specify
+ // [Condition.query_terms][google.cloud.retail.v2beta.Condition.query_terms].
+ // * Action Input: Request Query
+ // * Action Result: Redirects shopper to provided uri.
+ message RedirectAction {
+ // URL must have length equal or less than 2000 characters.
+ string redirect_uri = 1;
+ }
+
+ // Creates a set of terms that will be treated as synonyms of each other.
+ // Example: synonyms of "sneakers" and "shoes".
+ // * "sneakers" will use a synonym of "shoes".
+ // * "shoes" will use a synonym of "sneakers".
+ message TwowaySynonymsAction {
+ // Defines a set of synonyms.
+ // Can specify up to 100 synonyms.
+ // Must specify at least 2 synonyms.
+ repeated string synonyms = 1;
+ }
+
+ // Maps a set of terms to a set of synonyms.
+ // Set of synonyms will be treated as synonyms of each query term only.
+ // `query_terms` will not be treated as synonyms of each other.
+ // Example: "sneakers" will use a synonym of "shoes".
+ // "shoes" will not use a synonym of "sneakers".
+ message OnewaySynonymsAction {
+ // Terms from the search query.
+ // Will treat synonyms as their synonyms.
+ // Not themselves synonyms of the synonyms.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 3;
+
+ // Defines a set of synonyms.
+ // Cannot contain duplicates.
+ // Can specify up to 100 synonyms.
+ repeated string synonyms = 4;
+
+ // Will be [deprecated = true] post migration;
+ repeated string oneway_terms = 2;
+ }
+
+ // Prevents `query_term` from being associated with specified terms during
+ // search.
+ // Example: Don't associate "gShoe" and "cheap".
+ message DoNotAssociateAction {
+ // Terms from the search query.
+ // Will not consider do_not_associate_terms for search if in search query.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Cannot contain duplicates or the query term.
+ // Can specify up to 100 terms.
+ repeated string do_not_associate_terms = 3;
+
+ // Will be [deprecated = true] post migration;
+ repeated string terms = 1;
+ }
+
+ // Replaces a term in the query. Multiple replacement candidates can be
+ // specified. All `query_terms` will be replaced with the replacement term.
+ // Example: Replace "gShoe" with "google shoe".
+ message ReplacementAction {
+ // Terms from the search query.
+ // Will be replaced by replacement term.
+ // Can specify up to 100 terms.
+ repeated string query_terms = 2;
+
+ // Term that will be used for replacement.
+ string replacement_term = 3;
+
+ // Will be [deprecated = true] post migration;
+ string term = 1;
+ }
+
+ // Prevents a term in the query from being used in search.
+ // Example: Don't search for "shoddy".
+ message IgnoreAction {
+ // Terms to ignore in the search query.
+ repeated string ignore_terms = 1;
+ }
+
+ // An action must be provided.
+ oneof action {
+ // A boost action.
+ BoostAction boost_action = 2;
+
+ // Redirects a shopper to a specific page.
+ RedirectAction redirect_action = 3;
+
+ // Treats specific term as a synonym with a group of terms.
+ // Group of terms will not be treated as synonyms with the specific term.
+ OnewaySynonymsAction oneway_synonyms_action = 6;
+
+ // Prevents term from being associated with other terms.
+ DoNotAssociateAction do_not_associate_action = 7;
+
+ // Replaces specific terms in the query.
+ ReplacementAction replacement_action = 8;
+
+ // Ignores specific terms from query during search.
+ IgnoreAction ignore_action = 9;
+
+ // Filters results.
+ FilterAction filter_action = 10;
+
+ // Treats a set of terms as synonyms of one another.
+ TwowaySynonymsAction twoway_synonyms_action = 11;
+ }
+
+ // Required. The condition that triggers the rule.
+ // If the condition is empty, the rule will always apply.
+ Condition condition = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An intended audience of the [Product][google.cloud.retail.v2beta.Product] for
+// whom it's sold.
+message Audience {
+ // The genders of the audience. Strongly encouraged to use the standard
+ // values: "male", "female", "unisex".
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [gender](https://support.google.com/merchants/answer/6324479). Schema.org
+ // property
+ // [Product.audience.suggestedGender](https://schema.org/suggestedGender).
+ repeated string genders = 1;
+
+ // The age groups of the audience. Strongly encouraged to use the standard
+ // values: "newborn" (up to 3 months old), "infant" (3–12 months old),
+ // "toddler" (1–5 years old), "kids" (5–13 years old), "adult" (typically
+ // teens or older).
+ //
+ // At most 5 values are allowed. Each value must be a UTF-8 encoded string
+ // with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Google Merchant Center property
+ // [age_group](https://support.google.com/merchants/answer/6324463).
+ // Schema.org property
+ // [Product.audience.suggestedMinAge](https://schema.org/suggestedMinAge) and
+ // [Product.audience.suggestedMaxAge](https://schema.org/suggestedMaxAge).
+ repeated string age_groups = 2;
+}
+
+// The color information of a [Product][google.cloud.retail.v2beta.Product].
+message ColorInfo {
+ // The standard color families. Strongly recommended to use the following
+ // standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple",
+ // "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and
+ // "Mixed". Normally it is expected to have only 1 color family. May consider
+ // using single "Mixed" instead of multiple values.
+ //
+ // A maximum of 5 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string color_families = 1;
+
+ // The color display names, which may be different from standard color family
+ // names, such as the color aliases used in the website frontend. Normally
+ // it is expected to have only 1 color. May consider using single "Mixed"
+ // instead of multiple values.
+ //
+ // A maximum of 25 colors are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ repeated string colors = 2;
+}
+
+// A custom attribute that is not explicitly modeled in
+// [Product][google.cloud.retail.v2beta.Product].
+message CustomAttribute {
+ // The textual values of this custom attribute. For example, `["yellow",
+ // "green"]` when the key is "color".
+ //
+ // Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be
+ // set. Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string text = 1;
+
+ // The numerical values of this custom attribute. For example, `[2.3, 15.4]`
+ // when the key is "lengths_cm".
+ //
+ // Exactly one of [text][google.cloud.retail.v2beta.CustomAttribute.text] or
+ // [numbers][google.cloud.retail.v2beta.CustomAttribute.numbers] should be
+ // set. Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated double numbers = 2;
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2beta.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2beta.Catalog] is set to the
+ // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about
+ // product-level attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are searchable by text queries in
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ //
+ // This field is ignored in a
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent].
+ //
+ // Only set if type [text][google.cloud.retail.v2beta.CustomAttribute.text] is
+ // set. Otherwise, a INVALID_ARGUMENT error is returned.
+ optional bool searchable = 3 [deprecated = true];
+
+ // This field is normally ignored unless
+ // [AttributesConfig.attribute_config_level][google.cloud.retail.v2beta.AttributesConfig.attribute_config_level]
+ // of the [Catalog][google.cloud.retail.v2beta.Catalog] is set to the
+ // deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about
+ // product-level attribute configuration, see [Configuration
+ // modes](https://cloud.google.com/retail/docs/attribute-config#config-modes).
+ // If true, custom attribute values are indexed, so that they can be filtered,
+ // faceted or boosted in
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ //
+ // This field is ignored in a
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent].
+ //
+ // See
+ // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter],
+ // [SearchRequest.facet_specs][google.cloud.retail.v2beta.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2beta.SearchRequest.boost_spec]
+ // for more details.
+ optional bool indexable = 4 [deprecated = true];
+}
+
+// Fulfillment information, such as the store IDs for in-store pickup or region
+// IDs for different shipping methods.
+message FulfillmentInfo {
+ // The fulfillment type, including commonly used types (such as pickup in
+ // store and same day delivery), and custom types. Customers have to map
+ // custom types to their display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ string type = 1;
+
+ // The IDs for this [type][google.cloud.retail.v2beta.FulfillmentInfo.type],
+ // such as the store IDs for
+ // [FulfillmentInfo.type.pickup-in-store][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // or the region IDs for
+ // [FulfillmentInfo.type.same-day-delivery][google.cloud.retail.v2beta.FulfillmentInfo.type].
+ //
+ // A maximum of 3000 values are allowed. Each value must be a string with a
+ // length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such
+ // as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string place_ids = 2;
+}
+
+// [Product][google.cloud.retail.v2beta.Product] image. Recommendations AI and
+// Retail Search do not use product images to improve prediction and search
+// results. However, product images can be returned in results, and are shown in
+// prediction or search previews in the console.
+message Image {
+ // Required. URI of the image.
+ //
+ // This field must be a valid UTF-8 encoded URI with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Height of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 height = 2;
+
+ // Width of the image in number of pixels.
+ //
+ // This field must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 width = 3;
+}
+
+// A floating point interval.
+message Interval {
+ // The lower bound of the interval. If neither of the min fields are set, then
+ // the lower bound is negative infinity.
+ //
+ // This field must not be larger than max.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof min {
+ // Inclusive lower bound.
+ double minimum = 1;
+
+ // Exclusive lower bound.
+ double exclusive_minimum = 2;
+ }
+
+ // The upper bound of the interval. If neither of the max fields are set, then
+ // the upper bound is positive infinity.
+ //
+ // This field must be not smaller than min.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ oneof max {
+ // Inclusive upper bound.
+ double maximum = 3;
+
+ // Exclusive upper bound.
+ double exclusive_maximum = 4;
+ }
+}
+
+// The price information of a [Product][google.cloud.retail.v2beta.Product].
+message PriceInfo {
+ // The price range of all
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
+ message PriceRange {
+ // The inclusive
+ // [Product.pricing_info.price][google.cloud.retail.v2beta.PriceInfo.price]
+ // interval of all
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
+ Interval price = 1;
+
+ // The inclusive
+ // [Product.pricing_info.original_price][google.cloud.retail.v2beta.PriceInfo.original_price]
+ // internal of all
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product] having the same
+ // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id].
+ Interval original_price = 2;
+ }
+
+ // The 3-letter currency code defined in [ISO
+ // 4217](https://www.iso.org/iso-4217-currency-codes.html).
+ //
+ // If this field is an unrecognizable currency code, an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // The [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s with the same
+ // [Product.primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id]
+ // must share the same
+ // [currency_code][google.cloud.retail.v2beta.PriceInfo.currency_code].
+ // Otherwise, a FAILED_PRECONDITION error is returned.
+ string currency_code = 1;
+
+ // Price of the product.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371). Schema.org
+ // property [Offer.price](https://schema.org/price).
+ float price = 2;
+
+ // Price of the product without any discount. If zero, by default set to be
+ // the [price][google.cloud.retail.v2beta.PriceInfo.price]. If set,
+ // [original_price][google.cloud.retail.v2beta.PriceInfo.original_price]
+ // should be greater than or equal to
+ // [price][google.cloud.retail.v2beta.PriceInfo.price], otherwise an
+ // INVALID_ARGUMENT error is thrown.
+ float original_price = 3;
+
+ // The costs associated with the sale of a particular product. Used for gross
+ // profit reporting.
+ //
+ // * Profit = [price][google.cloud.retail.v2beta.PriceInfo.price] -
+ // [cost][google.cloud.retail.v2beta.PriceInfo.cost]
+ //
+ // Google Merchant Center property
+ // [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
+ float cost = 4;
+
+ // The timestamp when the [price][google.cloud.retail.v2beta.PriceInfo.price]
+ // starts to be effective. This can be set as a future timestamp, and the
+ // [price][google.cloud.retail.v2beta.PriceInfo.price] is only used for search
+ // after
+ // [price_effective_time][google.cloud.retail.v2beta.PriceInfo.price_effective_time].
+ // If so, the
+ // [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] must
+ // be set and
+ // [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] is
+ // used before
+ // [price_effective_time][google.cloud.retail.v2beta.PriceInfo.price_effective_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2beta.PriceInfo.price] is always
+ // effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_effective_time = 5;
+
+ // The timestamp when the [price][google.cloud.retail.v2beta.PriceInfo.price]
+ // stops to be effective. The
+ // [price][google.cloud.retail.v2beta.PriceInfo.price] is used for search
+ // before
+ // [price_expire_time][google.cloud.retail.v2beta.PriceInfo.price_expire_time].
+ // If this field is set, the
+ // [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] must
+ // be set and
+ // [original_price][google.cloud.retail.v2beta.PriceInfo.original_price] is
+ // used after
+ // [price_expire_time][google.cloud.retail.v2beta.PriceInfo.price_expire_time].
+ //
+ // Do not set if [price][google.cloud.retail.v2beta.PriceInfo.price] is always
+ // effective because it will cause additional latency during search.
+ google.protobuf.Timestamp price_expire_time = 6;
+
+ // Output only. The price range of all the child
+ // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s grouped together on the
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]. Only populated for
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ PriceRange price_range = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// The rating of a [Product][google.cloud.retail.v2beta.Product].
+message Rating {
+ // The total number of ratings. This value is independent of the value of
+ // [rating_histogram][google.cloud.retail.v2beta.Rating.rating_histogram].
+ //
+ // This value must be nonnegative. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ int32 rating_count = 1;
+
+ // The average rating of the [Product][google.cloud.retail.v2beta.Product].
+ //
+ // The rating is scaled at 1-5. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ float average_rating = 2;
+
+ // List of rating counts per rating value (index = rating - 1). The list is
+ // empty if there is no rating. If the list is non-empty, its size is
+ // always 5. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // For example, [41, 14, 13, 47, 303]. It means that the
+ // [Product][google.cloud.retail.v2beta.Product] got 41 ratings with 1 star,
+ // 14 ratings with 2 star, and so on.
+ repeated int32 rating_histogram = 3;
+}
+
+// Information of an end user.
+message UserInfo {
+ // Highly recommended for logged-in users. Unique identifier for logged-in
+ // user, such as a user name. Don't set for anonymous users.
+ //
+ // Always use a hashed value for this ID.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded
+ // model quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string user_id = 1;
+
+ // The end user's IP address. This field is used to extract location
+ // information for personalization.
+ //
+ // This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
+ // address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when:
+ //
+ // * setting
+ // [SearchRequest.user_info][google.cloud.retail.v2beta.SearchRequest.user_info].
+ // * using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request]
+ // is set.
+ string ip_address = 2;
+
+ // User agent as included in the HTTP header. Required for getting
+ // [SearchResponse.sponsored_results][google.cloud.retail.v2beta.SearchResponse.sponsored_results].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This should not be set when using the client side event reporting with
+ // GTM or JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent]
+ // or if
+ // [direct_user_request][google.cloud.retail.v2beta.UserInfo.direct_user_request]
+ // is set.
+ string user_agent = 3;
+
+ // True if the request is made directly from the end user, in which case the
+ // [ip_address][google.cloud.retail.v2beta.UserInfo.ip_address] and
+ // [user_agent][google.cloud.retail.v2beta.UserInfo.user_agent] can be
+ // populated from the HTTP request. This flag should be set only if the API
+ // request is made directly from the end user such as a mobile app (and not if
+ // a gateway or a server is processing and pushing the user events).
+ //
+ // This should not be set when using the JavaScript tag in
+ // [UserEventService.CollectUserEvent][google.cloud.retail.v2beta.UserEventService.CollectUserEvent].
+ bool direct_user_request = 4;
+}
+
+// The inventory information at a place (e.g. a store) identified
+// by a place ID.
+message LocalInventory {
+ // The place ID for the current set of inventory information.
+ string place_id = 1;
+
+ // Product price and cost information.
+ //
+ // Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 2;
+
+ // Additional local inventory attributes, for example, store name, promotion
+ // tags, etc.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * At most 30 attributes are allowed.
+ // * The key must be a UTF-8 encoded string with a length limit of 32
+ // characters.
+ // * The key must match the pattern: `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example,
+ // key0LikeThis or KEY_1_LIKE_THIS.
+ // * The attribute values must be of the same type (text or number).
+ // * Only 1 value is allowed for each attribute.
+ // * For text values, the length limit is 256 UTF-8 characters.
+ // * The attribute does not support search. The `searchable` field should be
+ // unset or set to false.
+ // * The max summed total bytes of custom attribute keys and values per
+ // product is 5MiB.
+ map attributes = 3;
+
+ // Input only. Supported fulfillment types. Valid fulfillment type values
+ // include commonly used types (such as pickup in store and same day
+ // delivery), and custom types. Customers have to map custom types to their
+ // display names before rendering UI.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ repeated string fulfillment_types = 4
+ [(google.api.field_behavior) = INPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/completion_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/completion_service.proto
new file mode 100644
index 00000000000..4db036647f9
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/completion_service.proto
@@ -0,0 +1,210 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/import_config.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "CompletionServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Auto-completion service for retail.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Enable Retail Search on Cloud Console before using this feature.
+service CompletionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Completes the specified prefix with keyword suggestions.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{catalog=projects/*/locations/*/catalogs/*}:completeQuery"
+ };
+ }
+
+ // Bulk import of processed completion dataset.
+ //
+ // Request processing is asynchronous. Partial updating is not supported.
+ //
+ // The operation is successfully finished only after the imported suggestions
+ // are indexed successfully and ready for serving. The process takes hours.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc ImportCompletionData(ImportCompletionDataRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/completionData:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.ImportCompletionDataResponse"
+ metadata_type: "google.cloud.retail.v2beta.ImportMetadata"
+ };
+ }
+}
+
+// Auto-complete parameters.
+message CompleteQueryRequest {
+ // Required. Catalog for which the completion is performed.
+ //
+ // Full resource name of catalog, such as
+ // `projects/*/locations/global/catalogs/default_catalog`.
+ string catalog = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The query used to generate suggestions.
+ //
+ // The maximum number of allowed characters is 255.
+ string query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required field. A unique identifier for tracking visitors. For example,
+ // this could be implemented with an HTTP cookie, which should be able to
+ // uniquely identify a visitor on a single device. This unique identifier
+ // should not change if the visitor logs in or out of the website.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 7;
+
+ // Note that this field applies for `user-data` dataset only. For requests
+ // with `cloud-retail` dataset, setting this field has no effect.
+ //
+ // The language filters applied to the output suggestions. If set, it should
+ // contain the language of the query. If not set, suggestions are returned
+ // without considering language restrictions. 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 language codes is 3.
+ repeated string language_codes = 3;
+
+ // The device type context for completion suggestions.
+ // It is useful to apply different suggestions on different device types, e.g.
+ // `DESKTOP`, `MOBILE`. If it is empty, the suggestions are across all device
+ // types.
+ //
+ // Supported formats:
+ //
+ // * `UNKNOWN_DEVICE_TYPE`
+ //
+ // * `DESKTOP`
+ //
+ // * `MOBILE`
+ //
+ // * A customized string starts with `OTHER_`, e.g. `OTHER_IPHONE`.
+ string device_type = 4;
+
+ // Determines which dataset to use for fetching completion. "user-data" will
+ // use the imported dataset through
+ // [CompletionService.ImportCompletionData][google.cloud.retail.v2beta.CompletionService.ImportCompletionData].
+ // "cloud-retail" will use the dataset generated by cloud retail based on user
+ // events. If leave empty, it will use the "user-data".
+ //
+ // Current supported values:
+ //
+ // * user-data
+ //
+ // * cloud-retail:
+ // This option requires enabling auto-learning function first. See
+ // [guidelines](https://cloud.google.com/retail/docs/completion-overview#generated-completion-dataset).
+ string dataset = 6;
+
+ // Completion max suggestions. If left unset or set to 0, then will fallback
+ // to the configured value
+ // [CompletionConfig.max_suggestions][google.cloud.retail.v2beta.CompletionConfig.max_suggestions].
+ //
+ // The maximum allowed max suggestions is 20. If it is set higher, it will be
+ // capped by 20.
+ int32 max_suggestions = 5;
+}
+
+// Response of the auto-complete query.
+message CompleteQueryResponse {
+ // Resource that represents completion results.
+ message CompletionResult {
+ // The suggestion for the query.
+ string suggestion = 1;
+
+ // Custom attributes for the suggestion term.
+ //
+ // * For "user-data", the attributes are additional custom attributes
+ // ingested through BigQuery.
+ //
+ // * For "cloud-retail", the attributes are product attributes generated
+ // by Cloud Retail. It requires
+ // [UserEvent.product_details][google.cloud.retail.v2beta.UserEvent.product_details]
+ // is imported properly.
+ map attributes = 2;
+ }
+
+ // Recent search of this user.
+ message RecentSearchResult {
+ // The recent search query.
+ string recent_search = 1;
+ }
+
+ // Results of the matching suggestions. The result list is ordered and the
+ // first result is top suggestion.
+ repeated CompletionResult completion_results = 1;
+
+ // A unique complete token. This should be included in the
+ // [UserEvent.completion_detail][google.cloud.retail.v2beta.UserEvent.completion_detail]
+ // for search events resulting from this completion, which enables accurate
+ // attribution of complete model performance.
+ string attribution_token = 2;
+
+ // Matched recent searches of this user. The maximum number of recent searches
+ // is 10. This field is a restricted feature. Contact Retail Search support
+ // team if you are interested in enabling it.
+ //
+ // This feature is only available when
+ // [CompleteQueryRequest.visitor_id][google.cloud.retail.v2beta.CompleteQueryRequest.visitor_id]
+ // field is set and [UserEvent][google.cloud.retail.v2beta.UserEvent] is
+ // imported. The recent searches satisfy the follow rules:
+ //
+ // * They are ordered from latest to oldest.
+ //
+ // * They are matched with
+ // [CompleteQueryRequest.query][google.cloud.retail.v2beta.CompleteQueryRequest.query]
+ // case insensitively.
+ //
+ // * They are transformed to lower case.
+ //
+ // * They are UTF-8 safe.
+ //
+ // Recent searches are deduplicated. More recent searches will be reserved
+ // when duplication happens.
+ repeated RecentSearchResult recent_search_results = 3;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control.proto
new file mode 100644
index 00000000000..238f0f5fe69
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control.proto
@@ -0,0 +1,100 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/search_service.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Configures dynamic metadata that can be linked to a
+// [ServingConfig][google.cloud.retail.v2beta.ServingConfig] and affect search
+// or recommendation results at serving time.
+message Control {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Control"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/controls/{control}"
+ };
+
+ // The behavior/type of the control
+ //
+ // A behavior/type must be specified on creation. Type cannot be changed once
+ // specified (e.g. A Rule control will always be a Rule control.). An
+ // INVALID_ARGUMENT will be returned if either condition is violated.
+ oneof control {
+ // A facet specification to perform faceted search.
+ //
+ // Note that this field is deprecated and will throw NOT_IMPLEMENTED if
+ // used for creating a control.
+ SearchRequest.FacetSpec facet_spec = 3 [deprecated = true];
+
+ // A rule control - a condition-action pair.
+ // Enacts a set action when the condition is triggered.
+ // For example: Boost "gShoe" when query full matches "Running Shoes".
+ Rule rule = 4;
+ }
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/controls/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable control display name. Used in Retail UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is thrown.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. List of [serving
+ // configuration][google.cloud.retail.v2beta.ServingConfig] ids that are
+ // associated with this control in the same
+ // [Catalog][google.cloud.retail.v2beta.Catalog].
+ //
+ // Note the association is managed via the
+ // [ServingConfig][google.cloud.retail.v2beta.ServingConfig], this is an
+ // output only denormalized view.
+ repeated string associated_serving_config_ids = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The solution types that the control is used for.
+ // Currently we support setting only one type of solution at creation time.
+ //
+ // Only `SOLUTION_TYPE_SEARCH` value is supported at the moment.
+ // If no solution type is provided at creation time, will default to
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2beta.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated SolutionType solution_types = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Specifies the use case for the control.
+ // Affects what condition fields can be set.
+ // Only settable by search controls.
+ // Will default to
+ // [SEARCH_SOLUTION_USE_CASE_SEARCH][google.cloud.retail.v2beta.SearchSolutionUseCase.SEARCH_SOLUTION_USE_CASE_SEARCH]
+ // if not specified. Currently only allow one search_solution_use_case per
+ // control.
+ repeated SearchSolutionUseCase search_solution_use_case = 7;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control_service.proto
new file mode 100644
index 00000000000..a0a9d2e732f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/control_service.proto
@@ -0,0 +1,185 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/control.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ControlServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for modifying Control.
+service ControlService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a Control.
+ //
+ // If the [Control][google.cloud.retail.v2beta.Control] to create already
+ // exists, an ALREADY_EXISTS error is returned.
+ rpc CreateControl(CreateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls"
+ body: "control"
+ };
+ option (google.api.method_signature) = "parent,control,control_id";
+ }
+
+ // Deletes a Control.
+ //
+ // If the [Control][google.cloud.retail.v2beta.Control] to delete does not
+ // exist, a NOT_FOUND error is returned.
+ rpc DeleteControl(DeleteControlRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a Control.
+ //
+ // [Control][google.cloud.retail.v2beta.Control] cannot be set to a different
+ // oneof field, if so an INVALID_ARGUMENT is returned. If the
+ // [Control][google.cloud.retail.v2beta.Control] to update does not exist, a
+ // NOT_FOUND error is returned.
+ rpc UpdateControl(UpdateControlRequest) returns (Control) {
+ option (google.api.http) = {
+ patch: "/v2beta/{control.name=projects/*/locations/*/catalogs/*/controls/*}"
+ body: "control"
+ };
+ option (google.api.method_signature) = "control,update_mask";
+ }
+
+ // Gets a Control.
+ rpc GetControl(GetControlRequest) returns (Control) {
+ option (google.api.http) = {
+ get: "/v2beta/{name=projects/*/locations/*/catalogs/*/controls/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all Controls by their parent
+ // [Catalog][google.cloud.retail.v2beta.Catalog].
+ rpc ListControls(ListControlsRequest) returns (ListControlsResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/controls"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Request for CreateControl method.
+message CreateControlRequest {
+ // Required. Full resource name of parent catalog. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The Control to create.
+ Control control = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the Control, which will become the final
+ // component of the Control's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string control_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateControl method.
+message UpdateControlRequest {
+ // Required. The Control to update.
+ Control control = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Control][google.cloud.retail.v2beta.Control] to update. The following are
+ // NOT supported:
+ //
+ // * [Control.name][google.cloud.retail.v2beta.Control.name]
+ //
+ // If not set or empty, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteControl method.
+message DeleteControlRequest {
+ // Required. The resource name of the Control to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for GetControl method.
+message GetControlRequest {
+ // Required. The resource name of the Control to get. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/controls/{control_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Control" }
+ ];
+}
+
+// Request for ListControls method.
+message ListControlsRequest {
+ // Required. The catalog resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 50. Max allowed value is 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListControls` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2beta.ListControlsRequest.filter] is unset.
+ // * List controls that are used in a single ServingConfig:
+ // 'serving_config = "boosted_home_page_cvr"'
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListControls method.
+message ListControlsResponse {
+ // All the Controls for a given catalog.
+ repeated Control controls = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/export_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/export_config.proto
new file mode 100644
index 00000000000..de24f41907a
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/export_config.proto
@@ -0,0 +1,97 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ExportConfigProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Configuration of destination for Export related errors.
+message ExportErrorsConfig {
+ // Required. Errors destination.
+ oneof destination {
+ // Google Cloud Storage path for import errors. This must be an empty,
+ // existing Cloud Storage bucket. Export errors will be written to a file in
+ // this bucket, one per line, as a JSON-encoded
+ // `google.rpc.Status` message.
+ string gcs_prefix = 1;
+ }
+}
+
+// Metadata related to the progress of the Export operation. This is
+// returned by the google.longrunning.Operation.metadata field.
+message ExportMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+}
+
+// Response of the ExportProductsRequest. If the long running
+// operation is done, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ExportProductsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // This field is never set.
+ ExportErrorsConfig errors_config = 2;
+
+ // Output result indicating where the data were exported to.
+ OutputResult output_result = 3;
+}
+
+// Response of the ExportUserEventsRequest. If the long running
+// operation was successful, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ExportUserEventsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // This field is never set.
+ ExportErrorsConfig errors_config = 2;
+
+ // Output result indicating where the data were exported to.
+ OutputResult output_result = 3;
+}
+
+// Output result.
+message OutputResult {
+ // Export result in BigQuery.
+ repeated BigQueryOutputResult bigquery_result = 1;
+}
+
+// A BigQuery output result.
+message BigQueryOutputResult {
+ // The ID of a BigQuery Dataset.
+ string dataset_id = 1;
+
+ // The ID of a BigQuery Table.
+ string table_id = 2;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/import_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/import_config.proto
new file mode 100644
index 00000000000..e544f6471a0
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/import_config.proto
@@ -0,0 +1,386 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/product.proto";
+import "google/cloud/retail/v2beta/user_event.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/date.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ImportConfigProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Google Cloud Storage location for input content.
+message GcsSource {
+ // Required. Google Cloud Storage URIs to input files. URI can be up to
+ // 2000 characters long. URIs can match the full object path (for example,
+ // `gs://bucket/directory/object.json`) or a pattern matching one or more
+ // files, such as `gs://bucket/directory/*.json`. A request can
+ // contain at most 100 files, and each file can be up to 2 GB. See
+ // [Importing product
+ // information](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog)
+ // for the expected file format and setup instructions.
+ repeated string input_uris = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON
+ // [Product][google.cloud.retail.v2beta.Product] per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2beta.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent] per line.
+ // * `user_event_ga360`: Using
+ // https://support.google.com/analytics/answer/3437719.
+ //
+ // Supported values for control imports:
+ //
+ // * `control` (default): One JSON
+ // [Control][google.cloud.retail.v2beta.Control] per line.
+ //
+ // Supported values for catalog attribute imports:
+ //
+ // * `catalog_attribute` (default): One CSV
+ // [CatalogAttribute][google.cloud.retail.v2beta.CatalogAttribute] per line.
+ string data_schema = 2;
+}
+
+// BigQuery source import data from.
+message BigQuerySource {
+ // BigQuery table partition info. Leave this empty if the BigQuery table
+ // is not partitioned.
+ oneof partition {
+ // BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format.
+ //
+ // Only supported in
+ // [ImportProductsRequest][google.cloud.retail.v2beta.ImportProductsRequest].
+ google.type.Date partition_date = 6;
+ }
+
+ // The project ID (can be project # or ID) that the BigQuery source is in with
+ // a length limit of 128 characters. If not specified, inherits the project
+ // ID from the parent request.
+ string project_id = 5;
+
+ // Required. The BigQuery data set to copy the data from with a length limit
+ // of 1,024 characters.
+ string dataset_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The BigQuery table to copy the data from with a length limit of
+ // 1,024 characters.
+ string table_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Intermediate Cloud Storage directory used for the import with a length
+ // limit of 2,000 characters. Can be specified if one wants to have the
+ // BigQuery export to a specific Cloud Storage directory.
+ string gcs_staging_dir = 3;
+
+ // The schema to use when parsing the data from the source.
+ //
+ // Supported values for product imports:
+ //
+ // * `product` (default): One JSON
+ // [Product][google.cloud.retail.v2beta.Product] per line. Each product must
+ // have a valid [Product.id][google.cloud.retail.v2beta.Product.id].
+ // * `product_merchant_center`: See [Importing catalog data from Merchant
+ // Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc).
+ //
+ // Supported values for user events imports:
+ //
+ // * `user_event` (default): One JSON
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent] per line.
+ // * `user_event_ga360`:
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/3437719.
+ // * `user_event_ga4`:
+ // The schema is available here:
+ // https://support.google.com/analytics/answer/7029846.
+ //
+ // Supported values for auto-completion imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ string data_schema = 4;
+}
+
+// The inline source for the input config for ImportProducts method.
+message ProductInlineSource {
+ // Required. A list of products to update/create. Each product must have a
+ // valid [Product.id][google.cloud.retail.v2beta.Product.id]. Recommended max
+ // of 100 items.
+ repeated Product products = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The inline source for the input config for ImportUserEvents method.
+message UserEventInlineSource {
+ // Required. A list of user events to import. Recommended max of 10k items.
+ repeated UserEvent user_events = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Configuration of destination for Import related errors.
+message ImportErrorsConfig {
+ // Required. Errors destination.
+ oneof destination {
+ // Google Cloud Storage prefix for import errors. This must be an empty,
+ // existing Cloud Storage directory. Import errors are written to
+ // sharded files in this directory, one per line, as a JSON-encoded
+ // `google.rpc.Status` message.
+ string gcs_prefix = 1;
+ }
+}
+
+// Request message for Import methods.
+message ImportProductsRequest {
+ // Indicates how imported products are reconciled with the existing products
+ // created or imported before.
+ enum ReconciliationMode {
+ // Defaults to INCREMENTAL.
+ RECONCILIATION_MODE_UNSPECIFIED = 0;
+
+ // Inserts new products or updates existing products.
+ INCREMENTAL = 1;
+
+ // Calculates diff and replaces the entire product dataset. Existing
+ // products may be deleted if they are not present in the source location.
+ FULL = 2;
+ }
+
+ // Required.
+ // `projects/1234/locations/global/catalogs/default_catalog/branches/default_branch`
+ //
+ // If no updateMask is specified, requires products.create permission.
+ // If updateMask is specified, requires products.update permission.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Deprecated. This field has no effect.
+ string request_id = 6 [deprecated = true];
+
+ // Required. The desired input location of the data.
+ ProductInputConfig input_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import.
+ ImportErrorsConfig errors_config = 3;
+
+ // Indicates which fields in the provided imported `products` to update. If
+ // not set, all fields are updated.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mode of reconciliation between existing products and the products to be
+ // imported. Defaults to
+ // [ReconciliationMode.INCREMENTAL][google.cloud.retail.v2beta.ImportProductsRequest.ReconciliationMode.INCREMENTAL].
+ ReconciliationMode reconciliation_mode = 5;
+
+ // Full Pub/Sub topic name for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ //
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has
+ // to be within the same project as
+ // [ImportProductsRequest.parent][google.cloud.retail.v2beta.ImportProductsRequest.parent].
+ // Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the
+ // `pubsub.topics.publish` IAM permission on the topic.
+ string notification_pubsub_topic = 7;
+}
+
+// Request message for the ImportUserEvents request.
+message ImportUserEventsRequest {
+ // Required. `projects/1234/locations/global/catalogs/default_catalog`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ UserEventInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // The desired location of errors incurred during the Import. Cannot be set
+ // for inline user event imports.
+ ImportErrorsConfig errors_config = 3;
+}
+
+// Request message for ImportCompletionData methods.
+message ImportCompletionDataRequest {
+ // Required. The catalog which the suggestions dataset belongs to.
+ //
+ // Format: `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The desired input location of the data.
+ CompletionDataInputConfig input_config = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 3;
+}
+
+// The input config source for products.
+message ProductInputConfig {
+ // Required. The source of the input.
+ oneof source {
+ // The Inline source for the input content for products.
+ ProductInlineSource product_inline_source = 1;
+
+ // Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2;
+
+ // BigQuery input source.
+ BigQuerySource big_query_source = 3;
+ }
+}
+
+// The input config source for user events.
+message UserEventInputConfig {
+ // The source of the input.
+ oneof source {
+ // Required. The Inline source for the input content for UserEvents.
+ UserEventInlineSource user_event_inline_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Google Cloud Storage location for the input content.
+ GcsSource gcs_source = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. BigQuery input source.
+ BigQuerySource big_query_source = 3
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// The input config source for completion data.
+message CompletionDataInputConfig {
+ // The source of the input.
+ //
+ // Supported
+ // [BigQuerySource.data_schema][google.cloud.retail.v2beta.BigQuerySource.data_schema]
+ // values for suggestions imports:
+ //
+ // * `suggestions` (default): One JSON completion suggestion per line.
+ // * `denylist`: One JSON deny suggestion per line.
+ // * `allowlist`: One JSON allow suggestion per line.
+ oneof source {
+ // Required. BigQuery input source.
+ //
+ // Add the IAM permission "BigQuery Data Viewer" for
+ // cloud-retail-customer-data-access@system.gserviceaccount.com before
+ // using this feature otherwise an error is thrown.
+ BigQuerySource big_query_source = 1
+ [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// Metadata related to the progress of the Import operation. This is
+// returned by the google.longrunning.Operation.metadata field.
+message ImportMetadata {
+ // Operation create time.
+ google.protobuf.Timestamp create_time = 1;
+
+ // Operation last update time. If the operation is done, this is also the
+ // finish time.
+ google.protobuf.Timestamp update_time = 2;
+
+ // Count of entries that were processed successfully.
+ int64 success_count = 3;
+
+ // Count of entries that encountered errors while processing.
+ int64 failure_count = 4;
+
+ // Deprecated. This field is never set.
+ string request_id = 5 [deprecated = true];
+
+ // Pub/Sub topic for receiving notification. If this field is set,
+ // when the import is finished, a notification is sent to
+ // specified Pub/Sub topic. The message data is JSON string of a
+ // [Operation][google.longrunning.Operation].
+ // Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`.
+ string notification_pubsub_topic = 6;
+}
+
+// Response of the
+// [ImportProductsRequest][google.cloud.retail.v2beta.ImportProductsRequest]. If
+// the long running operation is done, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportProductsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors in the request if set.
+ ImportErrorsConfig errors_config = 2;
+}
+
+// Response of the ImportUserEventsRequest. If the long running
+// operation was successful, then this message is returned by the
+// google.longrunning.Operations.response field if the operation was successful.
+message ImportUserEventsResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+
+ // Echoes the destination for the complete errors if this field was set in
+ // the request.
+ ImportErrorsConfig errors_config = 2;
+
+ // Aggregated statistics of user event import status.
+ UserEventImportSummary import_summary = 3;
+}
+
+// A summary of import result. The UserEventImportSummary summarizes
+// the import status for user events.
+message UserEventImportSummary {
+ // Count of user events imported with complete existing catalog information.
+ int64 joined_events_count = 1;
+
+ // Count of user events imported, but with catalog information not found
+ // in the imported catalog.
+ int64 unjoined_events_count = 2;
+}
+
+// Response of the
+// [ImportCompletionDataRequest][google.cloud.retail.v2beta.ImportCompletionDataRequest].
+// If the long running operation is done, this message is returned by the
+// google.longrunning.Operations.response field if the operation is successful.
+message ImportCompletionDataResponse {
+ // A sample of errors encountered while processing the request.
+ repeated google.rpc.Status error_samples = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model.proto
new file mode 100644
index 00000000000..ea4bd30c6c9
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model.proto
@@ -0,0 +1,238 @@
+// 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.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ModelProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Metadata that describes the training and serving parameters of a
+// [Model][google.cloud.retail.v2beta.Model]. A
+// [Model][google.cloud.retail.v2beta.Model] can be associated with a
+// [ServingConfig][google.cloud.retail.v2beta.ServingConfig] and then queried
+// through the Predict API.
+message Model {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Model"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/models/{model}"
+ };
+
+ // Represents an ordered combination of valid serving configs, which
+ // can be used for `PAGE_OPTIMIZATION` recommendations.
+ message ServingConfigList {
+ // Optional. A set of valid serving configs that may be used for
+ // `PAGE_OPTIMIZATION`.
+ repeated string serving_config_ids = 1
+ [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The serving state of the model.
+ enum ServingState {
+ // Unspecified serving state.
+ SERVING_STATE_UNSPECIFIED = 0;
+
+ // The model is not serving.
+ INACTIVE = 1;
+
+ // The model is serving and can be queried.
+ ACTIVE = 2;
+
+ // The model is trained on tuned hyperparameters and can be
+ // queried.
+ TUNED = 3;
+ }
+
+ // The training state of the model.
+ enum TrainingState {
+ // Unspecified training state.
+ TRAINING_STATE_UNSPECIFIED = 0;
+
+ // The model training is paused.
+ PAUSED = 1;
+
+ // The model is training.
+ TRAINING = 2;
+ }
+
+ // Describes whether periodic tuning is enabled for this model
+ // or not. Periodic tuning is scheduled at most every three months. You can
+ // start a tuning process manually by using the `TuneModel`
+ // method, which starts a tuning process immediately and resets the quarterly
+ // schedule. Enabling or disabling periodic tuning does not affect any
+ // current tuning processes.
+ enum PeriodicTuningState {
+ // Unspecified default value, should never be explicitly set.
+ PERIODIC_TUNING_STATE_UNSPECIFIED = 0;
+
+ // The model has periodic tuning disabled. Tuning
+ // can be reenabled by calling the `EnableModelPeriodicTuning`
+ // method or by calling the `TuneModel` method.
+ PERIODIC_TUNING_DISABLED = 1;
+
+ // The model cannot be tuned with periodic tuning OR the
+ // `TuneModel` method. Hide the options in customer UI and
+ // reject any requests through the backend self serve API.
+ ALL_TUNING_DISABLED = 3;
+
+ // The model has periodic tuning enabled. Tuning
+ // can be disabled by calling the `DisableModelPeriodicTuning`
+ // method.
+ PERIODIC_TUNING_ENABLED = 2;
+ }
+
+ // Describes whether this model have sufficient training data
+ // to be continuously trained.
+ enum DataState {
+ // Unspecified default value, should never be explicitly set.
+ DATA_STATE_UNSPECIFIED = 0;
+
+ // The model has sufficient training data.
+ DATA_OK = 1;
+
+ // The model does not have sufficient training data. Error
+ // messages can be queried via Stackdriver.
+ DATA_ERROR = 2;
+ }
+
+ // Required. The fully qualified resource name of the model.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ // catalog_id has char limit of 50.
+ // recommendation_model_id has char limit of 40.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The display name of the model.
+ //
+ // Should be human readable, used to display Recommendation Models in the
+ // Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024
+ // characters.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The training state that the model is in (e.g.
+ // `TRAINING` or `PAUSED`).
+ //
+ // Since part of the cost of running the service
+ // is frequency of training - this can be used to determine when to train
+ // model in order to control cost. If not specified: the default value for
+ // `CreateModel` method is `TRAINING`. The default value for
+ // `UpdateModel` method is to keep the state the same as before.
+ TrainingState training_state = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The serving state of the model: `ACTIVE`, `NOT_ACTIVE`.
+ ServingState serving_state = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp the Recommendation Model was created at.
+ google.protobuf.Timestamp create_time = 5
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp the Recommendation Model was last updated. E.g.
+ // if a Recommendation Model was paused - this would be the time the pause was
+ // initiated.
+ google.protobuf.Timestamp update_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The type of model e.g. `home-page`.
+ //
+ // Currently supported values: `recommended-for-you`, `others-you-may-like`,
+ // `frequently-bought-together`, `page-optimization`, `similar-items`,
+ // `buy-it-again`, and `recently-viewed`(readonly value).
+ //
+ // This field together with
+ // [optimization_objective][google.cloud.retail.v2beta.Model.optimization_objective]
+ // describe model metadata to use to control model training and serving.
+ // See https://cloud.google.com/retail/docs/models
+ // for more details on what the model metadata control and which combination
+ // of parameters are valid. For invalid combinations of parameters (e.g. type
+ // = `frequently-bought-together` and optimization_objective = `ctr`), you
+ // receive an error 400 if you try to create/update a recommendation with
+ // this set of knobs.
+ string type = 7 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The optimization objective e.g. `cvr`.
+ //
+ // Currently supported
+ // values: `ctr`, `cvr`, `revenue-per-order`.
+ //
+ // If not specified, we choose default based on model type.
+ // Default depends on type of recommendation:
+ //
+ // `recommended-for-you` => `ctr`
+ //
+ // `others-you-may-like` => `ctr`
+ //
+ // `frequently-bought-together` => `revenue_per_order`
+ //
+ // This field together with
+ // [optimization_objective][google.cloud.retail.v2beta.Model.type]
+ // describe model metadata to use to control model training and serving.
+ // See https://cloud.google.com/retail/docs/models
+ // for more details on what the model metadata control and which combination
+ // of parameters are valid. For invalid combinations of parameters (e.g. type
+ // = `frequently-bought-together` and optimization_objective = `ctr`), you
+ // receive an error 400 if you try to create/update a recommendation with
+ // this set of knobs.
+ string optimization_objective = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The state of periodic tuning.
+ //
+ // The period we use is 3 months - to do a
+ // one-off tune earlier use the `TuneModel` method. Default value
+ // is `PERIODIC_TUNING_ENABLED`.
+ PeriodicTuningState periodic_tuning_state = 11
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The timestamp when the latest successful tune finished.
+ google.protobuf.Timestamp last_tune_time = 12
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The tune operation associated with the model.
+ //
+ // Can be used to determine if there is an ongoing tune for this
+ // recommendation. Empty field implies no tune is goig on.
+ string tuning_operation = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The state of data requirements for this model: `DATA_OK` and
+ // `DATA_ERROR`.
+ //
+ // Recommendation model cannot be trained if the data is in
+ // `DATA_ERROR` state. Recommendation model can have `DATA_ERROR` state even
+ // if serving state is `ACTIVE`: models were trained successfully before, but
+ // cannot be refreshed because model no longer has sufficient
+ // data for training.
+ DataState data_state = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. If `RECOMMENDATIONS_FILTERING_ENABLED`, recommendation filtering
+ // by attributes is enabled for the model.
+ RecommendationsFilteringOption filtering_option = 18
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The list of valid serving configs associated with the
+ // PageOptimizationConfig.
+ repeated ServingConfigList serving_config_lists = 19
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model_service.proto
new file mode 100644
index 00000000000..3a9a3c5a360
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/model_service.proto
@@ -0,0 +1,244 @@
+// 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.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/model.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ModelServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for performing CRUD operations on models.
+// Recommendation models contain all the metadata necessary to generate a set of
+// models for the `Predict()` API. A model is queried
+// indirectly via a ServingConfig, which associates a model with a
+// given Placement (e.g. Frequently Bought Together on Home Page).
+//
+// This service allows you to do the following:
+//
+// * Initiate training of a model.
+// * Pause training of an existing model.
+// * List all the available models along with their metadata.
+// * Control their tuning schedule.
+service ModelService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a new model.
+ rpc CreateModel(CreateModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models"
+ body: "model"
+ };
+ option (google.api.method_signature) = "parent,model";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.Model"
+ metadata_type: "google.cloud.retail.v2beta.CreateModelMetadata"
+ };
+ }
+
+ // Pauses the training of an existing model.
+ rpc PauseModel(PauseModelRequest) returns (Model) {
+ option (google.api.http) = {
+ post: "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:pause"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Resumes the training of an existing model.
+ rpc ResumeModel(ResumeModelRequest) returns (Model) {
+ option (google.api.http) = {
+ post: "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:resume"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes an existing model.
+ rpc DeleteModel(DeleteModelRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all the models linked to this event store.
+ rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/models"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update of model metadata. Only fields that
+ // currently can be updated are: `filtering_option` and
+ // `periodic_tuning_state`.
+ // If other values are provided, this API method ignores them.
+ rpc UpdateModel(UpdateModelRequest) returns (Model) {
+ option (google.api.http) = {
+ patch: "/v2beta/{model.name=projects/*/locations/*/catalogs/*/models/*}"
+ body: "model"
+ };
+ option (google.api.method_signature) = "model,update_mask";
+ }
+
+ // Tunes an existing model.
+ rpc TuneModel(TuneModelRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{name=projects/*/locations/*/catalogs/*/models/*}:tune"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.TuneModelResponse"
+ metadata_type: "google.cloud.retail.v2beta.TuneModelMetadata"
+ };
+ }
+}
+
+// Request for creating a model.
+message CreateModelRequest {
+ // Required. The parent resource under which to create the model. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The payload of the [Model][google.cloud.retail.v2beta.Model] to
+ // create.
+ Model model = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Whether to run a dry run to validate the request (without
+ // actually creating the model).
+ bool dry_run = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for updating an existing model.
+message UpdateModelRequest {
+ // Required. The body of the updated
+ // [Model][google.cloud.retail.v2beta.Model].
+ Model model = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Indicates which fields in the provided 'model' to
+ // update. If not set, by default updates all fields.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for pausing training of a model.
+message PauseModelRequest {
+ // Required. The name of the model to pause.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Request for resuming training of a model.
+message ResumeModelRequest {
+ // Required. The name of the model to resume.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for listing models associated with a resource.
+message ListModelsRequest {
+ // Required. The parent for which to list models.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 50. Max allowed value is 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListModels`
+ // call. Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for deleting a model.
+message DeleteModelRequest {
+ // Required. The resource name of the
+ // [Model][google.cloud.retail.v2beta.Model] to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Response to a ListModelRequest.
+message ListModelsResponse {
+ // List of Models.
+ repeated Model models = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
+
+// Request to manually start a tuning process now (instead of waiting for
+// the periodically scheduled tuning to happen).
+message TuneModelRequest {
+ // Required. The resource name of the model to tune.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Model" }
+ ];
+}
+
+// Metadata associated with a create operation.
+message CreateModelMetadata {
+ // The resource name of the model that this create applies to.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string model = 1;
+}
+
+// Metadata associated with a tune operation.
+message TuneModelMetadata {
+ // The resource name of the model that this tune applies to.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id}`
+ string model = 1;
+}
+
+// Response associated with a tune operation.
+message TuneModelResponse {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/prediction_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/prediction_service.proto
new file mode 100644
index 00000000000..1ac3026d63f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/prediction_service.proto
@@ -0,0 +1,224 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/user_event.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PredictionServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for making recommendation prediction.
+service PredictionService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Makes a recommendation prediction.
+ rpc Predict(PredictRequest) returns (PredictResponse) {
+ option (google.api.http) = {
+ post: "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:predict"
+ body: "*"
+ additional_bindings {
+ post: "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:predict"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for Predict method.
+message PredictRequest {
+ // Required. Full resource name of the format:
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/servingConfigs/*}`
+ // or
+ // `{placement=projects/*/locations/global/catalogs/default_catalog/placements/*}`.
+ // We recommend using the `servingConfigs` resource. `placements` is a legacy
+ // resource.
+ // The ID of the Recommendations AI serving config or placement.
+ // Before you can request predictions from your model, you must create at
+ // least one serving config or placement for it. For more information, see
+ // [Managing serving configurations]
+ // (https://cloud.google.com/retail/docs/manage-configs).
+ //
+ // The full list of available serving configs can be seen at
+ // https://console.cloud.google.com/ai/retail/catalogs/default_catalog/configs
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Context about the user, what they are looking at and what action
+ // they took to trigger the predict request. Note that this user event detail
+ // won't be ingested to userEvent logs. Thus, a separate userEvent write
+ // request is required for event logging.
+ //
+ // Don't set
+ // [UserEvent.visitor_id][google.cloud.retail.v2beta.UserEvent.visitor_id] or
+ // [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id] to the same
+ // fixed ID for different users. If you are trying to receive non-personalized
+ // recommendations (not recommended; this can negatively impact model
+ // performance), instead set
+ // [UserEvent.visitor_id][google.cloud.retail.v2beta.UserEvent.visitor_id] to
+ // a random unique ID and leave
+ // [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id] unset.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum number of results to return. Set this property to the number of
+ // prediction results needed. If zero, the service will choose a reasonable
+ // default. The maximum allowed value is 100. Values above 100 will be coerced
+ // to 100.
+ int32 page_size = 3;
+
+ // This field is not used; leave it unset.
+ string page_token = 4 [deprecated = true];
+
+ // Filter for restricting prediction results with a length limit of 5,000
+ // characters. Accepts values for tags and the `filterOutOfStockItems` flag.
+ //
+ // * Tag expressions. Restricts predictions to products that match all of the
+ // specified tags. Boolean operators `OR` and `NOT` are supported if the
+ // expression is enclosed in parentheses, and must be separated from the
+ // tag values by a space. `-"tagA"` is also supported and is equivalent to
+ // `NOT "tagA"`. Tag values must be double quoted UTF-8 encoded strings
+ // with a size limit of 1,000 characters.
+ //
+ // Note: "Recently viewed" models don't support tag filtering at the
+ // moment.
+ //
+ // * filterOutOfStockItems. Restricts predictions to products that do not
+ // have a
+ // stockState value of OUT_OF_STOCK.
+ //
+ // Examples:
+ //
+ // * tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
+ // * filterOutOfStockItems tag=(-"promotional")
+ // * filterOutOfStockItems
+ //
+ // If your filter blocks all prediction results, the API will return generic
+ // (unfiltered) popular products. If you only want results strictly matching
+ // the filters, set `strictFiltering` to True in `PredictRequest.params` to
+ // receive empty results instead.
+ // Note that the API will never return items with storageStatus of "EXPIRED"
+ // or "DELETED" regardless of filter choices.
+ //
+ // If `filterSyntaxV2` is set to true under the `params` field, then
+ // attribute-based expressions are expected instead of the above described
+ // tag-based syntax. Examples:
+ //
+ // * (colors: ANY("Red", "Blue")) AND NOT (categories: ANY("Phones"))
+ // * (availability: ANY("IN_STOCK")) AND
+ // (colors: ANY("Red") OR categories: ANY("Phones"))
+ string filter = 5;
+
+ // Use validate only mode for this prediction query. If set to true, a
+ // dummy model will be used that returns arbitrary products.
+ // Note that the validate only mode should only be used for testing the API,
+ // or if the model is not ready.
+ bool validate_only = 6;
+
+ // Additional domain specific parameters for the predictions.
+ //
+ // Allowed values:
+ //
+ // * `returnProduct`: Boolean. If set to true, the associated product
+ // object will be returned in the `results.metadata` field in the
+ // prediction response.
+ // * `returnScore`: Boolean. If set to true, the prediction 'score'
+ // corresponding to each returned product will be set in the
+ // `results.metadata` field in the prediction response. The given
+ // 'score' indicates the probability of an product being clicked/purchased
+ // given the user's context and history.
+ // * `strictFiltering`: Boolean. True by default. If set to false, the service
+ // will return generic (unfiltered) popular products instead of empty if
+ // your filter blocks all prediction results.
+ // * `priceRerankLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-price-reranking', 'low-price-reranking',
+ // 'medium-price-reranking', 'high-price-reranking'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // price.
+ // * `diversityLevel`: String. Default empty. If set to be non-empty, then
+ // it needs to be one of {'no-diversity', 'low-diversity',
+ // 'medium-diversity', 'high-diversity', 'auto-diversity'}. This gives
+ // request-level control and adjusts prediction results based on product
+ // category.
+ // * `filterSyntaxV2`: Boolean. False by default. If set to true, the `filter`
+ // field is interpreteted according to the new, attribute-based syntax.
+ map params = 7;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 8;
+}
+
+// Response message for predict method.
+message PredictResponse {
+ // PredictionResult represents the recommendation prediction results.
+ message PredictionResult {
+ // ID of the recommended product
+ string id = 1;
+
+ // Additional product metadata / annotations.
+ //
+ // Possible values:
+ //
+ // * `product`: JSON representation of the product. Is set if
+ // `returnProduct` is set to true in `PredictRequest.params`.
+ // * `score`: Prediction score in double value. Is set if
+ // `returnScore` is set to true in `PredictRequest.params`.
+ map metadata = 2;
+ }
+
+ // A list of recommended products. The order represents the ranking (from the
+ // most relevant product to the least).
+ repeated PredictionResult results = 1;
+
+ // A unique attribution token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
+ // recommendation, which enables accurate attribution of recommendation model
+ // performance.
+ string attribution_token = 2;
+
+ // IDs of products in the request that were missing from the inventory.
+ repeated string missing_ids = 3;
+
+ // True if the validateOnly property was set in the request.
+ bool validate_only = 4;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product.proto
new file mode 100644
index 00000000000..8b10090136f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product.proto
@@ -0,0 +1,577 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/promotion.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+option (google.api.resource_definition) = {
+ type: "retail.googleapis.com/Branch"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}"
+};
+
+// Product captures all metadata information of items to be recommended or
+// searched.
+message Product {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/Product"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/branches/{branch}/products/{product}"
+ };
+
+ // The type of this product.
+ enum Type {
+ // Default value. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2beta.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ TYPE_UNSPECIFIED = 0;
+
+ // The primary type.
+ //
+ // As the primary unit for predicting, indexing and search serving, a
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product] is grouped with multiple
+ // [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s.
+ PRIMARY = 1;
+
+ // The variant type.
+ //
+ // [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s usually share some common
+ // attributes on the same
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]s, but they have variant
+ // attributes like different colors, sizes and prices, etc.
+ VARIANT = 2;
+
+ // The collection type. Collection products are bundled
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]s or
+ // [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s that are sold together,
+ // such as a jewelry set with necklaces, earrings and rings, etc.
+ COLLECTION = 3;
+ }
+
+ // Product availability. If this field is unspecified, the product is
+ // assumed to be in stock.
+ enum Availability {
+ // Default product availability. Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK]
+ // if unset.
+ AVAILABILITY_UNSPECIFIED = 0;
+
+ // Product in stock.
+ IN_STOCK = 1;
+
+ // Product out of stock.
+ OUT_OF_STOCK = 2;
+
+ // Product that is in pre-order state.
+ PREORDER = 3;
+
+ // Product that is back-ordered (i.e. temporarily out of stock).
+ BACKORDER = 4;
+ }
+
+ oneof expiration {
+ // The timestamp when this product becomes unavailable for
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ //
+ // If it is set, the [Product][google.cloud.retail.v2beta.Product] is not
+ // available for
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+ // after [expire_time][google.cloud.retail.v2beta.Product.expire_time].
+ // However, the product can still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // [expire_time][google.cloud.retail.v2beta.Product.expire_time] must be
+ // later than
+ // [available_time][google.cloud.retail.v2beta.Product.available_time] and
+ // [publish_time][google.cloud.retail.v2beta.Product.publish_time],
+ // otherwise an INVALID_ARGUMENT error is thrown.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [expiration_date](https://support.google.com/merchants/answer/6324499).
+ google.protobuf.Timestamp expire_time = 16;
+
+ // Input only. The TTL (time to live) of the product.
+ //
+ // If it is set, it must be a non-negative value, and
+ // [expire_time][google.cloud.retail.v2beta.Product.expire_time] is set as
+ // current timestamp plus [ttl][google.cloud.retail.v2beta.Product.ttl]. The
+ // derived [expire_time][google.cloud.retail.v2beta.Product.expire_time] is
+ // returned in the output and [ttl][google.cloud.retail.v2beta.Product.ttl]
+ // is left blank when retrieving the
+ // [Product][google.cloud.retail.v2beta.Product].
+ //
+ // If it is set, the product is not available for
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+ // after current timestamp plus
+ // [ttl][google.cloud.retail.v2beta.Product.ttl]. However, the product can
+ // still be retrieved by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // and
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ google.protobuf.Duration ttl = 17
+ [(google.api.field_behavior) = INPUT_ONLY];
+ }
+
+ // Immutable. Full resource name of the product, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/product_id`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. [Product][google.cloud.retail.v2beta.Product] identifier, which
+ // is the final component of [name][google.cloud.retail.v2beta.Product.name].
+ // For example, this field is "id_1", if
+ // [name][google.cloud.retail.v2beta.Product.name] is
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/id_1`.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [id](https://support.google.com/merchants/answer/6324405). Schema.org
+ // property [Product.sku](https://schema.org/sku).
+ string id = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. The type of the product. Default to
+ // [Catalog.product_level_config.ingestion_product_type][google.cloud.retail.v2beta.ProductLevelConfig.ingestion_product_type]
+ // if unset.
+ Type type = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Variant group identifier. Must be an
+ // [id][google.cloud.retail.v2beta.Product.id], with the same parent branch
+ // with this product. Otherwise, an error is thrown.
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]s, this field can only be
+ // empty or set to the same value as
+ // [id][google.cloud.retail.v2beta.Product.id].
+ //
+ // For VARIANT [Product][google.cloud.retail.v2beta.Product]s, this field
+ // cannot be empty. A maximum of 2,000 products are allowed to share the same
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [item_group_id](https://support.google.com/merchants/answer/6324507).
+ // Schema.org property
+ // [Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
+ string primary_product_id = 4;
+
+ // The [id][google.cloud.retail.v2beta.Product.id] of the collection members
+ // when [type][google.cloud.retail.v2beta.Product.type] is
+ // [Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION].
+ //
+ // Non-existent product ids are allowed.
+ // The [type][google.cloud.retail.v2beta.Product.type] of the members must be
+ // either [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] or
+ // [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT] otherwise
+ // an INVALID_ARGUMENT error is thrown. Should not set it for other types. A
+ // maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is
+ // return.
+ repeated string collection_member_ids = 5;
+
+ // The Global Trade Item Number (GTIN) of the product.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This field must be a Unigram. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [gtin](https://support.google.com/merchants/answer/6324461).
+ // Schema.org property
+ // [Product.isbn](https://schema.org/isbn),
+ // [Product.gtin8](https://schema.org/gtin8),
+ // [Product.gtin12](https://schema.org/gtin12),
+ // [Product.gtin13](https://schema.org/gtin13), or
+ // [Product.gtin14](https://schema.org/gtin14).
+ //
+ // If the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
+ string gtin = 6;
+
+ // Product categories. This field is repeated for supporting one product
+ // belonging to several parallel categories. Strongly recommended using the
+ // full path for better search / recommendation quality.
+ //
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, replace it with
+ // other character(s).
+ //
+ // For example, if a shoes product belongs to both
+ // ["Shoes & Accessories" -> "Shoes"] and
+ // ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be
+ // represented as:
+ //
+ // "categories": [
+ // "Shoes & Accessories > Shoes",
+ // "Sports & Fitness > Athletic Clothing > Shoes"
+ // ]
+ //
+ // Must be set for
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product] otherwise an INVALID_ARGUMENT
+ // error is returned.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2beta.Product]. Empty values are not
+ // allowed. Each value must be a UTF-8 encoded string with a length limit of
+ // 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [google_product_category][mc_google_product_category]. Schema.org property
+ // [Product.category] (https://schema.org/category).
+ //
+ // [mc_google_product_category]:
+ // https://support.google.com/merchants/answer/6324436
+ repeated string categories = 7;
+
+ // Required. Product title.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [title](https://support.google.com/merchants/answer/6324415). Schema.org
+ // property [Product.name](https://schema.org/name).
+ string title = 8 [(google.api.field_behavior) = REQUIRED];
+
+ // The brands of the product.
+ //
+ // A maximum of 30 brands are allowed. Each brand must be a UTF-8 encoded
+ // string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [brand](https://support.google.com/merchants/answer/6324351). Schema.org
+ // property [Product.brand](https://schema.org/brand).
+ repeated string brands = 9;
+
+ // Product description.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [description](https://support.google.com/merchants/answer/6324468).
+ // Schema.org property [Product.description](https://schema.org/description).
+ string description = 10;
+
+ // Language of the title/description and other string attributes. Use language
+ // tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).
+ //
+ // For product prediction, this field is ignored and the model automatically
+ // detects the text language. The
+ // [Product][google.cloud.retail.v2beta.Product] can include text in different
+ // languages, but duplicating [Product][google.cloud.retail.v2beta.Product]s
+ // to provide text in multiple languages can result in degraded model
+ // performance.
+ //
+ // For product search this field is in use. It defaults to "en-US" if unset.
+ string language_code = 11;
+
+ // Highly encouraged. Extra product attributes to be included. For example,
+ // for products, this could include the store name, vendor, style, color, etc.
+ // These are very strong signals for recommendation model, thus we highly
+ // recommend providing the attributes here.
+ //
+ // Features that can take on one of a limited number of possible values. Two
+ // types of features can be set are:
+ //
+ // Textual features. some examples would be the brand/maker of a product, or
+ // country of a customer. Numerical features. Some examples would be the
+ // height/weight of a product, or age of a customer.
+ //
+ // For example: `{ "vendor": {"text": ["vendor123", "vendor456"]},
+ // "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]}
+ // }`.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * Max entries count: 200.
+ // * The key must be a UTF-8 encoded string with a length limit of 128
+ // characters.
+ // * For indexable attribute, the key must match the pattern:
+ // `[a-zA-Z0-9][a-zA-Z0-9_]*`. For example, `key0LikeThis` or
+ // `KEY_1_LIKE_THIS`.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a non-empty UTF-8 encoded string with a
+ // length limit of 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ map attributes = 12;
+
+ // Custom tags associated with the product.
+ //
+ // At most 250 values are allowed per
+ // [Product][google.cloud.retail.v2beta.Product]. This value must be a UTF-8
+ // encoded string with a length limit of 1,000 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This tag can be used for filtering recommendation results by passing the
+ // tag as part of the
+ // [PredictRequest.filter][google.cloud.retail.v2beta.PredictRequest.filter].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [custom_label_0–4](https://support.google.com/merchants/answer/6324473).
+ repeated string tags = 13;
+
+ // Product price and cost information.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [price](https://support.google.com/merchants/answer/6324371).
+ PriceInfo price_info = 14;
+
+ // The rating of this product.
+ Rating rating = 15;
+
+ // The timestamp when this [Product][google.cloud.retail.v2beta.Product]
+ // becomes available for
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ google.protobuf.Timestamp available_time = 18;
+
+ // The online availability of the
+ // [Product][google.cloud.retail.v2beta.Product]. Default to
+ // [Availability.IN_STOCK][google.cloud.retail.v2beta.Product.Availability.IN_STOCK].
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [availability](https://support.google.com/merchants/answer/6324448).
+ // Schema.org property [Offer.availability](https://schema.org/availability).
+ Availability availability = 19;
+
+ // The available quantity of the item.
+ google.protobuf.Int32Value available_quantity = 20;
+
+ // Fulfillment information, such as the store IDs for in-store pickup or
+ // region IDs for different shipping methods.
+ //
+ // All the elements must have distinct
+ // [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type].
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated FulfillmentInfo fulfillment_info = 21;
+
+ // Canonical URL directly linking to the product detail page.
+ //
+ // It is strongly recommended to provide a valid uri for the product,
+ // otherwise the service performance could be significantly degraded.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [link](https://support.google.com/merchants/answer/6324416). Schema.org
+ // property [Offer.url](https://schema.org/url).
+ string uri = 22;
+
+ // Product images for the product. We highly recommend putting the main
+ // image first.
+ //
+ // A maximum of 300 images are allowed.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [image_link](https://support.google.com/merchants/answer/6324350).
+ // Schema.org property [Product.image](https://schema.org/image).
+ repeated Image images = 23;
+
+ // The target group associated with a given audience (e.g. male, veterans,
+ // car owners, musicians, etc.) of the product.
+ Audience audience = 24;
+
+ // The color of the product.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [color](https://support.google.com/merchants/answer/6324487). Schema.org
+ // property [Product.color](https://schema.org/color).
+ ColorInfo color_info = 25;
+
+ // The size of the product. To represent different size systems or size types,
+ // consider using this format: [[[size_system:]size_type:]size_value].
+ //
+ // For example, in "US:MENS:M", "US" represents size system; "MENS" represents
+ // size type; "M" represents size value. In "GIRLS:27", size system is empty;
+ // "GIRLS" represents size type; "27" represents size value. In "32 inches",
+ // both size system and size type are empty, while size value is "32 inches".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2beta.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [size](https://support.google.com/merchants/answer/6324492),
+ // [size_type](https://support.google.com/merchants/answer/6324497), and
+ // [size_system](https://support.google.com/merchants/answer/6324502).
+ // Schema.org property [Product.size](https://schema.org/size).
+ repeated string sizes = 26;
+
+ // The material of the product. For example, "leather", "wooden".
+ //
+ // A maximum of 20 values are allowed. Each value must be a UTF-8 encoded
+ // string with a length limit of 200 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [material](https://support.google.com/merchants/answer/6324410). Schema.org
+ // property [Product.material](https://schema.org/material).
+ repeated string materials = 27;
+
+ // The pattern or graphic print of the product. For example, "striped", "polka
+ // dot", "paisley".
+ //
+ // A maximum of 20 values are allowed per
+ // [Product][google.cloud.retail.v2beta.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [pattern](https://support.google.com/merchants/answer/6324483). Schema.org
+ // property [Product.pattern](https://schema.org/pattern).
+ repeated string patterns = 28;
+
+ // The condition of the product. Strongly encouraged to use the standard
+ // values: "new", "refurbished", "used".
+ //
+ // A maximum of 1 value is allowed per
+ // [Product][google.cloud.retail.v2beta.Product]. Each value must be a UTF-8
+ // encoded string with a length limit of 128 characters. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // Corresponding properties: Google Merchant Center property
+ // [condition](https://support.google.com/merchants/answer/6324469).
+ // Schema.org property
+ // [Offer.itemCondition](https://schema.org/itemCondition).
+ repeated string conditions = 29;
+
+ // The promotions applied to the product. A maximum of 10 values are allowed
+ // per [Product][google.cloud.retail.v2beta.Product]. Only
+ // [Promotion.promotion_id][google.cloud.retail.v2beta.Promotion.promotion_id]
+ // will be used, other fields will be ignored if set.
+ repeated Promotion promotions = 34;
+
+ // The timestamp when the product is published by the retailer for the first
+ // time, which indicates the freshness of the products. Note that this field
+ // is different from
+ // [available_time][google.cloud.retail.v2beta.Product.available_time], given
+ // it purely describes product freshness regardless of when it is available on
+ // search and recommendation.
+ google.protobuf.Timestamp publish_time = 33;
+
+ // Indicates which fields in the
+ // [Product][google.cloud.retail.v2beta.Product]s are returned in
+ // [SearchResponse][google.cloud.retail.v2beta.SearchResponse].
+ //
+ // Supported fields for all [type][google.cloud.retail.v2beta.Product.type]s:
+ //
+ // * [audience][google.cloud.retail.v2beta.Product.audience]
+ // * [availability][google.cloud.retail.v2beta.Product.availability]
+ // * [brands][google.cloud.retail.v2beta.Product.brands]
+ // * [color_info][google.cloud.retail.v2beta.Product.color_info]
+ // * [conditions][google.cloud.retail.v2beta.Product.conditions]
+ // * [gtin][google.cloud.retail.v2beta.Product.gtin]
+ // * [materials][google.cloud.retail.v2beta.Product.materials]
+ // * [name][google.cloud.retail.v2beta.Product.name]
+ // * [patterns][google.cloud.retail.v2beta.Product.patterns]
+ // * [price_info][google.cloud.retail.v2beta.Product.price_info]
+ // * [rating][google.cloud.retail.v2beta.Product.rating]
+ // * [sizes][google.cloud.retail.v2beta.Product.sizes]
+ // * [title][google.cloud.retail.v2beta.Product.title]
+ // * [uri][google.cloud.retail.v2beta.Product.uri]
+ //
+ // Supported fields only for
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION]:
+ //
+ // * [categories][google.cloud.retail.v2beta.Product.categories]
+ // * [description][google.cloud.retail.v2beta.Product.description]
+ // * [images][google.cloud.retail.v2beta.Product.images]
+ //
+ // Supported fields only for
+ // [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]:
+ //
+ // * Only the first image in
+ // [images][google.cloud.retail.v2beta.Product.images]
+ //
+ // To mark [attributes][google.cloud.retail.v2beta.Product.attributes] as
+ // retrievable, include paths of the form "attributes.key" where "key" is the
+ // key of a custom attribute, as specified in
+ // [attributes][google.cloud.retail.v2beta.Product.attributes].
+ //
+ // For [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY] and
+ // [Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION], the
+ // following fields are always returned in
+ // [SearchResponse][google.cloud.retail.v2beta.SearchResponse] by default:
+ //
+ // * [name][google.cloud.retail.v2beta.Product.name]
+ //
+ // For [Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT], the
+ // following fields are always returned in by default:
+ //
+ // * [name][google.cloud.retail.v2beta.Product.name]
+ // * [color_info][google.cloud.retail.v2beta.Product.color_info]
+ //
+ // The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Note: Returning more fields in
+ // [SearchResponse][google.cloud.retail.v2beta.SearchResponse] can increase
+ // response payload size and serving latency.
+ google.protobuf.FieldMask retrievable_fields = 30;
+
+ // Output only. Product variants grouped together on primary product which
+ // share similar product attributes. It's automatically grouped by
+ // [primary_product_id][google.cloud.retail.v2beta.Product.primary_product_id]
+ // for all the product variants. Only populated for
+ // [Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]s.
+ //
+ // Note: This field is OUTPUT_ONLY for
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct].
+ // Do not set this field in API requests.
+ repeated Product variants = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of local inventories specific to different places.
+ //
+ // This is only available for users who have Retail Search enabled, and it can
+ // be managed by
+ // [ProductService.AddLocalInventories][google.cloud.retail.v2beta.ProductService.AddLocalInventories]
+ // and
+ // [ProductService.RemoveLocalInventories][google.cloud.retail.v2beta.ProductService.RemoveLocalInventories]
+ // APIs.
+ repeated LocalInventory local_inventories = 35
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product_service.proto
new file mode 100644
index 00000000000..0c09943324d
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/product_service.proto
@@ -0,0 +1,924 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/import_config.proto";
+import "google/cloud/retail/v2beta/product.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ProductServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for ingesting [Product][google.cloud.retail.v2beta.Product]
+// information of the customer's website.
+service ProductService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a [Product][google.cloud.retail.v2beta.Product].
+ rpc CreateProduct(CreateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ body: "product"
+ };
+ option (google.api.method_signature) = "parent,product,product_id";
+ }
+
+ // Gets a [Product][google.cloud.retail.v2beta.Product].
+ rpc GetProduct(GetProductRequest) returns (Product) {
+ option (google.api.http) = {
+ get: "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a list of [Product][google.cloud.retail.v2beta.Product]s.
+ rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates a [Product][google.cloud.retail.v2beta.Product].
+ rpc UpdateProduct(UpdateProductRequest) returns (Product) {
+ option (google.api.http) = {
+ patch: "/v2beta/{product.name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ body: "product"
+ };
+ option (google.api.method_signature) = "product,update_mask";
+ }
+
+ // Deletes a [Product][google.cloud.retail.v2beta.Product].
+ rpc DeleteProduct(DeleteProductRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2beta/{name=projects/*/locations/*/catalogs/*/branches/*/products/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Bulk import of multiple [Product][google.cloud.retail.v2beta.Product]s.
+ //
+ // Request processing may be synchronous.
+ // Non-existing items are created.
+ //
+ // Note that it is possible for a subset of the
+ // [Product][google.cloud.retail.v2beta.Product]s to be successfully updated.
+ rpc ImportProducts(ImportProductsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*/branches/*}/products:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.ImportProductsResponse"
+ metadata_type: "google.cloud.retail.v2beta.ImportMetadata"
+ };
+ }
+
+ // Updates inventory information for a
+ // [Product][google.cloud.retail.v2beta.Product] while respecting the last
+ // update timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2beta.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update is enqueued
+ // and processed downstream. As a consequence, when a response is returned,
+ // updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2beta.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // When inventory is updated with
+ // [ProductService.CreateProduct][google.cloud.retail.v2beta.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct],
+ // the specified inventory field value(s) overwrite any existing value(s)
+ // while ignoring the last update time for this field. Furthermore, the last
+ // update times for the specified inventory fields are overwritten by the
+ // times of the
+ // [ProductService.CreateProduct][google.cloud.retail.v2beta.ProductService.CreateProduct]
+ // or
+ // [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct]
+ // request.
+ //
+ // If no inventory fields are set in
+ // [CreateProductRequest.product][google.cloud.retail.v2beta.CreateProductRequest.product],
+ // then any pre-existing inventory information for this product is used.
+ //
+ // If no inventory fields are set in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2beta.SetInventoryRequest.set_mask],
+ // then any existing inventory information is preserved.
+ //
+ // Pre-existing inventory information can only be updated with
+ // [ProductService.SetInventory][google.cloud.retail.v2beta.ProductService.SetInventory],
+ // [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.AddFulfillmentPlaces],
+ // and
+ // [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.RemoveFulfillmentPlaces].
+ //
+ // The returned [Operation][google.longrunning.Operation]s is obsolete after
+ // one day, and the [GetOperation][google.longrunning.Operations.GetOperation]
+ // API returns `NOT_FOUND` afterwards.
+ //
+ // If conflicting updates are issued, the
+ // [Operation][google.longrunning.Operation]s associated with the stale
+ // updates are not marked as [done][google.longrunning.Operation.done] until
+ // they are obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc SetInventory(SetInventoryRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{inventory.name=projects/*/locations/*/catalogs/*/branches/*/products/**}:setInventory"
+ body: "*"
+ };
+ option (google.api.method_signature) = "inventory,set_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.SetInventoryResponse"
+ metadata_type: "google.cloud.retail.v2beta.SetInventoryMetadata"
+ };
+ }
+
+ // Incrementally adds place IDs to
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2beta.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the added place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2beta.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // The returned [Operation][google.longrunning.Operation]s will be obsolete
+ // after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation]
+ // API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the
+ // [Operation][google.longrunning.Operation]s associated with the stale
+ // updates will not be marked as [done][google.longrunning.Operation.done]
+ // until being obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc AddFulfillmentPlaces(AddFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.AddFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Incrementally removes place IDs from a
+ // [Product.fulfillment_info.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids].
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2beta.Product] to exist before updating
+ // fulfillment information. If the request is valid, the update will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, the removed place IDs are not immediately manifested in the
+ // [Product][google.cloud.retail.v2beta.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // The returned [Operation][google.longrunning.Operation]s will be obsolete
+ // after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation]
+ // API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the
+ // [Operation][google.longrunning.Operation]s associated with the stale
+ // updates will not be marked as [done][google.longrunning.Operation.done]
+ // until being obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveFulfillmentPlaces(RemoveFulfillmentPlacesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeFulfillmentPlaces"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse"
+ metadata_type: "google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata"
+ };
+ }
+
+ // Updates local inventory information for a
+ // [Product][google.cloud.retail.v2beta.Product] at a list of places, while
+ // respecting the last update timestamps of each inventory field.
+ //
+ // This process is asynchronous and does not require the
+ // [Product][google.cloud.retail.v2beta.Product] to exist before updating
+ // inventory information. If the request is valid, the update will be enqueued
+ // and processed downstream. As a consequence, when a response is returned,
+ // updates are not immediately manifested in the
+ // [Product][google.cloud.retail.v2beta.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // Local inventory information can only be modified using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2beta.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // The returned [Operation][google.longrunning.Operation]s will be obsolete
+ // after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation]
+ // API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the
+ // [Operation][google.longrunning.Operation]s associated with the stale
+ // updates will not be marked as [done][google.longrunning.Operation.done]
+ // until being obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc AddLocalInventories(AddLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:addLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.AddLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2beta.AddLocalInventoriesMetadata"
+ };
+ }
+
+ // Remove local inventory information for a
+ // [Product][google.cloud.retail.v2beta.Product] at a list of places at a
+ // removal timestamp.
+ //
+ // This process is asynchronous. If the request is valid, the removal will be
+ // enqueued and processed downstream. As a consequence, when a response is
+ // returned, removals are not immediately manifested in the
+ // [Product][google.cloud.retail.v2beta.Product] queried by
+ // [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+ // or
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts].
+ //
+ // Local inventory information can only be removed using this method.
+ // [ProductService.CreateProduct][google.cloud.retail.v2beta.ProductService.CreateProduct]
+ // and
+ // [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct]
+ // has no effect on local inventories.
+ //
+ // The returned [Operation][google.longrunning.Operation]s will be obsolete
+ // after 1 day, and [GetOperation][google.longrunning.Operations.GetOperation]
+ // API will return NOT_FOUND afterwards.
+ //
+ // If conflicting updates are issued, the
+ // [Operation][google.longrunning.Operation]s associated with the stale
+ // updates will not be marked as [done][google.longrunning.Operation.done]
+ // until being obsolete.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc RemoveLocalInventories(RemoveLocalInventoriesRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{product=projects/*/locations/*/catalogs/*/branches/*/products/**}:removeLocalInventories"
+ body: "*"
+ };
+ option (google.api.method_signature) = "product";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.RemoveLocalInventoriesResponse"
+ metadata_type: "google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata"
+ };
+ }
+}
+
+// Request message for
+// [ProductService.CreateProduct][google.cloud.retail.v2beta.ProductService.CreateProduct]
+// method.
+message CreateProductRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Required. The [Product][google.cloud.retail.v2beta.Product] to create.
+ Product product = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the
+ // [Product][google.cloud.retail.v2beta.Product], which will become the final
+ // component of the [Product.name][google.cloud.retail.v2beta.Product.name].
+ //
+ // If the caller does not have permission to create the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ //
+ // This field must be unique among all
+ // [Product][google.cloud.retail.v2beta.Product]s with the same
+ // [parent][google.cloud.retail.v2beta.CreateProductRequest.parent].
+ // Otherwise, an ALREADY_EXISTS error is returned.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string product_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for
+// [ProductService.GetProduct][google.cloud.retail.v2beta.ProductService.GetProduct]
+// method.
+message GetProductRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the requested [Product][google.cloud.retail.v2beta.Product] does not
+ // exist, a NOT_FOUND error is returned.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct]
+// method.
+message UpdateProductRequest {
+ // Required. The product to update/create.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2beta.Product] to update does not
+ // exist and
+ // [allow_missing][google.cloud.retail.v2beta.UpdateProductRequest.allow_missing]
+ // is not set, a NOT_FOUND error is returned.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [Product][google.cloud.retail.v2beta.Product] to update. The immutable and
+ // output only fields are NOT supported. If not set, all supported fields (the
+ // fields that are neither immutable nor output only) are updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // The attribute key can be updated by setting the mask path as
+ // "attributes.${key_name}". If a key name is present in the mask but not in
+ // the patching product from the request, this key will be deleted after the
+ // update.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] is
+ // not found, a new [Product][google.cloud.retail.v2beta.Product] will be
+ // created. In this situation, `update_mask` is ignored.
+ bool allow_missing = 3;
+}
+
+// Request message for
+// [ProductService.DeleteProduct][google.cloud.retail.v2beta.ProductService.DeleteProduct]
+// method.
+message DeleteProductRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to delete the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2beta.Product] to delete does not
+ // exist, a NOT_FOUND error is returned.
+ //
+ // The [Product][google.cloud.retail.v2beta.Product] to delete can neither be
+ // a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2beta.Product] member nor a
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product] with more than one
+ // [variants][google.cloud.retail.v2beta.Product.Type.VARIANT]. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // All inventory information for the named
+ // [Product][google.cloud.retail.v2beta.Product] will be deleted.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+}
+
+// Request message for
+// [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts]
+// method.
+message ListProductsRequest {
+ // Required. The parent branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`. Use
+ // `default_branch` as the branch ID, to list products under the default
+ // branch.
+ //
+ // If the caller does not have permission to list
+ // [Product][google.cloud.retail.v2beta.Product]s under this branch,
+ // regardless of whether or not this branch exists, a PERMISSION_DENIED error
+ // is returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Maximum number of [Product][google.cloud.retail.v2beta.Product]s to return.
+ // If unspecified, defaults to 100. The maximum allowed value is 1000. Values
+ // above 1000 will be coerced to 1000.
+ //
+ // If this field is negative, an INVALID_ARGUMENT error is returned.
+ int32 page_size = 2;
+
+ // A page token
+ // [ListProductsResponse.next_page_token][google.cloud.retail.v2beta.ListProductsResponse.next_page_token],
+ // received from a previous
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 3;
+
+ // A filter to apply on the list results. Supported features:
+ //
+ // * List all the products under the parent branch if
+ // [filter][google.cloud.retail.v2beta.ListProductsRequest.filter] is unset.
+ // * List
+ // [Product.Type.VARIANT][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s sharing the same
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product]. For example:
+ // `primary_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2beta.Product]s bundled in a
+ // [Product.Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2beta.Product].
+ // For example:
+ // `collection_product_id = "some_product_id"`
+ // * List [Product][google.cloud.retail.v2beta.Product]s with a partibular
+ // type. For example:
+ // `type = "PRIMARY"`
+ // `type = "VARIANT"`
+ // `type = "COLLECTION"`
+ //
+ // If the field is unrecognizable, an INVALID_ARGUMENT error is returned.
+ //
+ // If the specified
+ // [Product.Type.PRIMARY][google.cloud.retail.v2beta.Product.Type.PRIMARY]
+ // [Product][google.cloud.retail.v2beta.Product] or
+ // [Product.Type.COLLECTION][google.cloud.retail.v2beta.Product.Type.COLLECTION]
+ // [Product][google.cloud.retail.v2beta.Product] does not exist, a NOT_FOUND
+ // error is returned.
+ string filter = 4;
+
+ // The fields of [Product][google.cloud.retail.v2beta.Product] to return in
+ // the responses. If not set or empty, the following fields are returned:
+ //
+ // * [Product.name][google.cloud.retail.v2beta.Product.name]
+ // * [Product.id][google.cloud.retail.v2beta.Product.id]
+ // * [Product.title][google.cloud.retail.v2beta.Product.title]
+ // * [Product.uri][google.cloud.retail.v2beta.Product.uri]
+ // * [Product.images][google.cloud.retail.v2beta.Product.images]
+ // * [Product.price_info][google.cloud.retail.v2beta.Product.price_info]
+ // * [Product.brands][google.cloud.retail.v2beta.Product.brands]
+ //
+ // If "*" is provided, all fields are returned.
+ // [Product.name][google.cloud.retail.v2beta.Product.name] is always returned
+ // no matter what mask is set.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned.
+ google.protobuf.FieldMask read_mask = 5;
+}
+
+// Response message for
+// [ProductService.ListProducts][google.cloud.retail.v2beta.ProductService.ListProducts]
+// method.
+message ListProductsResponse {
+ // The [Product][google.cloud.retail.v2beta.Product]s.
+ repeated Product products = 1;
+
+ // A token that can be sent as
+ // [ListProductsRequest.page_token][google.cloud.retail.v2beta.ListProductsRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request message for
+// [ProductService.SetInventory][google.cloud.retail.v2beta.ProductService.SetInventory]
+// method.
+message SetInventoryRequest {
+ // Required. The inventory information to update. The allowable fields to
+ // update are:
+ //
+ // * [Product.price_info][google.cloud.retail.v2beta.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2beta.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2beta.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2beta.Product.fulfillment_info]
+ // The updated inventory fields must be specified in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2beta.SetInventoryRequest.set_mask].
+ //
+ // If
+ // [SetInventoryRequest.inventory.name][google.cloud.retail.v2beta.Product.name]
+ // is empty or invalid, an INVALID_ARGUMENT error is returned.
+ //
+ // If the caller does not have permission to update the
+ // [Product][google.cloud.retail.v2beta.Product] named in
+ // [Product.name][google.cloud.retail.v2beta.Product.name], regardless of
+ // whether or not it exists, a PERMISSION_DENIED error is returned.
+ //
+ // If the [Product][google.cloud.retail.v2beta.Product] to update does not
+ // have existing inventory information, the provided inventory information
+ // will be inserted.
+ //
+ // If the [Product][google.cloud.retail.v2beta.Product] to update has existing
+ // inventory information, the provided inventory information will be merged
+ // while respecting the last update time for each inventory field, using the
+ // provided or default value for
+ // [SetInventoryRequest.set_time][google.cloud.retail.v2beta.SetInventoryRequest.set_time].
+ //
+ // The caller can replace place IDs for a subset of fulfillment types in the
+ // following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2beta.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types and corresponding place IDs
+ // to update in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2beta.Product.fulfillment_info]
+ //
+ // The caller can clear all place IDs from a subset of fulfillment types in
+ // the following ways:
+ //
+ // * Adds "fulfillment_info" in
+ // [SetInventoryRequest.set_mask][google.cloud.retail.v2beta.SetInventoryRequest.set_mask]
+ // * Specifies only the desired fulfillment types to clear in
+ // [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2beta.Product.fulfillment_info]
+ // * Checks that only the desired fulfillment info types have empty
+ // [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ //
+ // The last update time is recorded for the following inventory fields:
+ // * [Product.price_info][google.cloud.retail.v2beta.Product.price_info]
+ // * [Product.availability][google.cloud.retail.v2beta.Product.availability]
+ // * [Product.available_quantity][google.cloud.retail.v2beta.Product.available_quantity]
+ // * [Product.fulfillment_info][google.cloud.retail.v2beta.Product.fulfillment_info]
+ //
+ // If a full overwrite of inventory information while ignoring timestamps is
+ // needed,
+ // [ProductService.UpdateProduct][google.cloud.retail.v2beta.ProductService.UpdateProduct]
+ // should be invoked instead.
+ Product inventory = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided
+ // [Product][google.cloud.retail.v2beta.Product] to update.
+ //
+ // At least one field must be provided.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask set_mask = 2;
+
+ // The time when the request is issued, used to prevent
+ // out-of-order updates on inventory fields with the last update time
+ // recorded. If not provided, the internal system time will be used.
+ google.protobuf.Timestamp set_time = 3;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] with
+ // name [Product.name][google.cloud.retail.v2beta.Product.name] is not found,
+ // the inventory update will still be processed and retained for at most 1 day
+ // until the [Product][google.cloud.retail.v2beta.Product] is created. If set
+ // to false, a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2beta.Product] is not found.
+ bool allow_missing = 4;
+}
+
+// Metadata related to the progress of the SetInventory operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2beta.ProductService.SetInventory]
+// method.
+message SetInventoryMetadata {}
+
+// Response of the SetInventoryRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.SetInventory][google.cloud.retail.v2beta.ProductService.SetInventory]
+// method.
+message SetInventoryResponse {}
+
+// Request message for
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2beta.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2beta.AddFulfillmentPlacesRequest.type], such
+ // as the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery" to be added for this
+ // [type][google.cloud.retail.v2beta.AddFulfillmentPlacesRequest.type].
+ // Duplicate IDs will be automatically ignored.
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // If the total number of place IDs exceeds 2000 for this
+ // [type][google.cloud.retail.v2beta.AddFulfillmentPlacesRequest.type] after
+ // adding, then the update will be rejected.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] is
+ // not found, the fulfillment information will still be processed and retained
+ // for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2beta.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2beta.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the AddFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesMetadata {}
+
+// Response of the AddFulfillmentPlacesRequest. Currently empty because
+// there is no meaningful response populated from the
+// [ProductService.AddFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.AddFulfillmentPlaces]
+// method.
+message AddFulfillmentPlacesResponse {}
+
+// Request message for
+// [ProductService.AddLocalInventories][google.cloud.retail.v2beta.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of inventory information at difference places. Each place
+ // is identified by its place ID. At most 3000 inventories are allowed per
+ // request.
+ repeated LocalInventory local_inventories = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which inventory fields in the provided list of
+ // [LocalInventory][google.cloud.retail.v2beta.LocalInventory] to update. The
+ // field is updated to the provided value.
+ //
+ // If a field is set while the place does not have a previous local inventory,
+ // the local inventory at that store is created.
+ //
+ // If a field is set while the value of that field is not provided, the
+ // original field value, if it exists, is deleted.
+ //
+ // If the mask is not set or set with empty paths, all inventory fields will
+ // be updated.
+ //
+ // If an unsupported or unknown field is provided, an INVALID_ARGUMENT error
+ // is returned and the entire update will be ignored.
+ google.protobuf.FieldMask add_mask = 4;
+
+ // The time when the inventory updates are issued. Used to prevent
+ // out-of-order updates on local inventory fields. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp add_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] is
+ // not found, the local inventory will still be processed and retained for at
+ // most 1 day and processed once the
+ // [Product][google.cloud.retail.v2beta.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2beta.Product] is not found.
+ bool allow_missing = 6;
+}
+
+// Metadata related to the progress of the AddLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2beta.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2beta.ProductService.AddLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.AddLocalInventories][google.cloud.retail.v2beta.ProductService.AddLocalInventories]
+// method.
+message AddLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2beta.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. A list of place IDs to have their inventory deleted.
+ // At most 3000 place IDs are allowed per request.
+ repeated string place_ids = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the inventory deletions are issued. Used to prevent
+ // out-of-order updates and deletions on local inventory fields. If not
+ // provided, the internal system time will be used.
+ google.protobuf.Timestamp remove_time = 5;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] is
+ // not found, the local inventory removal request will still be processed and
+ // retained for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2beta.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2beta.Product] is not found.
+ bool allow_missing = 3;
+}
+
+// Metadata related to the progress of the RemoveLocalInventories operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2beta.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesMetadata {}
+
+// Response of the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2beta.ProductService.RemoveLocalInventories]
+// API. Currently empty because there is no meaningful response populated from
+// the
+// [ProductService.RemoveLocalInventories][google.cloud.retail.v2beta.ProductService.RemoveLocalInventories]
+// method.
+message RemoveLocalInventoriesResponse {}
+
+// Request message for
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesRequest {
+ // Required. Full resource name of
+ // [Product][google.cloud.retail.v2beta.Product], such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/default_branch/products/some_product_id`.
+ //
+ // If the caller does not have permission to access the
+ // [Product][google.cloud.retail.v2beta.Product], regardless of whether or not
+ // it exists, a PERMISSION_DENIED error is returned.
+ string product = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Product" }
+ ];
+
+ // Required. The fulfillment type, including commonly used types (such as
+ // pickup in store and same day delivery), and custom types.
+ //
+ // Supported values:
+ //
+ // * "pickup-in-store"
+ // * "ship-to-store"
+ // * "same-day-delivery"
+ // * "next-day-delivery"
+ // * "custom-type-1"
+ // * "custom-type-2"
+ // * "custom-type-3"
+ // * "custom-type-4"
+ // * "custom-type-5"
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ //
+ // This field directly corresponds to
+ // [Product.fulfillment_info.type][google.cloud.retail.v2beta.FulfillmentInfo.type].
+ string type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The IDs for this
+ // [type][google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest.type],
+ // such as the store IDs for "pickup-in-store" or the region IDs for
+ // "same-day-delivery", to be removed for this
+ // [type][google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest.type].
+ //
+ // At least 1 value is required, and a maximum of 2000 values are allowed.
+ // Each value must be a string with a length limit of 10 characters, matching
+ // the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string place_ids = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // The time when the fulfillment updates are issued, used to prevent
+ // out-of-order updates on fulfillment information. If not provided, the
+ // internal system time will be used.
+ google.protobuf.Timestamp remove_time = 4;
+
+ // If set to true, and the [Product][google.cloud.retail.v2beta.Product] is
+ // not found, the fulfillment information will still be processed and retained
+ // for at most 1 day and processed once the
+ // [Product][google.cloud.retail.v2beta.Product] is created. If set to false,
+ // a NOT_FOUND error is returned if the
+ // [Product][google.cloud.retail.v2beta.Product] is not found.
+ bool allow_missing = 5;
+}
+
+// Metadata related to the progress of the RemoveFulfillmentPlaces operation.
+// Currently empty because there is no meaningful metadata populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesMetadata {}
+
+// Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
+// is no meaningful response populated from the
+// [ProductService.RemoveFulfillmentPlaces][google.cloud.retail.v2beta.ProductService.RemoveFulfillmentPlaces]
+// method.
+message RemoveFulfillmentPlacesResponse {}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/promotion.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/promotion.proto
new file mode 100644
index 00000000000..5346f14d363
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/promotion.proto
@@ -0,0 +1,40 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PromotionProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Promotion information.
+message Promotion {
+ // ID of the promotion. For example, "free gift".
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 128
+ // characters, and match the pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example,
+ // id0LikeThis or ID_1_LIKE_THIS. Otherwise, an INVALID_ARGUMENT error is
+ // returned.
+ //
+ // Google Merchant Center property
+ // [promotion](https://support.google.com/merchants/answer/7050148).
+ string promotion_id = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/purge_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/purge_config.proto
new file mode 100644
index 00000000000..25502cd7d16
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/purge_config.proto
@@ -0,0 +1,83 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "PurgeConfigProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Metadata related to the progress of the Purge operation.
+// This will be returned by the google.longrunning.Operation.metadata field.
+message PurgeMetadata {}
+
+// Request message for PurgeUserEvents method.
+message PurgeUserEventsRequest {
+ // Required. The resource name of the catalog under which the events are
+ // created. The format is
+ // `projects/${projectId}/locations/global/catalogs/${catalogId}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The filter string to specify the events to be deleted with a
+ // length limit of 5,000 characters. Empty string filter is not allowed. The
+ // eligible fields for filtering are:
+ //
+ // * `eventType`: Double quoted
+ // [UserEvent.event_type][google.cloud.retail.v2beta.UserEvent.event_type]
+ // string.
+ // * `eventTime`: in ISO 8601 "zulu" format.
+ // * `visitorId`: Double quoted string. Specifying this will delete all
+ // events associated with a visitor.
+ // * `userId`: Double quoted string. Specifying this will delete all events
+ // associated with a user.
+ //
+ // Examples:
+ //
+ // * Deleting all events in a time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z"
+ // eventTime < "2012-04-23T18:30:43.511Z"`
+ // * Deleting specific eventType in time range:
+ // `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"`
+ // * Deleting all events for a specific visitor:
+ // `visitorId = "visitor1024"`
+ //
+ // The filtering fields are assumed to have an implicit AND.
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Actually perform the purge.
+ // If `force` is set to false, the method will return the expected purge count
+ // without deleting any user events.
+ bool force = 3;
+}
+
+// Response of the PurgeUserEventsRequest. If the long running operation is
+// successfully done, then this message is returned by the
+// google.longrunning.Operations.response field.
+message PurgeUserEventsResponse {
+ // The total count of events purged as a result of the operation.
+ int64 purged_events_count = 1;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/search_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/search_service.proto
new file mode 100644
index 00000000000..5a1004410e6
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/search_service.proto
@@ -0,0 +1,929 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/product.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "SearchServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for search.
+//
+// This feature is only available for users who have Retail Search enabled.
+// Enable Retail Search on Cloud Console before using this feature.
+service SearchService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs a search.
+ //
+ // This feature is only available for users who have Retail Search enabled.
+ // Enable Retail Search on Cloud Console before using this feature.
+ rpc Search(SearchRequest) returns (SearchResponse) {
+ option (google.api.http) = {
+ post: "/v2beta/{placement=projects/*/locations/*/catalogs/*/placements/*}:search"
+ body: "*"
+ additional_bindings {
+ post: "/v2beta/{placement=projects/*/locations/*/catalogs/*/servingConfigs/*}:search"
+ body: "*"
+ }
+ };
+ }
+}
+
+// Request message for
+// [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+// method.
+message SearchRequest {
+ // A facet specification to perform faceted search.
+ message FacetSpec {
+ // Specifies how a facet is computed.
+ message FacetKey {
+ // Required. Supported textual and numerical facet keys in
+ // [Product][google.cloud.retail.v2beta.Product] object, over which the
+ // facet values are computed. Facet key is case-sensitive.
+ //
+ // Allowed facet keys when
+ // [FacetKey.query][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.query]
+ // is not specified:
+ //
+ // * textual_field =
+ // * "brands"
+ // * "categories"
+ // * "genders"
+ // * "ageGroups"
+ // * "availability"
+ // * "colorFamilies"
+ // * "colors"
+ // * "sizes"
+ // * "materials"
+ // * "patterns"
+ // * "conditions"
+ // * "attributes.key"
+ // * "pickupInStore"
+ // * "shipToStore"
+ // * "sameDayDelivery"
+ // * "nextDayDelivery"
+ // * "customFulfillment1"
+ // * "customFulfillment2"
+ // * "customFulfillment3"
+ // * "customFulfillment4"
+ // * "customFulfillment5"
+ // * "inventory(place_id,attributes.key)"
+ //
+ // * numerical_field =
+ // * "price"
+ // * "discount"
+ // * "rating"
+ // * "ratingCount"
+ // * "attributes.key"
+ // * "inventory(place_id,price)"
+ // * "inventory(place_id,original_price)"
+ // * "inventory(place_id,attributes.key)"
+ string key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Set only if values should be bucketized into intervals. Must be set
+ // for facets with numerical values. Must not be set for facet with text
+ // values. Maximum number of intervals is 30.
+ repeated Interval intervals = 2;
+
+ // Only get facet for the given restricted values. For example, when using
+ // "pickupInStore" as key and set restricted values to
+ // ["store123", "store456"], only facets for "store123" and "store456" are
+ // returned. Only supported on predefined textual fields, custom textual
+ // attributes and fulfillments. Maximum is 20.
+ //
+ // Must be set for the fulfillment facet keys:
+ //
+ // * pickupInStore
+ //
+ // * shipToStore
+ //
+ // * sameDayDelivery
+ //
+ // * nextDayDelivery
+ //
+ // * customFulfillment1
+ //
+ // * customFulfillment2
+ //
+ // * customFulfillment3
+ //
+ // * customFulfillment4
+ //
+ // * customFulfillment5
+ repeated string restricted_values = 3;
+
+ // Only get facet values that start with the given string prefix. For
+ // example, suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "prefixes" to "Women", the
+ // "categories" facet will give only "Women > Shoe" and "Women > Dress".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string prefixes = 8;
+
+ // Only get facet values that contains the given strings. For example,
+ // suppose "categories" has three values "Women > Shoe",
+ // "Women > Dress" and "Men > Shoe". If set "contains" to "Shoe", the
+ // "categories" facet will give only "Women > Shoe" and "Men > Shoe".
+ // Only supported on textual fields. Maximum is 10.
+ repeated string contains = 9;
+
+ // True to make facet keys case insensitive when getting faceting
+ // values with prefixes or contains; false otherwise.
+ bool case_insensitive = 10;
+
+ // The order in which
+ // [SearchResponse.Facet.values][google.cloud.retail.v2beta.SearchResponse.Facet.values]
+ // are returned.
+ //
+ // Allowed values are:
+ //
+ // * "count desc", which means order by
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.count]
+ // descending.
+ //
+ // * "value desc", which means order by
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.value]
+ // descending.
+ // Only applies to textual facets.
+ //
+ // If not set, textual values are sorted in [natural
+ // order](https://en.wikipedia.org/wiki/Natural_sort_order); numerical
+ // intervals are sorted in the order given by
+ // [FacetSpec.FacetKey.intervals][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.intervals];
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // are sorted in the order given by
+ // [FacetSpec.FacetKey.restricted_values][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.restricted_values].
+ string order_by = 4;
+
+ // The query that is used to compute facet for the given facet key.
+ // When provided, it will override the default behavior of facet
+ // computation. The query syntax is the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]
+ // for detail syntax and limitations. Notice that there is no limitation
+ // on
+ // [FacetKey.key][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.key]
+ // when query is specified.
+ //
+ // In the response,
+ // [SearchResponse.Facet.values.value][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.value]
+ // will be always "1" and
+ // [SearchResponse.Facet.values.count][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.count]
+ // will be the number of results that match the query.
+ //
+ // For example, you can set a customized facet for "shipToStore",
+ // where
+ // [FacetKey.key][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.key]
+ // is "customizedShipToStore", and
+ // [FacetKey.query][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.query]
+ // is "availability: ANY(\"IN_STOCK\") AND shipToStore: ANY(\"123\")".
+ // Then the facet will count the products that are both in stock and ship
+ // to store "123".
+ string query = 5;
+
+ // Returns the min and max value for each numerical facet intervals.
+ // Ignored for textual facets.
+ bool return_min_max = 11;
+ }
+
+ // Required. The facet key specification.
+ FacetKey facet_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Maximum of facet values that should be returned for this facet. If
+ // unspecified, defaults to 20. The maximum allowed value is 300. Values
+ // above 300 will be coerced to 300.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 limit = 2;
+
+ // List of keys to exclude when faceting.
+ //
+ //
+ // By default,
+ // [FacetKey.key][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.key]
+ // is not excluded from the filter unless it is listed in this field.
+ //
+ // Listing a facet key in this field allows its values to appear as facet
+ // results, even when they are filtered out of search results. Using this
+ // field does not affect what search results are returned.
+ //
+ // For example, suppose there are 100 products with the color facet "Red"
+ // and 200 products with the color facet "Blue". A query containing the
+ // filter "colorFamilies:ANY("Red")" and having "colorFamilies" as
+ // [FacetKey.key][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.key]
+ // would by default return only "Red" products in the search results, and
+ // also return "Red" with count 100 as the only color facet. Although there
+ // are also blue products available, "Blue" would not be shown as an
+ // available facet value.
+ //
+ // If "colorFamilies" is listed in "excludedFilterKeys", then the query
+ // returns the facet values "Red" with count 100 and "Blue" with count
+ // 200, because the "colorFamilies" key is now excluded from the filter.
+ // Because this field doesn't affect search results, the search results
+ // are still correctly filtered to return only "Red" products.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated string excluded_filter_keys = 3;
+
+ // Enables dynamic position for this facet. If set to true, the position of
+ // this facet among all facets in the response is determined by Google
+ // Retail Search. It will be ordered together with dynamic facets if dynamic
+ // facets is enabled. If set to false, the position of this facet in the
+ // response will be the same as in the request, and it will be ranked before
+ // the facets with dynamic position enable and all dynamic facets.
+ //
+ // For example, you may always want to have rating facet returned in
+ // the response, but it's not necessarily to always display the rating facet
+ // at the top. In that case, you can set enable_dynamic_position to true so
+ // that the position of rating facet in response will be determined by
+ // Google Retail Search.
+ //
+ // Another example, assuming you have the following facets in the request:
+ //
+ // * "rating", enable_dynamic_position = true
+ //
+ // * "price", enable_dynamic_position = false
+ //
+ // * "brands", enable_dynamic_position = false
+ //
+ // And also you have a dynamic facets enable, which will generate a facet
+ // 'gender'. Then the final order of the facets in the response can be
+ // ("price", "brands", "rating", "gender") or ("price", "brands", "gender",
+ // "rating") depends on how Google Retail Search orders "gender" and
+ // "rating" facets. However, notice that "price" and "brands" will always be
+ // ranked at 1st and 2nd position since their enable_dynamic_position are
+ // false.
+ bool enable_dynamic_position = 4;
+ }
+
+ // The specifications of dynamically generated facets.
+ message DynamicFacetSpec {
+ // Enum to control DynamicFacet mode
+ enum Mode {
+ // Default value.
+ MODE_UNSPECIFIED = 0;
+
+ // Disable Dynamic Facet.
+ DISABLED = 1;
+
+ // Automatic mode built by Google Retail Search.
+ ENABLED = 2;
+ }
+
+ // Mode of the DynamicFacet feature.
+ // Defaults to
+ // [Mode.DISABLED][google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.Mode.DISABLED]
+ // if it's unset.
+ Mode mode = 1;
+ }
+
+ // Boost specification to boost certain items.
+ message BoostSpec {
+ // Boost applies to products which match a condition.
+ message ConditionBoostSpec {
+ // An expression which specifies a boost condition. The syntax and
+ // supported fields are the same as a filter expression. See
+ // [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]
+ // for detail syntax and limitations.
+ //
+ // Examples:
+ //
+ // * To boost products with product ID "product_1" or "product_2", and
+ // color
+ // "Red" or "Blue":
+ // * (id: ANY("product_1", "product_2")) AND (colorFamilies:
+ // ANY("Red","Blue"))
+ string condition = 1;
+
+ // Strength of the condition boost, which should be in [-1, 1]. Negative
+ // boost means demotion. Default is 0.0.
+ //
+ // Setting to 1.0 gives the item a big promotion. However, it does not
+ // necessarily mean that the boosted item will be the top result at all
+ // times, nor that other items will be excluded. Results could still be
+ // shown even when none of them matches the condition. And results that
+ // are significantly more relevant to the search query can still trump
+ // your heavily favored but irrelevant items.
+ //
+ // Setting to -1.0 gives the item a big demotion. However, results that
+ // are deeply relevant might still be shown. The item will have an
+ // upstream battle to get a fairly high ranking, but it is not blocked out
+ // completely.
+ //
+ // Setting to 0.0 means no boost applied. The boosting condition is
+ // ignored.
+ float boost = 2;
+ }
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifictions, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 20.
+ repeated ConditionBoostSpec condition_boost_specs = 1;
+
+ // Whether to skip boostspec validation. If this field is set to true,
+ // invalid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
+ // will be ignored and valid
+ // [BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
+ // will still be applied.
+ optional bool skip_boost_spec_validation = 2;
+ }
+
+ // Specification to determine under which conditions query expansion should
+ // occur.
+ message QueryExpansionSpec {
+ // Enum describing under which condition query expansion should occur.
+ enum Condition {
+ // Unspecified query expansion condition. In this case, server behavior
+ // defaults to
+ // [Condition.DISABLED][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ CONDITION_UNSPECIFIED = 0;
+
+ // Disabled query expansion. Only the exact search query is used, even if
+ // [SearchResponse.total_size][google.cloud.retail.v2beta.SearchResponse.total_size]
+ // is zero.
+ DISABLED = 1;
+
+ // Automatic query expansion built by Google Retail Search.
+ AUTO = 3;
+ }
+
+ // The condition under which query expansion should occur. Default to
+ // [Condition.DISABLED][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition.DISABLED].
+ Condition condition = 1;
+
+ // Whether to pin unexpanded results. If this field is set to true,
+ // unexpanded products are always at the top of the search results, followed
+ // by the expanded results.
+ bool pin_unexpanded_results = 2;
+ }
+
+ // The specification for personalization.
+ message PersonalizationSpec {
+ // The personalization mode of each search request.
+ enum Mode {
+ // Default value. In this case, server behavior defaults to
+ // [Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Let CRS decide whether to use personalization based on quality of user
+ // event data.
+ AUTO = 1;
+
+ // Disable personalization.
+ DISABLED = 2;
+ }
+
+ // Defaults to
+ // [Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The specification for query spell correction.
+ message SpellCorrectionSpec {
+ // Enum describing under which mode spell correction should occur.
+ enum Mode {
+ // Unspecified spell correction mode. In this case, server behavior
+ // defaults to
+ // [Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ MODE_UNSPECIFIED = 0;
+
+ // Google Retail Search will try to find a spell suggestion if there
+ // is any and put in the
+ // [SearchResponse.corrected_query][google.cloud.retail.v2beta.SearchResponse.corrected_query].
+ // The spell suggestion will not be used as the search query.
+ SUGGESTION_ONLY = 1;
+
+ // Automatic spell correction built by Google Retail Search. Search will
+ // be based on the corrected query if found.
+ AUTO = 2;
+ }
+
+ // The mode under which spell correction should take effect to
+ // replace the original search query. Default to
+ // [Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode.AUTO].
+ Mode mode = 1;
+ }
+
+ // The search mode of each search request.
+ enum SearchMode {
+ // Default value. In this case both product search and faceted search will
+ // be performed. Both
+ // [SearchResponse.SearchResult][google.cloud.retail.v2beta.SearchResponse.SearchResult]
+ // and
+ // [SearchResponse.Facet][google.cloud.retail.v2beta.SearchResponse.Facet]
+ // will be returned.
+ SEARCH_MODE_UNSPECIFIED = 0;
+
+ // Only product search will be performed. The faceted search will be
+ // disabled.
+ //
+ // Only
+ // [SearchResponse.SearchResult][google.cloud.retail.v2beta.SearchResponse.SearchResult]
+ // will be returned.
+ // [SearchResponse.Facet][google.cloud.retail.v2beta.SearchResponse.Facet]
+ // will not be returned, even if
+ // [SearchRequest.facet_specs][google.cloud.retail.v2beta.SearchRequest.facet_specs]
+ // or
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2beta.SearchRequest.dynamic_facet_spec]
+ // is set.
+ PRODUCT_SEARCH_ONLY = 1;
+
+ // Only faceted search will be performed. The product search will be
+ // disabled.
+ //
+ // When in this mode, one or both of
+ // [SearchRequest.facet_specs][google.cloud.retail.v2beta.SearchRequest.facet_specs]
+ // and
+ // [SearchRequest.dynamic_facet_spec][google.cloud.retail.v2beta.SearchRequest.dynamic_facet_spec]
+ // should be set. Otherwise, an INVALID_ARGUMENT error is returned. Only
+ // [SearchResponse.Facet][google.cloud.retail.v2beta.SearchResponse.Facet]
+ // will be returned.
+ // [SearchResponse.SearchResult][google.cloud.retail.v2beta.SearchResponse.SearchResult]
+ // will not be returned.
+ FACETED_SEARCH_ONLY = 2;
+ }
+
+ // Required. The resource name of the Retail Search serving config, such as
+ // `projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config`
+ // or the name of the legacy placement resource, such as
+ // `projects/*/locations/global/catalogs/default_catalog/placements/default_search`.
+ // This field is used to identify the serving configuration name and the set
+ // of models that will be used to make the search.
+ string placement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The branch resource name, such as
+ // `projects/*/locations/global/catalogs/default_catalog/branches/0`.
+ //
+ // Use "default_branch" as the branch ID or leave this field empty, to search
+ // products under the default branch.
+ string branch = 2 [
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Branch" }
+ ];
+
+ // Raw search query.
+ //
+ // If this field is empty, the request is considered a category browsing
+ // request and returned results are based on
+ // [filter][google.cloud.retail.v2beta.SearchRequest.filter] and
+ // [page_categories][google.cloud.retail.v2beta.SearchRequest.page_categories].
+ string query = 3;
+
+ // Required. A unique identifier for tracking visitors. For example, this
+ // could be implemented with an HTTP cookie, which should be able to uniquely
+ // identify a visitor on a single device. This unique identifier should not
+ // change if the visitor logs in or out of the website.
+ //
+ // This should be the same identifier as
+ // [UserEvent.visitor_id][google.cloud.retail.v2beta.UserEvent.visitor_id].
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string visitor_id = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // User information.
+ UserInfo user_info = 5;
+
+ // Maximum number of [Product][google.cloud.retail.v2beta.Product]s to return.
+ // If unspecified, defaults to a reasonable value. The maximum allowed value
+ // is 120. Values above 120 will be coerced to 120.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 page_size = 7;
+
+ // A page token
+ // [SearchResponse.next_page_token][google.cloud.retail.v2beta.SearchResponse.next_page_token],
+ // received from a previous
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+ // call. Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+ // must match the call that provided the page token. Otherwise, an
+ // INVALID_ARGUMENT error is returned.
+ string page_token = 8;
+
+ // A 0-indexed integer that specifies the current offset (that is, starting
+ // result location, amongst the [Product][google.cloud.retail.v2beta.Product]s
+ // deemed by the API as relevant) in search results. This field is only
+ // considered if
+ // [page_token][google.cloud.retail.v2beta.SearchRequest.page_token] is unset.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ int32 offset = 9;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered. Filter
+ // expression is case-sensitive. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#filter).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string filter = 10;
+
+ // The default filter that is applied when a user performs a search without
+ // checking any filters on the search page.
+ //
+ // The filter applied to every search request when quality improvement such as
+ // query expansion is needed. For example, if a query does not have enough
+ // results, an expanded query with
+ // [SearchRequest.canonical_filter][google.cloud.retail.v2beta.SearchRequest.canonical_filter]
+ // will be returned as a supplement of the original query. This field is
+ // strongly recommended to achieve high search quality.
+ //
+ // See [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]
+ // for more details about filter syntax.
+ string canonical_filter = 28;
+
+ // The order in which products are returned. Products can be ordered by
+ // a field in an [Product][google.cloud.retail.v2beta.Product] object. Leave
+ // it unset if ordered by relevance. OrderBy expression is case-sensitive. See
+ // more details at this [user
+ // guide](https://cloud.google.com/retail/docs/filter-and-order#order).
+ //
+ // If this field is unrecognizable, an INVALID_ARGUMENT is returned.
+ string order_by = 11;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ //
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ repeated FacetSpec facet_specs = 12;
+
+ // Deprecated. Refer to https://cloud.google.com/retail/docs/configs#dynamic
+ // to enable dynamic facets. Do not set this field.
+ //
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ DynamicFacetSpec dynamic_facet_spec = 21 [deprecated = true];
+
+ // Boost specification to boost certain products. See more details at this
+ // [user guide](https://cloud.google.com/retail/docs/boosting).
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2beta.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2beta.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ BoostSpec boost_spec = 13;
+
+ // The query expansion specification that specifies the conditions under which
+ // query expansion will occur. See more details at this [user
+ // guide](https://cloud.google.com/retail/docs/result-size#query_expansion).
+ QueryExpansionSpec query_expansion_spec = 14;
+
+ // The keys to fetch and rollup the matching
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s attributes,
+ // [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo] or
+ // [LocalInventory][google.cloud.retail.v2beta.LocalInventory]s attributes.
+ // The attributes from all the matching
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s or
+ // [LocalInventory][google.cloud.retail.v2beta.LocalInventory]s are merged and
+ // de-duplicated. Notice that rollup attributes will lead to extra query
+ // latency. Maximum number of keys is 30.
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], a
+ // fulfillment type and a fulfillment ID must be provided in the format of
+ // "fulfillmentType.fulfillmentId". E.g., in "pickupInStore.store123",
+ // "pickupInStore" is fulfillment type and "store123" is the store ID.
+ //
+ // Supported keys are:
+ //
+ // * colorFamilies
+ // * price
+ // * originalPrice
+ // * discount
+ // * variantId
+ // * inventory(place_id,price)
+ // * inventory(place_id,original_price)
+ // * inventory(place_id,attributes.key), where key is any key in the
+ // [Product.local_inventories.attributes][google.cloud.retail.v2beta.LocalInventory.attributes]
+ // map.
+ // * attributes.key, where key is any key in the
+ // [Product.attributes][google.cloud.retail.v2beta.Product.attributes] map.
+ // * pickupInStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "pickup-in-store".
+ // * shipToStore.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "ship-to-store".
+ // * sameDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "same-day-delivery".
+ // * nextDayDelivery.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "next-day-delivery".
+ // * customFulfillment1.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "custom-type-1".
+ // * customFulfillment2.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "custom-type-2".
+ // * customFulfillment3.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "custom-type-3".
+ // * customFulfillment4.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "custom-type-4".
+ // * customFulfillment5.id, where id is any
+ // [FulfillmentInfo.place_ids][google.cloud.retail.v2beta.FulfillmentInfo.place_ids]
+ // for [FulfillmentInfo.type][google.cloud.retail.v2beta.FulfillmentInfo.type]
+ // "custom-type-5".
+ //
+ // If this field is set to an invalid value other than these, an
+ // INVALID_ARGUMENT error is returned.
+ repeated string variant_rollup_keys = 17;
+
+ // The categories associated with a category page. Required for category
+ // navigation queries to achieve good search quality. The format should be
+ // the same as
+ // [UserEvent.page_categories][google.cloud.retail.v2beta.UserEvent.page_categories];
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ repeated string page_categories = 23;
+
+ // The search mode of the search request. If not specified, a single search
+ // request triggers both product search and faceted search.
+ SearchMode search_mode = 31;
+
+ // The specification for personalization.
+ //
+ // Notice that if both
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2beta.ServingConfig.personalization_spec]
+ // and
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2beta.SearchRequest.personalization_spec]
+ // are set.
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2beta.SearchRequest.personalization_spec]
+ // will override
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2beta.ServingConfig.personalization_spec].
+ PersonalizationSpec personalization_spec = 32;
+
+ // The labels applied to a resource must meet the following requirements:
+ //
+ // * Each resource can have multiple labels, up to a maximum of 64.
+ // * Each label must be a key-value pair.
+ // * Keys have a minimum length of 1 character and a maximum length of 63
+ // characters and cannot be empty. Values can be empty and have a maximum
+ // length of 63 characters.
+ // * Keys and values can contain only lowercase letters, numeric characters,
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
+ // international characters are allowed.
+ // * The key portion of a label must be unique. However, you can use the same
+ // key with multiple resources.
+ // * Keys must start with a lowercase letter or international character.
+ //
+ // See [Google Cloud
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
+ // for more details.
+ map labels = 34;
+
+ // The spell correction specification that specifies the mode under
+ // which spell correction will take effect.
+ optional SpellCorrectionSpec spell_correction_spec = 35;
+}
+
+// Response message for
+// [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
+// method.
+message SearchResponse {
+ // Represents the search results.
+ message SearchResult {
+ // [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
+ // [Product][google.cloud.retail.v2beta.Product].
+ string id = 1;
+
+ // The product data snippet in the search response. Only
+ // [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
+ // be populated.
+ //
+ // [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
+ // the product variants that match the search query. If there are multiple
+ // product variants matching the query, top 5 most relevant product variants
+ // are returned and ordered by relevancy.
+ //
+ // If relevancy can be deternmined, use
+ // [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
+ // to look up matched product variants fields. If relevancy cannot be
+ // determined, e.g. when searching "shoe" all products in a shoe product can
+ // be a match, 5 product variants are returned but order is meaningless.
+ Product product = 2;
+
+ // The count of matched
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product]s.
+ int32 matching_variant_count = 3;
+
+ // If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product] matches the search query,
+ // this map indicates which [Product][google.cloud.retail.v2beta.Product]
+ // fields are matched. The key is the
+ // [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
+ // field mask of the matched [Product][google.cloud.retail.v2beta.Product]
+ // fields. If matched attributes cannot be determined, this map will be
+ // empty.
+ //
+ // For example, a key "sku1" with field mask
+ // "products.color_info" indicates there is a match between
+ // "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
+ map matching_variant_fields = 4;
+
+ // The rollup matching
+ // [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
+ // [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
+ // of the
+ // [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
+ // The values are the merged and de-duplicated
+ // [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
+ // rollup values are respect filter. For example, when filtering by
+ // "colorFamilies:ANY(\"red\")" and rollup "colorFamilies", only "red" is
+ // returned.
+ //
+ // For textual and numerical attributes, the rollup values is a list of
+ // string or double values with type
+ // [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
+ // there are two variants with colors "red" and "blue", the rollup values
+ // are
+ //
+ // { key: "colorFamilies"
+ // value {
+ // list_value {
+ // values { string_value: "red" }
+ // values { string_value: "blue" }
+ // }
+ // }
+ // }
+ //
+ // For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
+ // rollup values is a double value with type
+ // [google.protobuf.Value][google.protobuf.Value]. For example,
+ // `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
+ // are 10 variants in this product are available in the store "store1".
+ map variant_rollup_values = 5;
+
+ // Specifies previous events related to this product for this user based on
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
+ // [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
+ // or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
+ //
+ // This is set only when
+ // [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
+ // is
+ // [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
+ //
+ // Possible values:
+ //
+ // * `purchased`: Indicates that this product has been purchased before.
+ repeated string personal_labels = 7;
+ }
+
+ // A facet result.
+ message Facet {
+ // A facet value which contains value names and their count.
+ message FacetValue {
+ // A facet value which contains values.
+ oneof facet_value {
+ // Text value of a facet, such as "Black" for facet "colorFamilies".
+ string value = 1;
+
+ // Interval value for a facet, such as [10, 20) for facet "price".
+ Interval interval = 2;
+ }
+
+ // Number of items that have this facet value.
+ int64 count = 3;
+
+ // The minimum value in the
+ // [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double min_value = 5;
+
+ // The maximum value in the
+ // [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
+ // Only supported on numerical facets and returned if
+ // [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
+ // is true.
+ double max_value = 6;
+ }
+
+ // The key for this facet. E.g., "colorFamilies" or "price" or
+ // "attributes.attr1".
+ string key = 1;
+
+ // The facet values for this field.
+ repeated FacetValue values = 2;
+
+ // Whether the facet is dynamically generated.
+ bool dynamic_facet = 3;
+ }
+
+ // Information describing query expansion including whether expansion has
+ // occurred.
+ message QueryExpansionInfo {
+ // Bool describing whether query expansion has occurred.
+ bool expanded_query = 1;
+
+ // Number of pinned results. This field will only be set when expansion
+ // happens and
+ // [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
+ // is set to true.
+ int64 pinned_result_count = 2;
+ }
+
+ // A list of matched items. The order represents the ranking.
+ repeated SearchResult results = 1;
+
+ // Results of facets requested by user.
+ repeated Facet facets = 2;
+
+ // The estimated total count of matched items irrespective of pagination. The
+ // count of [results][google.cloud.retail.v2beta.SearchResponse.results]
+ // returned by pagination may be less than the
+ // [total_size][google.cloud.retail.v2beta.SearchResponse.total_size] that
+ // matches.
+ int32 total_size = 3;
+
+ // Contains the spell corrected query, if found. If the spell correction type
+ // is AUTOMATIC, then the search results are based on corrected_query.
+ // Otherwise the original query is used for search.
+ string corrected_query = 4;
+
+ // A unique search token. This should be included in the
+ // [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
+ // search, which enables accurate attribution of search model performance.
+ string attribution_token = 5;
+
+ // A token that can be sent as
+ // [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
+ // to retrieve the next page. If this field is omitted, there are no
+ // subsequent pages.
+ string next_page_token = 6;
+
+ // Query expansion information for the returned results.
+ QueryExpansionInfo query_expansion_info = 7;
+
+ // The URI of a customer-defined redirect page. If redirect action is
+ // triggered, no search is performed, and only
+ // [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
+ // [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
+ // are set in the response.
+ string redirect_uri = 10;
+
+ // The fully qualified resource name of applied
+ // [controls](https://cloud.google.com/retail/docs/serving-control-rules).
+ repeated string applied_controls = 12;
+
+ // The invalid
+ // [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
+ // that are not applied during serving.
+ repeated SearchRequest.BoostSpec.ConditionBoostSpec
+ invalid_condition_boost_specs = 14;
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config.proto
new file mode 100644
index 00000000000..35d1cf85353
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config.proto
@@ -0,0 +1,280 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/search_service.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Configures metadata that is used to generate serving time results (e.g.
+// search results or recommendation predictions).
+message ServingConfig {
+ option (google.api.resource) = {
+ type: "retail.googleapis.com/ServingConfig"
+ pattern: "projects/{project}/locations/{location}/catalogs/{catalog}/servingConfigs/{serving_config}"
+ };
+
+ // What type of diversity - data or rule based.
+ // If none is specified, default to rule based.
+ enum DiversityType {
+ // Default value.
+ DIVERSITY_TYPE_UNSPECIFIED = 0;
+
+ // Rule based diversity.
+ RULE_BASED_DIVERSITY = 2;
+
+ // Data driven diversity.
+ DATA_DRIVEN_DIVERSITY = 3;
+ }
+
+ // Immutable. Fully qualified name
+ // `projects/*/locations/global/catalogs/*/servingConfig/*`
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. The human readable serving config display name. Used in Retail
+ // UI.
+ //
+ // This field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The id of the model in the same
+ // [Catalog][google.cloud.retail.v2beta.Catalog] to use at serving time.
+ // Currently only RecommendationModels are supported:
+ // https://cloud.google.com/retail/recommendations-ai/docs/create-models
+ // Can be changed but only to a compatible model (e.g.
+ // others-you-may-like CTR to others-you-may-like CVR).
+ //
+ // Required when
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string model_id = 3;
+
+ // How much price ranking we want in serving results.
+ // Price reranking causes product items with a similar
+ // recommendation probability to be ordered by price, with the
+ // highest-priced items first. This setting could result in a decrease in
+ // click-through and conversion rates.
+ // Allowed values are:
+ //
+ // * `no-price-reranking`
+ // * `low-price-raranking`
+ // * `medium-price-reranking`
+ // * `high-price-reranking`
+ //
+ // If not specified, we choose default based on model type. Default value:
+ // `no-price-reranking`.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string price_reranking_level = 4;
+
+ // Facet specifications for faceted search. If empty, no facets are returned.
+ // The ids refer to the ids of [Control][google.cloud.retail.v2beta.Control]
+ // resources with only the Facet control set. These controls are assumed to be
+ // in the same [Catalog][google.cloud.retail.v2beta.Catalog] as the
+ // [ServingConfig][google.cloud.retail.v2beta.ServingConfig].
+ // A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error
+ // is returned.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string facet_control_ids = 5;
+
+ // The specification for dynamically generated facets. Notice that only
+ // textual facets can be dynamically generated.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ SearchRequest.DynamicFacetSpec dynamic_facet_spec = 6;
+
+ // Condition boost specifications. If a product matches multiple conditions
+ // in the specifications, boost scores from these specifications are all
+ // applied and combined in a non-linear way. Maximum number of
+ // specifications is 100.
+ //
+ // Notice that if both
+ // [ServingConfig.boost_control_ids][google.cloud.retail.v2beta.ServingConfig.boost_control_ids]
+ // and
+ // [SearchRequest.boost_spec][google.cloud.retail.v2beta.SearchRequest.boost_spec]
+ // are set, the boost conditions from both places are evaluated. If a search
+ // request matches multiple boost conditions, the final boost score is equal
+ // to the sum of the boost scores from all matched boost conditions.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string boost_control_ids = 7;
+
+ // Condition filter specifications. If a product matches multiple conditions
+ // in the specifications, filters from these specifications are all
+ // applied and combined via the AND operator. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string filter_control_ids = 9;
+
+ // Condition redirect specifications. Only the first triggered redirect action
+ // is applied, even if multiple apply. Maximum number of specifications is
+ // 1000.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string redirect_control_ids = 10;
+
+ // Condition synonyms specifications. If multiple syonyms conditions match,
+ // all matching synonyms control in the list will execute. Order of controls
+ // in the list will not matter. Maximum number of specifications is
+ // 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string twoway_synonyms_control_ids = 18;
+
+ // Condition oneway synonyms specifications. If multiple oneway synonyms
+ // conditions match, all matching oneway synonyms controls in the list will
+ // execute. Order of controls in the list will not matter. Maximum number of
+ // specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string oneway_synonyms_control_ids = 12;
+
+ // Condition do not associate specifications. If multiple do not associate
+ // conditions match, all matching do not associate controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string do_not_associate_control_ids = 13;
+
+ // Condition replacement specifications.
+ // - Applied according to the order in the list.
+ // - A previously replaced term can not be re-replaced.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string replacement_control_ids = 14;
+
+ // Condition ignore specifications. If multiple ignore
+ // conditions match, all matching ignore controls in the list will
+ // execute.
+ // - Order does not matter.
+ // - Maximum number of specifications is 100.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ repeated string ignore_control_ids = 15;
+
+ // How much diversity to use in recommendation model results e.g.
+ // `medium-diversity` or `high-diversity`. Currently supported values:
+ //
+ // * `no-diversity`
+ // * `low-diversity`
+ // * `medium-diversity`
+ // * `high-diversity`
+ // * `auto-diversity`
+ //
+ // If not specified, we choose default based on recommendation model
+ // type. Default value: `no-diversity`.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string diversity_level = 8;
+
+ // What kind of diversity to use - data driven or rule based.
+ DiversityType diversity_type = 20;
+
+ // Whether to add additional category filters on the `similar-items` model.
+ // If not specified, we enable it by default.
+ // Allowed values are:
+ //
+ // * `no-category-match`: No additional filtering of original results from
+ // the model and the customer's filters.
+ // * `relaxed-category-match`: Only keep results with categories that match
+ // at least one item categories in the PredictRequests's context item.
+ // * If customer also sends filters in the PredictRequest, then the results
+ // will satisfy both conditions (user given and category match).
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].
+ string enable_category_filter_level = 16;
+
+ // The specification for personalization spec.
+ //
+ // Can only be set if
+ // [solution_types][google.cloud.retail.v2beta.ServingConfig.solution_types]
+ // is
+ // [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].
+ //
+ // Notice that if both
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2beta.ServingConfig.personalization_spec]
+ // and
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2beta.SearchRequest.personalization_spec]
+ // are set.
+ // [SearchRequest.personalization_spec][google.cloud.retail.v2beta.SearchRequest.personalization_spec]
+ // will override
+ // [ServingConfig.personalization_spec][google.cloud.retail.v2beta.ServingConfig.personalization_spec].
+ SearchRequest.PersonalizationSpec personalization_spec = 21;
+
+ // Required. Immutable. Specifies the solution types that a serving config can
+ // be associated with. Currently we support setting only one type of solution.
+ repeated SolutionType solution_types = 19 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config_service.proto
new file mode 100644
index 00000000000..46bdcd9b04f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/serving_config_service.proto
@@ -0,0 +1,240 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/serving_config.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "ServingConfigServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for modifying ServingConfig.
+service ServingConfigService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a ServingConfig.
+ //
+ // A maximum of 100 [ServingConfig][google.cloud.retail.v2beta.ServingConfig]s
+ // are allowed in a [Catalog][google.cloud.retail.v2beta.Catalog], otherwise
+ // a FAILED_PRECONDITION error is returned.
+ rpc CreateServingConfig(CreateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) =
+ "parent,serving_config,serving_config_id";
+ }
+
+ // Deletes a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc DeleteServingConfig(DeleteServingConfigRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a ServingConfig.
+ rpc UpdateServingConfig(UpdateServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ patch: "/v2beta/{serving_config.name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ body: "serving_config"
+ };
+ option (google.api.method_signature) = "serving_config,update_mask";
+ }
+
+ // Gets a ServingConfig.
+ //
+ // Returns a NotFound error if the ServingConfig does not exist.
+ rpc GetServingConfig(GetServingConfigRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ get: "/v2beta/{name=projects/*/locations/*/catalogs/*/servingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all ServingConfigs linked to this catalog.
+ rpc ListServingConfigs(ListServingConfigsRequest)
+ returns (ListServingConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/servingConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Enables a Control on the specified ServingConfig.
+ // The control is added in the last position of the list of controls
+ // it belongs to (e.g. if it's a facet spec control it will be applied
+ // in the last position of servingConfig.facetSpecIds)
+ // Returns a ALREADY_EXISTS error if the control has already been applied.
+ // Returns a FAILED_PRECONDITION error if the addition could exceed maximum
+ // number of control allowed for that type of control.
+ rpc AddControl(AddControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:addControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+
+ // Disables a Control on the specified ServingConfig.
+ // The control is removed from the ServingConfig.
+ // Returns a NOT_FOUND error if the Control is not enabled for the
+ // ServingConfig.
+ rpc RemoveControl(RemoveControlRequest) returns (ServingConfig) {
+ option (google.api.http) = {
+ post: "/v2beta/{serving_config=projects/*/locations/*/catalogs/*/servingConfigs/*}:removeControl"
+ body: "*"
+ };
+ option (google.api.method_signature) = "serving_config";
+ }
+}
+
+// Request for CreateServingConfig method.
+message CreateServingConfigRequest {
+ // Required. Full resource name of parent. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Required. The ServingConfig to create.
+ ServingConfig serving_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the ServingConfig, which will become the final
+ // component of the ServingConfig's resource name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-_/.
+ string serving_config_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for UpdateServingConfig method.
+message UpdateServingConfigRequest {
+ // Required. The ServingConfig to update.
+ ServingConfig serving_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicates which fields in the provided
+ // [ServingConfig][google.cloud.retail.v2beta.ServingConfig] to update. The
+ // following are NOT supported:
+ //
+ // * [ServingConfig.name][google.cloud.retail.v2beta.ServingConfig.name]
+ //
+ // If not set, all supported fields are updated.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request for DeleteServingConfig method.
+message DeleteServingConfigRequest {
+ // Required. The resource name of the ServingConfig to delete. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for GetServingConfig method.
+message GetServingConfigRequest {
+ // Required. The resource name of the ServingConfig to get. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+}
+
+// Request for ListServingConfigs method.
+message ListServingConfigsRequest {
+ // Required. The catalog resource name. Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = { type: "retail.googleapis.com/Catalog" }
+ ];
+
+ // Optional. Maximum number of results to return. If unspecified, defaults
+ // to 100. If a value greater than 100 is provided, at most 100 results are
+ // returned.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListServingConfigs` call.
+ // Provide this to retrieve the subsequent page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response for ListServingConfigs method.
+message ListServingConfigsResponse {
+ // All the ServingConfigs for a given catalog.
+ repeated ServingConfig serving_configs = 1;
+
+ // Pagination token, if not returned indicates the last page.
+ string next_page_token = 2;
+}
+
+// Request for AddControl method.
+message AddControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config - if id is not found a NOT_FOUND error is returned.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for RemoveControl method.
+message RemoveControlRequest {
+ // Required. The source ServingConfig resource name . Format:
+ // `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/servingConfigs/{serving_config_id}`
+ string serving_config = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "retail.googleapis.com/ServingConfig"
+ }
+ ];
+
+ // Required. The id of the control to apply. Assumed to be in the same catalog
+ // as the serving config.
+ string control_id = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event.proto
new file mode 100644
index 00000000000..3d88483e79f
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event.proto
@@ -0,0 +1,345 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/field_behavior.proto";
+import "google/cloud/retail/v2beta/common.proto";
+import "google/cloud/retail/v2beta/product.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// UserEvent captures all metadata information Retail API needs to know about
+// how end users interact with customers' website.
+message UserEvent {
+ // Required. User event type. Allowed values are:
+ //
+ // * `add-to-cart`: Products being added to cart.
+ // * `category-page-view`: Special pages such as sale or promotion pages
+ // viewed.
+ // * `detail-page-view`: Products detail page viewed.
+ // * `home-page-view`: Homepage viewed.
+ // * `promotion-offered`: Promotion is offered to a user.
+ // * `promotion-not-offered`: Promotion is not offered to a user.
+ // * `purchase-complete`: User finishing a purchase.
+ // * `search`: Product search.
+ // * `shopping-cart-page-view`: User viewing a shopping cart.
+ string event_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A unique identifier for tracking visitors.
+ //
+ // For example, this could be implemented with an HTTP cookie, which should be
+ // able to uniquely identify a visitor on a single device. This unique
+ // identifier should not change if the visitor log in/out of the website.
+ //
+ // Don't set the field to the same fixed ID for different users. This mixes
+ // the event history of those users together, which results in degraded model
+ // quality.
+ //
+ // The field must be a UTF-8 encoded string with a length limit of 128
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // The field should not contain PII or user-data. We recommend to use Google
+ // Analytics [Client
+ // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
+ // for this field.
+ string visitor_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // A unique identifier for tracking a visitor session with a length limit of
+ // 128 bytes. A session is an aggregation of an end user behavior in a time
+ // span.
+ //
+ // A general guideline to populate the sesion_id:
+ // 1. If user has no activity for 30 min, a new session_id should be assigned.
+ // 2. The session_id should be unique across users, suggest use uuid or add
+ // visitor_id as prefix.
+ string session_id = 21;
+
+ // Only required for
+ // [UserEventService.ImportUserEvents][google.cloud.retail.v2beta.UserEventService.ImportUserEvents]
+ // method. Timestamp of when the user event happened.
+ google.protobuf.Timestamp event_time = 3;
+
+ // A list of identifiers for the independent experiment groups this user event
+ // belongs to. This is used to distinguish between user events associated with
+ // different experiment setups (e.g. using Retail API, using different
+ // recommendation models).
+ repeated string experiment_ids = 4;
+
+ // Highly recommended for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2beta.PredictionService.Predict].
+ // This field enables accurate attribution of recommendation model
+ // performance.
+ //
+ // The value must be a valid
+ // [PredictResponse.attribution_token][google.cloud.retail.v2beta.PredictResponse.attribution_token]
+ // for user events that are the result of
+ // [PredictionService.Predict][google.cloud.retail.v2beta.PredictionService.Predict].
+ // The value must be a valid
+ // [SearchResponse.attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
+ // for user events that are the result of
+ // [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search].
+ //
+ // This token enables us to accurately attribute page view or purchase back to
+ // the event and the particular predict response containing this
+ // clicked/purchased product. If user clicks on product K in the
+ // recommendation results, pass
+ // [PredictResponse.attribution_token][google.cloud.retail.v2beta.PredictResponse.attribution_token]
+ // as a URL parameter to product K's page. When recording events on product
+ // K's page, log the
+ // [PredictResponse.attribution_token][google.cloud.retail.v2beta.PredictResponse.attribution_token]
+ // to this field.
+ string attribution_token = 5;
+
+ // The main product details related to the event.
+ //
+ // This field is optional except for the following event types:
+ //
+ // * `add-to-cart`
+ // * `detail-page-view`
+ // * `purchase-complete`
+ //
+ // In a `search` event, this field represents the products returned to the end
+ // user on the current page (the end user may have not finished browsing the
+ // whole page yet). When a new page is returned to the end user, after
+ // pagination/filtering/ordering even for the same query, a new `search` event
+ // with different
+ // [product_details][google.cloud.retail.v2beta.UserEvent.product_details] is
+ // desired. The end user may have not finished browsing the whole page yet.
+ repeated ProductDetail product_details = 6;
+
+ // The main auto-completion details related to the event.
+ //
+ // This field should be set for `search` event when autocomplete function is
+ // enabled and the user clicks a suggestion for search.
+ CompletionDetail completion_detail = 22;
+
+ // Extra user event features to include in the recommendation model.
+ //
+ // If you provide custom attributes for ingested user events, also include
+ // them in the user events that you associate with prediction requests. Custom
+ // attribute formatting must be consistent between imported events and events
+ // provided with prediction requests. This lets the Retail API use
+ // those custom attributes when training models and serving predictions, which
+ // helps improve recommendation quality.
+ //
+ // This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
+ // error is returned:
+ //
+ // * The key must be a UTF-8 encoded string with a length limit of 5,000
+ // characters.
+ // * For text attributes, at most 400 values are allowed. Empty values are not
+ // allowed. Each value must be a UTF-8 encoded string with a length limit of
+ // 256 characters.
+ // * For number attributes, at most 400 values are allowed.
+ //
+ // For product recommendations, an example of extra user information is
+ // traffic_channel, which is how a user arrives at the site. Users can arrive
+ // at the site by coming to the site directly, coming through Google
+ // search, or in other ways.
+ map attributes = 7;
+
+ // The ID or name of the associated shopping cart. This ID is used
+ // to associate multiple items added or present in the cart before purchase.
+ //
+ // This can only be set for `add-to-cart`, `purchase-complete`, or
+ // `shopping-cart-page-view` events.
+ string cart_id = 8;
+
+ // A transaction represents the entire purchase transaction.
+ //
+ // Required for `purchase-complete` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ PurchaseTransaction purchase_transaction = 9;
+
+ // The user's search query.
+ //
+ // See [SearchRequest.query][google.cloud.retail.v2beta.SearchRequest.query]
+ // for definition.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 5,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // At least one of
+ // [search_query][google.cloud.retail.v2beta.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2beta.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ string search_query = 10;
+
+ // The filter syntax consists of an expression language for constructing a
+ // predicate from one or more fields of the products being filtered.
+ //
+ // See [SearchRequest.filter][google.cloud.retail.v2beta.SearchRequest.filter]
+ // for definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ string filter = 16;
+
+ // The order in which products are returned.
+ //
+ // See
+ // [SearchRequest.order_by][google.cloud.retail.v2beta.SearchRequest.order_by]
+ // for definition and syntax.
+ //
+ // The value must be a UTF-8 encoded string with a length limit of 1,000
+ // characters. Otherwise, an INVALID_ARGUMENT error is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ string order_by = 17;
+
+ // An integer that specifies the current offset for pagination (the 0-indexed
+ // starting location, amongst the products deemed by the API as relevant).
+ //
+ // See [SearchRequest.offset][google.cloud.retail.v2beta.SearchRequest.offset]
+ // for definition.
+ //
+ // If this field is negative, an INVALID_ARGUMENT is returned.
+ //
+ // This can only be set for `search` events. Other event types should not set
+ // this field. Otherwise, an INVALID_ARGUMENT error is returned.
+ int32 offset = 18;
+
+ // The categories associated with a category page.
+ //
+ // To represent full path of category, use '>' sign to separate different
+ // hierarchies. If '>' is part of the category name, replace it with
+ // other character(s).
+ //
+ // Category pages include special pages such as sales or promotions. For
+ // instance, a special sale page may have the category hierarchy:
+ // "pageCategories" : ["Sales > 2017 Black Friday Deals"].
+ //
+ // Required for `category-page-view` events. At least one of
+ // [search_query][google.cloud.retail.v2beta.UserEvent.search_query] or
+ // [page_categories][google.cloud.retail.v2beta.UserEvent.page_categories] is
+ // required for `search` events. Other event types should not set this field.
+ // Otherwise, an INVALID_ARGUMENT error is returned.
+ repeated string page_categories = 11;
+
+ // User information.
+ UserInfo user_info = 12;
+
+ // Complete URL (window.location.href) of the user's current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically. Maximum length 5,000
+ // characters.
+ string uri = 13;
+
+ // The referrer URL of the current page.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string referrer_uri = 14;
+
+ // A unique ID of a web page view.
+ //
+ // This should be kept the same for all user events triggered from the same
+ // pageview. For example, an item detail page view could trigger multiple
+ // events as the user is browsing the page. The `pageViewId` property should
+ // be kept the same for all these events so that they can be grouped together
+ // properly.
+ //
+ // When using the client side event reporting with JavaScript pixel and Google
+ // Tag Manager, this value is filled in automatically.
+ string page_view_id = 15;
+}
+
+// Detailed product information associated with a user event.
+message ProductDetail {
+ // Required. [Product][google.cloud.retail.v2beta.Product] information.
+ //
+ // Required field(s):
+ //
+ // * [Product.id][google.cloud.retail.v2beta.Product.id]
+ //
+ // Optional override field(s):
+ //
+ // * [Product.price_info][google.cloud.retail.v2beta.Product.price_info]
+ //
+ // If any supported optional fields are provided, we will treat them as a full
+ // override when looking up product information from the catalog. Thus, it is
+ // important to ensure that the overriding fields are accurate and
+ // complete.
+ //
+ // All other product fields are ignored and instead populated via catalog
+ // lookup after event ingestion.
+ Product product = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Quantity of the product associated with the user event.
+ //
+ // For example, this field will be 2 if two products are added to the shopping
+ // cart for `purchase-complete` event. Required for `add-to-cart` and
+ // `purchase-complete` event types.
+ google.protobuf.Int32Value quantity = 2;
+}
+
+// Detailed completion information including completion attribution token and
+// clicked completion info.
+message CompletionDetail {
+ // Completion attribution token in
+ // [CompleteQueryResponse.attribution_token][google.cloud.retail.v2beta.CompleteQueryResponse.attribution_token].
+ string completion_attribution_token = 1;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2beta.CompleteQueryResponse.CompletionResult.suggestion].
+ string selected_suggestion = 2;
+
+ // End user selected
+ // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2beta.CompleteQueryResponse.CompletionResult.suggestion]
+ // position, starting from 0.
+ int32 selected_position = 3;
+}
+
+// A transaction represents the entire purchase transaction.
+message PurchaseTransaction {
+ // The transaction ID with a length limit of 128 characters.
+ string id = 1;
+
+ // Required. Total non-zero revenue or grand total associated with the
+ // transaction. This value include shipping, tax, or other adjustments to
+ // total revenue that you want to include as part of your revenue
+ // calculations.
+ float revenue = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // All the taxes associated with the transaction.
+ float tax = 3;
+
+ // All the costs associated with the products. These can be manufacturing
+ // costs, shipping expenses not borne by the end user, or any other costs,
+ // such that:
+ //
+ // * Profit =
+ // [revenue][google.cloud.retail.v2beta.PurchaseTransaction.revenue] -
+ // [tax][google.cloud.retail.v2beta.PurchaseTransaction.tax] -
+ // [cost][google.cloud.retail.v2beta.PurchaseTransaction.cost]
+ float cost = 4;
+
+ // Required. Currency code. Use three-character ISO-4217 code.
+ string currency_code = 5 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event_service.proto b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event_service.proto
new file mode 100644
index 00000000000..74dccdff892
--- /dev/null
+++ b/packages/google-cloud-retail/protos/google/cloud/retail/v2beta/user_event_service.proto
@@ -0,0 +1,190 @@
+// 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.
+
+syntax = "proto3";
+
+package google.cloud.retail.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/httpbody.proto";
+import "google/api/resource.proto";
+import "google/cloud/retail/v2beta/import_config.proto";
+import "google/cloud/retail/v2beta/purge_config.proto";
+import "google/cloud/retail/v2beta/user_event.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.Retail.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2beta;retail";
+option java_multiple_files = true;
+option java_outer_classname = "UserEventServiceProto";
+option java_package = "com.google.cloud.retail.v2beta";
+option objc_class_prefix = "RETAIL";
+option php_namespace = "Google\\Cloud\\Retail\\V2beta";
+option ruby_package = "Google::Cloud::Retail::V2beta";
+
+// Service for ingesting end user actions on the customer website.
+service UserEventService {
+ option (google.api.default_host) = "retail.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Writes a single user event.
+ rpc WriteUserEvent(WriteUserEventRequest) returns (UserEvent) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:write"
+ body: "user_event"
+ };
+ }
+
+ // Writes a single user event from the browser. This uses a GET request to
+ // due to browser restriction of POST-ing to a 3rd party domain.
+ //
+ // This method is used only by the Retail API JavaScript pixel and Google Tag
+ // Manager. Users should not call this method directly.
+ rpc CollectUserEvent(CollectUserEventRequest) returns (google.api.HttpBody) {
+ option (google.api.http) = {
+ get: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:collect"
+ };
+ }
+
+ // Deletes permanently all user events specified by the filter provided.
+ // Depending on the number of events specified by the filter, this operation
+ // could take hours or days to complete. To test a filter, use the list
+ // command first.
+ rpc PurgeUserEvents(PurgeUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:purge"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.PurgeUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2beta.PurgeMetadata"
+ };
+ }
+
+ // Bulk import of User events. Request processing might be
+ // synchronous. Events that already exist are skipped.
+ // Use this method for backfilling historical user events.
+ //
+ // `Operation.response` is of type `ImportResponse`. Note that it is
+ // possible for a subset of the items to be successfully inserted.
+ // `Operation.metadata` is of type `ImportMetadata`.
+ rpc ImportUserEvents(ImportUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:import"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.retail.v2beta.ImportUserEventsResponse"
+ metadata_type: "google.cloud.retail.v2beta.ImportMetadata"
+ };
+ }
+
+ // Starts a user-event rejoin operation with latest product catalog. Events
+ // are not annotated with detailed product information for products that are
+ // missing from the catalog when the user event is ingested. These
+ // events are stored as unjoined events with limited usage on training and
+ // serving. You can use this method to start a join operation on specified
+ // events with the latest version of product catalog. You can also use this
+ // method to correct events joined with the wrong product catalog. A rejoin
+ // operation can take hours or days to complete.
+ rpc RejoinUserEvents(RejoinUserEventsRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*/catalogs/*}/userEvents:rejoin"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "RejoinUserEventsResponse"
+ metadata_type: "RejoinUserEventsMetadata"
+ };
+ }
+}
+
+// Request message for WriteUserEvent method.
+message WriteUserEventRequest {
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. User event to write.
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for CollectUserEvent method.
+message CollectUserEventRequest {
+ // Required. The parent catalog name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. URL encoded UserEvent proto with a length limit of 2,000,000
+ // characters.
+ string user_event = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The URL including cgi-parameters but excluding the hash fragment with a
+ // length limit of 5,000 characters. This is often more useful than the
+ // referer URL, because many browsers only send the domain for 3rd party
+ // requests.
+ string uri = 3;
+
+ // The event timestamp in milliseconds. This prevents browser caching of
+ // otherwise identical get requests. The name is abbreviated to reduce the
+ // payload bytes.
+ int64 ets = 4;
+}
+
+// Request message for RejoinUserEvents method.
+message RejoinUserEventsRequest {
+ // The scope of user events to be rejoined with the latest product catalog.
+ // If the rejoining aims at reducing number of unjoined events, set
+ // `UserEventRejoinScope` to `UNJOINED_EVENTS`.
+ // If the rejoining aims at correcting product catalog information in joined
+ // events, set `UserEventRejoinScope` to `JOINED_EVENTS`.
+ // If all events needs to be rejoined, set `UserEventRejoinScope` to
+ // `USER_EVENT_REJOIN_SCOPE_UNSPECIFIED`.
+ enum UserEventRejoinScope {
+ // Rejoin all events with the latest product catalog, including both joined
+ // events and unjoined events.
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0;
+
+ // Only rejoin joined events with the latest product catalog.
+ JOINED_EVENTS = 1;
+
+ // Only rejoin unjoined events with the latest product catalog.
+ UNJOINED_EVENTS = 2;
+ }
+
+ // Required. The parent catalog resource name, such as
+ // `projects/1234/locations/global/catalogs/default_catalog`.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The type of the user event rejoin to define the scope and range of the user
+ // events to be rejoined with the latest product catalog. Defaults to
+ // `USER_EVENT_REJOIN_SCOPE_UNSPECIFIED` if this field is not set, or set to
+ // an invalid integer value.
+ UserEventRejoinScope user_event_rejoin_scope = 2;
+}
+
+// Response message for `RejoinUserEvents` method.
+message RejoinUserEventsResponse {
+ // Number of user events that were joined with latest product catalog.
+ int64 rejoined_user_events_count = 1;
+}
+
+// Metadata for `RejoinUserEvents` method.
+message RejoinUserEventsMetadata {}
diff --git a/packages/google-cloud-retail/protos/protos.d.ts b/packages/google-cloud-retail/protos/protos.d.ts
new file mode 100644
index 00000000000..1d348e9aa9b
--- /dev/null
+++ b/packages/google-cloud-retail/protos/protos.d.ts
@@ -0,0 +1,59739 @@
+// 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 retail. */
+ namespace retail {
+
+ /** Namespace v2. */
+ namespace v2 {
+
+ /** Properties of a ProductLevelConfig. */
+ interface IProductLevelConfig {
+
+ /** ProductLevelConfig ingestionProductType */
+ ingestionProductType?: (string|null);
+
+ /** ProductLevelConfig merchantCenterProductIdField */
+ merchantCenterProductIdField?: (string|null);
+ }
+
+ /** Represents a ProductLevelConfig. */
+ class ProductLevelConfig implements IProductLevelConfig {
+
+ /**
+ * Constructs a new ProductLevelConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IProductLevelConfig);
+
+ /** ProductLevelConfig ingestionProductType. */
+ public ingestionProductType: string;
+
+ /** ProductLevelConfig merchantCenterProductIdField. */
+ public merchantCenterProductIdField: string;
+
+ /**
+ * Creates a new ProductLevelConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductLevelConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IProductLevelConfig): google.cloud.retail.v2.ProductLevelConfig;
+
+ /**
+ * Encodes the specified ProductLevelConfig message. Does not implicitly {@link google.cloud.retail.v2.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductLevelConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload is not 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.retail.v2.ProductLevelConfig;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload 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.retail.v2.ProductLevelConfig;
+
+ /**
+ * Verifies a ProductLevelConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductLevelConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductLevelConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ProductLevelConfig;
+
+ /**
+ * Creates a plain object from a ProductLevelConfig message. Also converts values to other types if specified.
+ * @param message ProductLevelConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ProductLevelConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductLevelConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductLevelConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CatalogAttribute. */
+ interface ICatalogAttribute {
+
+ /** CatalogAttribute key */
+ key?: (string|null);
+
+ /** CatalogAttribute inUse */
+ inUse?: (boolean|null);
+
+ /** CatalogAttribute type */
+ type?: (google.cloud.retail.v2.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2.CatalogAttribute.AttributeType|null);
+
+ /** CatalogAttribute indexableOption */
+ indexableOption?: (google.cloud.retail.v2.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.IndexableOption|null);
+
+ /** CatalogAttribute dynamicFacetableOption */
+ dynamicFacetableOption?: (google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption|null);
+
+ /** CatalogAttribute searchableOption */
+ searchableOption?: (google.cloud.retail.v2.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.SearchableOption|null);
+ }
+
+ /** Represents a CatalogAttribute. */
+ class CatalogAttribute implements ICatalogAttribute {
+
+ /**
+ * Constructs a new CatalogAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICatalogAttribute);
+
+ /** CatalogAttribute key. */
+ public key: string;
+
+ /** CatalogAttribute inUse. */
+ public inUse: boolean;
+
+ /** CatalogAttribute type. */
+ public type: (google.cloud.retail.v2.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2.CatalogAttribute.AttributeType);
+
+ /** CatalogAttribute indexableOption. */
+ public indexableOption: (google.cloud.retail.v2.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.IndexableOption);
+
+ /** CatalogAttribute dynamicFacetableOption. */
+ public dynamicFacetableOption: (google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption);
+
+ /** CatalogAttribute searchableOption. */
+ public searchableOption: (google.cloud.retail.v2.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2.CatalogAttribute.SearchableOption);
+
+ /**
+ * Creates a new CatalogAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CatalogAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICatalogAttribute): google.cloud.retail.v2.CatalogAttribute;
+
+ /**
+ * Encodes the specified CatalogAttribute message. Does not implicitly {@link google.cloud.retail.v2.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CatalogAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload is not 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.retail.v2.CatalogAttribute;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload 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.retail.v2.CatalogAttribute;
+
+ /**
+ * Verifies a CatalogAttribute message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CatalogAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CatalogAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CatalogAttribute;
+
+ /**
+ * Creates a plain object from a CatalogAttribute message. Also converts values to other types if specified.
+ * @param message CatalogAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CatalogAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CatalogAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CatalogAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CatalogAttribute {
+
+ /** AttributeType enum. */
+ enum AttributeType {
+ UNKNOWN = 0,
+ TEXTUAL = 1,
+ NUMERICAL = 2
+ }
+
+ /** IndexableOption enum. */
+ enum IndexableOption {
+ INDEXABLE_OPTION_UNSPECIFIED = 0,
+ INDEXABLE_ENABLED = 1,
+ INDEXABLE_DISABLED = 2
+ }
+
+ /** DynamicFacetableOption enum. */
+ enum DynamicFacetableOption {
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0,
+ DYNAMIC_FACETABLE_ENABLED = 1,
+ DYNAMIC_FACETABLE_DISABLED = 2
+ }
+
+ /** SearchableOption enum. */
+ enum SearchableOption {
+ SEARCHABLE_OPTION_UNSPECIFIED = 0,
+ SEARCHABLE_ENABLED = 1,
+ SEARCHABLE_DISABLED = 2
+ }
+ }
+
+ /** Properties of an AttributesConfig. */
+ interface IAttributesConfig {
+
+ /** AttributesConfig name */
+ name?: (string|null);
+
+ /** AttributesConfig catalogAttributes */
+ catalogAttributes?: ({ [k: string]: google.cloud.retail.v2.ICatalogAttribute }|null);
+
+ /** AttributesConfig attributeConfigLevel */
+ attributeConfigLevel?: (google.cloud.retail.v2.AttributeConfigLevel|keyof typeof google.cloud.retail.v2.AttributeConfigLevel|null);
+ }
+
+ /** Represents an AttributesConfig. */
+ class AttributesConfig implements IAttributesConfig {
+
+ /**
+ * Constructs a new AttributesConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAttributesConfig);
+
+ /** AttributesConfig name. */
+ public name: string;
+
+ /** AttributesConfig catalogAttributes. */
+ public catalogAttributes: { [k: string]: google.cloud.retail.v2.ICatalogAttribute };
+
+ /** AttributesConfig attributeConfigLevel. */
+ public attributeConfigLevel: (google.cloud.retail.v2.AttributeConfigLevel|keyof typeof google.cloud.retail.v2.AttributeConfigLevel);
+
+ /**
+ * Creates a new AttributesConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttributesConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAttributesConfig): google.cloud.retail.v2.AttributesConfig;
+
+ /**
+ * Encodes the specified AttributesConfig message. Does not implicitly {@link google.cloud.retail.v2.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttributesConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttributesConfig
+ * @throws {Error} If the payload is not 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.retail.v2.AttributesConfig;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttributesConfig
+ * @throws {Error} If the payload 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.retail.v2.AttributesConfig;
+
+ /**
+ * Verifies an AttributesConfig message.
+ * @param message Plain 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 AttributesConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttributesConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AttributesConfig;
+
+ /**
+ * Creates a plain object from an AttributesConfig message. Also converts values to other types if specified.
+ * @param message AttributesConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AttributesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttributesConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttributesConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionConfig. */
+ interface ICompletionConfig {
+
+ /** CompletionConfig name */
+ name?: (string|null);
+
+ /** CompletionConfig matchingOrder */
+ matchingOrder?: (string|null);
+
+ /** CompletionConfig maxSuggestions */
+ maxSuggestions?: (number|null);
+
+ /** CompletionConfig minPrefixLength */
+ minPrefixLength?: (number|null);
+
+ /** CompletionConfig autoLearning */
+ autoLearning?: (boolean|null);
+
+ /** CompletionConfig suggestionsInputConfig */
+ suggestionsInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation */
+ lastSuggestionsImportOperation?: (string|null);
+
+ /** CompletionConfig denylistInputConfig */
+ denylistInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation */
+ lastDenylistImportOperation?: (string|null);
+
+ /** CompletionConfig allowlistInputConfig */
+ allowlistInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation */
+ lastAllowlistImportOperation?: (string|null);
+ }
+
+ /** Represents a CompletionConfig. */
+ class CompletionConfig implements ICompletionConfig {
+
+ /**
+ * Constructs a new CompletionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICompletionConfig);
+
+ /** CompletionConfig name. */
+ public name: string;
+
+ /** CompletionConfig matchingOrder. */
+ public matchingOrder: string;
+
+ /** CompletionConfig maxSuggestions. */
+ public maxSuggestions: number;
+
+ /** CompletionConfig minPrefixLength. */
+ public minPrefixLength: number;
+
+ /** CompletionConfig autoLearning. */
+ public autoLearning: boolean;
+
+ /** CompletionConfig suggestionsInputConfig. */
+ public suggestionsInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation. */
+ public lastSuggestionsImportOperation: string;
+
+ /** CompletionConfig denylistInputConfig. */
+ public denylistInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation. */
+ public lastDenylistImportOperation: string;
+
+ /** CompletionConfig allowlistInputConfig. */
+ public allowlistInputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation. */
+ public lastAllowlistImportOperation: string;
+
+ /**
+ * Creates a new CompletionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICompletionConfig): google.cloud.retail.v2.CompletionConfig;
+
+ /**
+ * Encodes the specified CompletionConfig message. Does not implicitly {@link google.cloud.retail.v2.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionConfig
+ * @throws {Error} If the payload is not 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.retail.v2.CompletionConfig;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionConfig
+ * @throws {Error} If the payload 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.retail.v2.CompletionConfig;
+
+ /**
+ * Verifies a CompletionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CompletionConfig;
+
+ /**
+ * Creates a plain object from a CompletionConfig message. Also converts values to other types if specified.
+ * @param message CompletionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CompletionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Catalog. */
+ interface ICatalog {
+
+ /** Catalog name */
+ name?: (string|null);
+
+ /** Catalog displayName */
+ displayName?: (string|null);
+
+ /** Catalog productLevelConfig */
+ productLevelConfig?: (google.cloud.retail.v2.IProductLevelConfig|null);
+ }
+
+ /** Represents a Catalog. */
+ class Catalog implements ICatalog {
+
+ /**
+ * Constructs a new Catalog.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICatalog);
+
+ /** Catalog name. */
+ public name: string;
+
+ /** Catalog displayName. */
+ public displayName: string;
+
+ /** Catalog productLevelConfig. */
+ public productLevelConfig?: (google.cloud.retail.v2.IProductLevelConfig|null);
+
+ /**
+ * Creates a new Catalog instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Catalog instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICatalog): google.cloud.retail.v2.Catalog;
+
+ /**
+ * Encodes the specified Catalog message. Does not implicitly {@link google.cloud.retail.v2.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Catalog message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Catalog
+ * @throws {Error} If the payload is not 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.retail.v2.Catalog;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Catalog
+ * @throws {Error} If the payload 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.retail.v2.Catalog;
+
+ /**
+ * Verifies a Catalog message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Catalog message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Catalog
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Catalog;
+
+ /**
+ * Creates a plain object from a Catalog message. Also converts values to other types if specified.
+ * @param message Catalog
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Catalog, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Catalog to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Catalog
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** AttributeConfigLevel enum. */
+ enum AttributeConfigLevel {
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0,
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1,
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2
+ }
+
+ /** SolutionType enum. */
+ enum SolutionType {
+ SOLUTION_TYPE_UNSPECIFIED = 0,
+ SOLUTION_TYPE_RECOMMENDATION = 1,
+ SOLUTION_TYPE_SEARCH = 2
+ }
+
+ /** SearchSolutionUseCase enum. */
+ enum SearchSolutionUseCase {
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0,
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1,
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2
+ }
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition queryTerms */
+ queryTerms?: (google.cloud.retail.v2.Condition.IQueryTerm[]|null);
+
+ /** Condition activeTimeRange */
+ activeTimeRange?: (google.cloud.retail.v2.Condition.ITimeRange[]|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICondition);
+
+ /** Condition queryTerms. */
+ public queryTerms: google.cloud.retail.v2.Condition.IQueryTerm[];
+
+ /** Condition activeTimeRange. */
+ public activeTimeRange: google.cloud.retail.v2.Condition.ITimeRange[];
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICondition): google.cloud.retail.v2.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.cloud.retail.v2.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Condition
+ * @throws {Error} If the payload is not 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.retail.v2.Condition;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Condition
+ * @throws {Error} If the payload 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.retail.v2.Condition;
+
+ /**
+ * Verifies a Condition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Condition
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Condition;
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @param message Condition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Condition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Condition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Condition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Condition {
+
+ /** Properties of a QueryTerm. */
+ interface IQueryTerm {
+
+ /** QueryTerm value */
+ value?: (string|null);
+
+ /** QueryTerm fullMatch */
+ fullMatch?: (boolean|null);
+ }
+
+ /** Represents a QueryTerm. */
+ class QueryTerm implements IQueryTerm {
+
+ /**
+ * Constructs a new QueryTerm.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Condition.IQueryTerm);
+
+ /** QueryTerm value. */
+ public value: string;
+
+ /** QueryTerm fullMatch. */
+ public fullMatch: boolean;
+
+ /**
+ * Creates a new QueryTerm instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryTerm instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Condition.IQueryTerm): google.cloud.retail.v2.Condition.QueryTerm;
+
+ /**
+ * Encodes the specified QueryTerm message. Does not implicitly {@link google.cloud.retail.v2.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryTerm message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryTerm
+ * @throws {Error} If the payload is not 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.retail.v2.Condition.QueryTerm;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryTerm
+ * @throws {Error} If the payload 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.retail.v2.Condition.QueryTerm;
+
+ /**
+ * Verifies a QueryTerm message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryTerm message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryTerm
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Condition.QueryTerm;
+
+ /**
+ * Creates a plain object from a QueryTerm message. Also converts values to other types if specified.
+ * @param message QueryTerm
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Condition.QueryTerm, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryTerm to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryTerm
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeRange. */
+ interface ITimeRange {
+
+ /** TimeRange startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeRange. */
+ class TimeRange implements ITimeRange {
+
+ /**
+ * Constructs a new TimeRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Condition.ITimeRange);
+
+ /** TimeRange startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Condition.ITimeRange): google.cloud.retail.v2.Condition.TimeRange;
+
+ /**
+ * Encodes the specified TimeRange message. Does not implicitly {@link google.cloud.retail.v2.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeRange
+ * @throws {Error} If the payload is not 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.retail.v2.Condition.TimeRange;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeRange
+ * @throws {Error} If the payload 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.retail.v2.Condition.TimeRange;
+
+ /**
+ * Verifies a TimeRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Condition.TimeRange;
+
+ /**
+ * Creates a plain object from a TimeRange message. Also converts values to other types if specified.
+ * @param message TimeRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Condition.TimeRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rule. */
+ interface IRule {
+
+ /** Rule boostAction */
+ boostAction?: (google.cloud.retail.v2.Rule.IBoostAction|null);
+
+ /** Rule redirectAction */
+ redirectAction?: (google.cloud.retail.v2.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction */
+ onewaySynonymsAction?: (google.cloud.retail.v2.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction */
+ doNotAssociateAction?: (google.cloud.retail.v2.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction */
+ replacementAction?: (google.cloud.retail.v2.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction */
+ ignoreAction?: (google.cloud.retail.v2.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction */
+ filterAction?: (google.cloud.retail.v2.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction */
+ twowaySynonymsAction?: (google.cloud.retail.v2.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition */
+ condition?: (google.cloud.retail.v2.ICondition|null);
+ }
+
+ /** Represents a Rule. */
+ class Rule implements IRule {
+
+ /**
+ * Constructs a new Rule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRule);
+
+ /** Rule boostAction. */
+ public boostAction?: (google.cloud.retail.v2.Rule.IBoostAction|null);
+
+ /** Rule redirectAction. */
+ public redirectAction?: (google.cloud.retail.v2.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction. */
+ public onewaySynonymsAction?: (google.cloud.retail.v2.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction. */
+ public doNotAssociateAction?: (google.cloud.retail.v2.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction. */
+ public replacementAction?: (google.cloud.retail.v2.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction. */
+ public ignoreAction?: (google.cloud.retail.v2.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction. */
+ public filterAction?: (google.cloud.retail.v2.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction. */
+ public twowaySynonymsAction?: (google.cloud.retail.v2.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition. */
+ public condition?: (google.cloud.retail.v2.ICondition|null);
+
+ /** Rule action. */
+ public action?: ("boostAction"|"redirectAction"|"onewaySynonymsAction"|"doNotAssociateAction"|"replacementAction"|"ignoreAction"|"filterAction"|"twowaySynonymsAction");
+
+ /**
+ * Creates a new Rule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rule instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRule): google.cloud.retail.v2.Rule;
+
+ /**
+ * Encodes the specified Rule message. Does not implicitly {@link google.cloud.retail.v2.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rule message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rule
+ * @throws {Error} If the payload is not 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.retail.v2.Rule;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rule
+ * @throws {Error} If the payload 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.retail.v2.Rule;
+
+ /**
+ * Verifies a Rule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule;
+
+ /**
+ * Creates a plain object from a Rule message. Also converts values to other types if specified.
+ * @param message Rule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Rule {
+
+ /** Properties of a BoostAction. */
+ interface IBoostAction {
+
+ /** BoostAction boost */
+ boost?: (number|null);
+
+ /** BoostAction productsFilter */
+ productsFilter?: (string|null);
+ }
+
+ /** Represents a BoostAction. */
+ class BoostAction implements IBoostAction {
+
+ /**
+ * Constructs a new BoostAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IBoostAction);
+
+ /** BoostAction boost. */
+ public boost: number;
+
+ /** BoostAction productsFilter. */
+ public productsFilter: string;
+
+ /**
+ * Creates a new BoostAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IBoostAction): google.cloud.retail.v2.Rule.BoostAction;
+
+ /**
+ * Encodes the specified BoostAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.BoostAction;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.BoostAction;
+
+ /**
+ * Verifies a BoostAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.BoostAction;
+
+ /**
+ * Creates a plain object from a BoostAction message. Also converts values to other types if specified.
+ * @param message BoostAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.BoostAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FilterAction. */
+ interface IFilterAction {
+
+ /** FilterAction filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a FilterAction. */
+ class FilterAction implements IFilterAction {
+
+ /**
+ * Constructs a new FilterAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IFilterAction);
+
+ /** FilterAction filter. */
+ public filter: string;
+
+ /**
+ * Creates a new FilterAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FilterAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IFilterAction): google.cloud.retail.v2.Rule.FilterAction;
+
+ /**
+ * Encodes the specified FilterAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FilterAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FilterAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.FilterAction;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FilterAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.FilterAction;
+
+ /**
+ * Verifies a FilterAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FilterAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FilterAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.FilterAction;
+
+ /**
+ * Creates a plain object from a FilterAction message. Also converts values to other types if specified.
+ * @param message FilterAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.FilterAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FilterAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FilterAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RedirectAction. */
+ interface IRedirectAction {
+
+ /** RedirectAction redirectUri */
+ redirectUri?: (string|null);
+ }
+
+ /** Represents a RedirectAction. */
+ class RedirectAction implements IRedirectAction {
+
+ /**
+ * Constructs a new RedirectAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IRedirectAction);
+
+ /** RedirectAction redirectUri. */
+ public redirectUri: string;
+
+ /**
+ * Creates a new RedirectAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedirectAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IRedirectAction): google.cloud.retail.v2.Rule.RedirectAction;
+
+ /**
+ * Encodes the specified RedirectAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedirectAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedirectAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.RedirectAction;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedirectAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.RedirectAction;
+
+ /**
+ * Verifies a RedirectAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedirectAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedirectAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.RedirectAction;
+
+ /**
+ * Creates a plain object from a RedirectAction message. Also converts values to other types if specified.
+ * @param message RedirectAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.RedirectAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedirectAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RedirectAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TwowaySynonymsAction. */
+ interface ITwowaySynonymsAction {
+
+ /** TwowaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+ }
+
+ /** Represents a TwowaySynonymsAction. */
+ class TwowaySynonymsAction implements ITwowaySynonymsAction {
+
+ /**
+ * Constructs a new TwowaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.ITwowaySynonymsAction);
+
+ /** TwowaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /**
+ * Creates a new TwowaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TwowaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.ITwowaySynonymsAction): google.cloud.retail.v2.Rule.TwowaySynonymsAction;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.TwowaySynonymsAction;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.TwowaySynonymsAction;
+
+ /**
+ * Verifies a TwowaySynonymsAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TwowaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TwowaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.TwowaySynonymsAction;
+
+ /**
+ * Creates a plain object from a TwowaySynonymsAction message. Also converts values to other types if specified.
+ * @param message TwowaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.TwowaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TwowaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TwowaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OnewaySynonymsAction. */
+ interface IOnewaySynonymsAction {
+
+ /** OnewaySynonymsAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** OnewaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+
+ /** OnewaySynonymsAction onewayTerms */
+ onewayTerms?: (string[]|null);
+ }
+
+ /** Represents an OnewaySynonymsAction. */
+ class OnewaySynonymsAction implements IOnewaySynonymsAction {
+
+ /**
+ * Constructs a new OnewaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IOnewaySynonymsAction);
+
+ /** OnewaySynonymsAction queryTerms. */
+ public queryTerms: string[];
+
+ /** OnewaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /** OnewaySynonymsAction onewayTerms. */
+ public onewayTerms: string[];
+
+ /**
+ * Creates a new OnewaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OnewaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IOnewaySynonymsAction): google.cloud.retail.v2.Rule.OnewaySynonymsAction;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.OnewaySynonymsAction;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.OnewaySynonymsAction;
+
+ /**
+ * Verifies an OnewaySynonymsAction message.
+ * @param message Plain 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 OnewaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OnewaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.OnewaySynonymsAction;
+
+ /**
+ * Creates a plain object from an OnewaySynonymsAction message. Also converts values to other types if specified.
+ * @param message OnewaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.OnewaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OnewaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OnewaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoNotAssociateAction. */
+ interface IDoNotAssociateAction {
+
+ /** DoNotAssociateAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** DoNotAssociateAction doNotAssociateTerms */
+ doNotAssociateTerms?: (string[]|null);
+
+ /** DoNotAssociateAction terms */
+ terms?: (string[]|null);
+ }
+
+ /** Represents a DoNotAssociateAction. */
+ class DoNotAssociateAction implements IDoNotAssociateAction {
+
+ /**
+ * Constructs a new DoNotAssociateAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IDoNotAssociateAction);
+
+ /** DoNotAssociateAction queryTerms. */
+ public queryTerms: string[];
+
+ /** DoNotAssociateAction doNotAssociateTerms. */
+ public doNotAssociateTerms: string[];
+
+ /** DoNotAssociateAction terms. */
+ public terms: string[];
+
+ /**
+ * Creates a new DoNotAssociateAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoNotAssociateAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IDoNotAssociateAction): google.cloud.retail.v2.Rule.DoNotAssociateAction;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.DoNotAssociateAction;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.DoNotAssociateAction;
+
+ /**
+ * Verifies a DoNotAssociateAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoNotAssociateAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoNotAssociateAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.DoNotAssociateAction;
+
+ /**
+ * Creates a plain object from a DoNotAssociateAction message. Also converts values to other types if specified.
+ * @param message DoNotAssociateAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.DoNotAssociateAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoNotAssociateAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoNotAssociateAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplacementAction. */
+ interface IReplacementAction {
+
+ /** ReplacementAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** ReplacementAction replacementTerm */
+ replacementTerm?: (string|null);
+
+ /** ReplacementAction term */
+ term?: (string|null);
+ }
+
+ /** Represents a ReplacementAction. */
+ class ReplacementAction implements IReplacementAction {
+
+ /**
+ * Constructs a new ReplacementAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IReplacementAction);
+
+ /** ReplacementAction queryTerms. */
+ public queryTerms: string[];
+
+ /** ReplacementAction replacementTerm. */
+ public replacementTerm: string;
+
+ /** ReplacementAction term. */
+ public term: string;
+
+ /**
+ * Creates a new ReplacementAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplacementAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IReplacementAction): google.cloud.retail.v2.Rule.ReplacementAction;
+
+ /**
+ * Encodes the specified ReplacementAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplacementAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplacementAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.ReplacementAction;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplacementAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.ReplacementAction;
+
+ /**
+ * Verifies a ReplacementAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplacementAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplacementAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.ReplacementAction;
+
+ /**
+ * Creates a plain object from a ReplacementAction message. Also converts values to other types if specified.
+ * @param message ReplacementAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.ReplacementAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplacementAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplacementAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IgnoreAction. */
+ interface IIgnoreAction {
+
+ /** IgnoreAction ignoreTerms */
+ ignoreTerms?: (string[]|null);
+ }
+
+ /** Represents an IgnoreAction. */
+ class IgnoreAction implements IIgnoreAction {
+
+ /**
+ * Constructs a new IgnoreAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.Rule.IIgnoreAction);
+
+ /** IgnoreAction ignoreTerms. */
+ public ignoreTerms: string[];
+
+ /**
+ * Creates a new IgnoreAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IgnoreAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.Rule.IIgnoreAction): google.cloud.retail.v2.Rule.IgnoreAction;
+
+ /**
+ * Encodes the specified IgnoreAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IgnoreAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IgnoreAction
+ * @throws {Error} If the payload is not 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.retail.v2.Rule.IgnoreAction;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IgnoreAction
+ * @throws {Error} If the payload 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.retail.v2.Rule.IgnoreAction;
+
+ /**
+ * Verifies an IgnoreAction message.
+ * @param message Plain 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 IgnoreAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IgnoreAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rule.IgnoreAction;
+
+ /**
+ * Creates a plain object from an IgnoreAction message. Also converts values to other types if specified.
+ * @param message IgnoreAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rule.IgnoreAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IgnoreAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IgnoreAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Audience. */
+ interface IAudience {
+
+ /** Audience genders */
+ genders?: (string[]|null);
+
+ /** Audience ageGroups */
+ ageGroups?: (string[]|null);
+ }
+
+ /** Represents an Audience. */
+ class Audience implements IAudience {
+
+ /**
+ * Constructs a new Audience.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAudience);
+
+ /** Audience genders. */
+ public genders: string[];
+
+ /** Audience ageGroups. */
+ public ageGroups: string[];
+
+ /**
+ * Creates a new Audience instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Audience instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAudience): google.cloud.retail.v2.Audience;
+
+ /**
+ * Encodes the specified Audience message. Does not implicitly {@link google.cloud.retail.v2.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Audience message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Audience
+ * @throws {Error} If the payload is not 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.retail.v2.Audience;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Audience
+ * @throws {Error} If the payload 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.retail.v2.Audience;
+
+ /**
+ * Verifies an Audience message.
+ * @param message Plain 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 Audience message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Audience
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Audience;
+
+ /**
+ * Creates a plain object from an Audience message. Also converts values to other types if specified.
+ * @param message Audience
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Audience, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Audience to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Audience
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ColorInfo. */
+ interface IColorInfo {
+
+ /** ColorInfo colorFamilies */
+ colorFamilies?: (string[]|null);
+
+ /** ColorInfo colors */
+ colors?: (string[]|null);
+ }
+
+ /** Represents a ColorInfo. */
+ class ColorInfo implements IColorInfo {
+
+ /**
+ * Constructs a new ColorInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IColorInfo);
+
+ /** ColorInfo colorFamilies. */
+ public colorFamilies: string[];
+
+ /** ColorInfo colors. */
+ public colors: string[];
+
+ /**
+ * Creates a new ColorInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ColorInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IColorInfo): google.cloud.retail.v2.ColorInfo;
+
+ /**
+ * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.retail.v2.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ColorInfo
+ * @throws {Error} If the payload is not 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.retail.v2.ColorInfo;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ColorInfo
+ * @throws {Error} If the payload 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.retail.v2.ColorInfo;
+
+ /**
+ * Verifies a ColorInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ColorInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ColorInfo;
+
+ /**
+ * Creates a plain object from a ColorInfo message. Also converts values to other types if specified.
+ * @param message ColorInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ColorInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ColorInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomAttribute. */
+ interface ICustomAttribute {
+
+ /** CustomAttribute text */
+ text?: (string[]|null);
+
+ /** CustomAttribute numbers */
+ numbers?: (number[]|null);
+
+ /** CustomAttribute searchable */
+ searchable?: (boolean|null);
+
+ /** CustomAttribute indexable */
+ indexable?: (boolean|null);
+ }
+
+ /** Represents a CustomAttribute. */
+ class CustomAttribute implements ICustomAttribute {
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICustomAttribute);
+
+ /** CustomAttribute text. */
+ public text: string[];
+
+ /** CustomAttribute numbers. */
+ public numbers: number[];
+
+ /** CustomAttribute searchable. */
+ public searchable?: (boolean|null);
+
+ /** CustomAttribute indexable. */
+ public indexable?: (boolean|null);
+
+ /** CustomAttribute _searchable. */
+ public _searchable?: "searchable";
+
+ /** CustomAttribute _indexable. */
+ public _indexable?: "indexable";
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICustomAttribute): google.cloud.retail.v2.CustomAttribute;
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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 FulfillmentInfo. */
+ interface IFulfillmentInfo {
+
+ /** FulfillmentInfo type */
+ type?: (string|null);
+
+ /** FulfillmentInfo placeIds */
+ placeIds?: (string[]|null);
+ }
+
+ /** Represents a FulfillmentInfo. */
+ class FulfillmentInfo implements IFulfillmentInfo {
+
+ /**
+ * Constructs a new FulfillmentInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IFulfillmentInfo);
+
+ /** FulfillmentInfo type. */
+ public type: string;
+
+ /** FulfillmentInfo placeIds. */
+ public placeIds: string[];
+
+ /**
+ * Creates a new FulfillmentInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FulfillmentInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IFulfillmentInfo): google.cloud.retail.v2.FulfillmentInfo;
+
+ /**
+ * Encodes the specified FulfillmentInfo message. Does not implicitly {@link google.cloud.retail.v2.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FulfillmentInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload is not 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.retail.v2.FulfillmentInfo;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload 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.retail.v2.FulfillmentInfo;
+
+ /**
+ * Verifies a FulfillmentInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FulfillmentInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FulfillmentInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.FulfillmentInfo;
+
+ /**
+ * Creates a plain object from a FulfillmentInfo message. Also converts values to other types if specified.
+ * @param message FulfillmentInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.FulfillmentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FulfillmentInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FulfillmentInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Image. */
+ interface IImage {
+
+ /** Image uri */
+ uri?: (string|null);
+
+ /** Image height */
+ height?: (number|null);
+
+ /** Image width */
+ width?: (number|null);
+ }
+
+ /** Represents an Image. */
+ class Image implements IImage {
+
+ /**
+ * Constructs a new Image.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImage);
+
+ /** Image uri. */
+ public uri: string;
+
+ /** Image height. */
+ public height: number;
+
+ /** Image width. */
+ public width: number;
+
+ /**
+ * Creates a new Image instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Image instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImage): google.cloud.retail.v2.Image;
+
+ /**
+ * Encodes the specified Image message. Does not implicitly {@link google.cloud.retail.v2.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Image
+ * @throws {Error} If the payload is not 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.retail.v2.Image;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Image
+ * @throws {Error} If the payload 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.retail.v2.Image;
+
+ /**
+ * Verifies an Image message.
+ * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Image
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Image;
+
+ /**
+ * Creates a plain object from an Image message. Also converts values to other types if specified.
+ * @param message Image
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Image, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Image to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Image
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Interval. */
+ interface IInterval {
+
+ /** Interval minimum */
+ minimum?: (number|null);
+
+ /** Interval exclusiveMinimum */
+ exclusiveMinimum?: (number|null);
+
+ /** Interval maximum */
+ maximum?: (number|null);
+
+ /** Interval exclusiveMaximum */
+ exclusiveMaximum?: (number|null);
+ }
+
+ /** Represents an Interval. */
+ class Interval implements IInterval {
+
+ /**
+ * Constructs a new Interval.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IInterval);
+
+ /** Interval minimum. */
+ public minimum?: (number|null);
+
+ /** Interval exclusiveMinimum. */
+ public exclusiveMinimum?: (number|null);
+
+ /** Interval maximum. */
+ public maximum?: (number|null);
+
+ /** Interval exclusiveMaximum. */
+ public exclusiveMaximum?: (number|null);
+
+ /** Interval min. */
+ public min?: ("minimum"|"exclusiveMinimum");
+
+ /** Interval max. */
+ public max?: ("maximum"|"exclusiveMaximum");
+
+ /**
+ * Creates a new Interval instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Interval instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IInterval): google.cloud.retail.v2.Interval;
+
+ /**
+ * Encodes the specified Interval message. Does not implicitly {@link google.cloud.retail.v2.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Interval
+ * @throws {Error} If the payload is not 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.retail.v2.Interval;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Interval
+ * @throws {Error} If the payload 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.retail.v2.Interval;
+
+ /**
+ * Verifies an Interval message.
+ * @param message Plain 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 Interval message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Interval
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Interval;
+
+ /**
+ * Creates a plain object from an Interval message. Also converts values to other types if specified.
+ * @param message Interval
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Interval to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Interval
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PriceInfo. */
+ interface IPriceInfo {
+
+ /** PriceInfo currencyCode */
+ currencyCode?: (string|null);
+
+ /** PriceInfo price */
+ price?: (number|null);
+
+ /** PriceInfo originalPrice */
+ originalPrice?: (number|null);
+
+ /** PriceInfo cost */
+ cost?: (number|null);
+
+ /** PriceInfo priceEffectiveTime */
+ priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime */
+ priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange */
+ priceRange?: (google.cloud.retail.v2.PriceInfo.IPriceRange|null);
+ }
+
+ /** Represents a PriceInfo. */
+ class PriceInfo implements IPriceInfo {
+
+ /**
+ * Constructs a new PriceInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPriceInfo);
+
+ /** PriceInfo currencyCode. */
+ public currencyCode: string;
+
+ /** PriceInfo price. */
+ public price: number;
+
+ /** PriceInfo originalPrice. */
+ public originalPrice: number;
+
+ /** PriceInfo cost. */
+ public cost: number;
+
+ /** PriceInfo priceEffectiveTime. */
+ public priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime. */
+ public priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange. */
+ public priceRange?: (google.cloud.retail.v2.PriceInfo.IPriceRange|null);
+
+ /**
+ * Creates a new PriceInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPriceInfo): google.cloud.retail.v2.PriceInfo;
+
+ /**
+ * Encodes the specified PriceInfo message. Does not implicitly {@link google.cloud.retail.v2.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceInfo
+ * @throws {Error} If the payload is not 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.retail.v2.PriceInfo;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceInfo
+ * @throws {Error} If the payload 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.retail.v2.PriceInfo;
+
+ /**
+ * Verifies a PriceInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PriceInfo;
+
+ /**
+ * Creates a plain object from a PriceInfo message. Also converts values to other types if specified.
+ * @param message PriceInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PriceInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PriceInfo {
+
+ /** Properties of a PriceRange. */
+ interface IPriceRange {
+
+ /** PriceRange price */
+ price?: (google.cloud.retail.v2.IInterval|null);
+
+ /** PriceRange originalPrice */
+ originalPrice?: (google.cloud.retail.v2.IInterval|null);
+ }
+
+ /** Represents a PriceRange. */
+ class PriceRange implements IPriceRange {
+
+ /**
+ * Constructs a new PriceRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.PriceInfo.IPriceRange);
+
+ /** PriceRange price. */
+ public price?: (google.cloud.retail.v2.IInterval|null);
+
+ /** PriceRange originalPrice. */
+ public originalPrice?: (google.cloud.retail.v2.IInterval|null);
+
+ /**
+ * Creates a new PriceRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2.PriceInfo.IPriceRange): google.cloud.retail.v2.PriceInfo.PriceRange;
+
+ /**
+ * Encodes the specified PriceRange message. Does not implicitly {@link google.cloud.retail.v2.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceRange
+ * @throws {Error} If the payload is not 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.retail.v2.PriceInfo.PriceRange;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceRange
+ * @throws {Error} If the payload 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.retail.v2.PriceInfo.PriceRange;
+
+ /**
+ * Verifies a PriceRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PriceInfo.PriceRange;
+
+ /**
+ * Creates a plain object from a PriceRange message. Also converts values to other types if specified.
+ * @param message PriceRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PriceInfo.PriceRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rating. */
+ interface IRating {
+
+ /** Rating ratingCount */
+ ratingCount?: (number|null);
+
+ /** Rating averageRating */
+ averageRating?: (number|null);
+
+ /** Rating ratingHistogram */
+ ratingHistogram?: (number[]|null);
+ }
+
+ /** Represents a Rating. */
+ class Rating implements IRating {
+
+ /**
+ * Constructs a new Rating.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRating);
+
+ /** Rating ratingCount. */
+ public ratingCount: number;
+
+ /** Rating averageRating. */
+ public averageRating: number;
+
+ /** Rating ratingHistogram. */
+ public ratingHistogram: number[];
+
+ /**
+ * Creates a new Rating instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rating instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRating): google.cloud.retail.v2.Rating;
+
+ /**
+ * Encodes the specified Rating message. Does not implicitly {@link google.cloud.retail.v2.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rating message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rating
+ * @throws {Error} If the payload is not 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.retail.v2.Rating;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rating
+ * @throws {Error} If the payload 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.retail.v2.Rating;
+
+ /**
+ * Verifies a Rating message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rating message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rating
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Rating;
+
+ /**
+ * Creates a plain object from a Rating message. Also converts values to other types if specified.
+ * @param message Rating
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Rating, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rating to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rating
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserInfo. */
+ interface IUserInfo {
+
+ /** UserInfo userId */
+ userId?: (string|null);
+
+ /** UserInfo ipAddress */
+ ipAddress?: (string|null);
+
+ /** UserInfo userAgent */
+ userAgent?: (string|null);
+
+ /** UserInfo directUserRequest */
+ directUserRequest?: (boolean|null);
+ }
+
+ /** Represents a UserInfo. */
+ class UserInfo implements IUserInfo {
+
+ /**
+ * Constructs a new UserInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUserInfo);
+
+ /** UserInfo userId. */
+ public userId: string;
+
+ /** UserInfo ipAddress. */
+ public ipAddress: string;
+
+ /** UserInfo userAgent. */
+ public userAgent: string;
+
+ /** UserInfo directUserRequest. */
+ public directUserRequest: boolean;
+
+ /**
+ * Creates a new UserInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUserInfo): google.cloud.retail.v2.UserInfo;
+
+ /**
+ * Encodes the specified UserInfo message. Does not implicitly {@link google.cloud.retail.v2.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserInfo
+ * @throws {Error} If the payload is not 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.retail.v2.UserInfo;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserInfo
+ * @throws {Error} If the payload 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.retail.v2.UserInfo;
+
+ /**
+ * Verifies a UserInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UserInfo;
+
+ /**
+ * Creates a plain object from a UserInfo message. Also converts values to other types if specified.
+ * @param message UserInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UserInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocalInventory. */
+ interface ILocalInventory {
+
+ /** LocalInventory placeId */
+ placeId?: (string|null);
+
+ /** LocalInventory priceInfo */
+ priceInfo?: (google.cloud.retail.v2.IPriceInfo|null);
+
+ /** LocalInventory attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2.ICustomAttribute }|null);
+
+ /** LocalInventory fulfillmentTypes */
+ fulfillmentTypes?: (string[]|null);
+ }
+
+ /** Represents a LocalInventory. */
+ class LocalInventory implements ILocalInventory {
+
+ /**
+ * Constructs a new LocalInventory.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ILocalInventory);
+
+ /** LocalInventory placeId. */
+ public placeId: string;
+
+ /** LocalInventory priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2.IPriceInfo|null);
+
+ /** LocalInventory attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2.ICustomAttribute };
+
+ /** LocalInventory fulfillmentTypes. */
+ public fulfillmentTypes: string[];
+
+ /**
+ * Creates a new LocalInventory instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocalInventory instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ILocalInventory): google.cloud.retail.v2.LocalInventory;
+
+ /**
+ * Encodes the specified LocalInventory message. Does not implicitly {@link google.cloud.retail.v2.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocalInventory message, length delimited. Does not implicitly {@link google.cloud.retail.v2.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocalInventory
+ * @throws {Error} If the payload is not 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.retail.v2.LocalInventory;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocalInventory
+ * @throws {Error} If the payload 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.retail.v2.LocalInventory;
+
+ /**
+ * Verifies a LocalInventory message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LocalInventory message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocalInventory
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.LocalInventory;
+
+ /**
+ * Creates a plain object from a LocalInventory message. Also converts values to other types if specified.
+ * @param message LocalInventory
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.LocalInventory, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocalInventory to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocalInventory
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsSource. */
+ interface IGcsSource {
+
+ /** GcsSource inputUris */
+ inputUris?: (string[]|null);
+
+ /** GcsSource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a GcsSource. */
+ class GcsSource implements IGcsSource {
+
+ /**
+ * Constructs a new GcsSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGcsSource);
+
+ /** GcsSource inputUris. */
+ public inputUris: string[];
+
+ /** GcsSource dataSchema. */
+ public dataSchema: string;
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGcsSource): google.cloud.retail.v2.GcsSource;
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.retail.v2.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsSource
+ * @throws {Error} If the payload is not 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.retail.v2.GcsSource;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsSource
+ * @throws {Error} If the payload 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.retail.v2.GcsSource;
+
+ /**
+ * Verifies a GcsSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GcsSource;
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @param message GcsSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQuerySource. */
+ interface IBigQuerySource {
+
+ /** BigQuerySource partitionDate */
+ partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId */
+ projectId?: (string|null);
+
+ /** BigQuerySource datasetId */
+ datasetId?: (string|null);
+
+ /** BigQuerySource tableId */
+ tableId?: (string|null);
+
+ /** BigQuerySource gcsStagingDir */
+ gcsStagingDir?: (string|null);
+
+ /** BigQuerySource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a BigQuerySource. */
+ class BigQuerySource implements IBigQuerySource {
+
+ /**
+ * Constructs a new BigQuerySource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IBigQuerySource);
+
+ /** BigQuerySource partitionDate. */
+ public partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId. */
+ public projectId: string;
+
+ /** BigQuerySource datasetId. */
+ public datasetId: string;
+
+ /** BigQuerySource tableId. */
+ public tableId: string;
+
+ /** BigQuerySource gcsStagingDir. */
+ public gcsStagingDir: string;
+
+ /** BigQuerySource dataSchema. */
+ public dataSchema: string;
+
+ /** BigQuerySource partition. */
+ public partition?: "partitionDate";
+
+ /**
+ * Creates a new BigQuerySource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQuerySource instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IBigQuerySource): google.cloud.retail.v2.BigQuerySource;
+
+ /**
+ * Encodes the specified BigQuerySource message. Does not implicitly {@link google.cloud.retail.v2.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQuerySource message, length delimited. Does not implicitly {@link google.cloud.retail.v2.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQuerySource
+ * @throws {Error} If the payload is not 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.retail.v2.BigQuerySource;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQuerySource
+ * @throws {Error} If the payload 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.retail.v2.BigQuerySource;
+
+ /**
+ * Verifies a BigQuerySource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQuerySource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQuerySource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.BigQuerySource;
+
+ /**
+ * Creates a plain object from a BigQuerySource message. Also converts values to other types if specified.
+ * @param message BigQuerySource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.BigQuerySource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQuerySource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQuerySource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInlineSource. */
+ interface IProductInlineSource {
+
+ /** ProductInlineSource products */
+ products?: (google.cloud.retail.v2.IProduct[]|null);
+ }
+
+ /** Represents a ProductInlineSource. */
+ class ProductInlineSource implements IProductInlineSource {
+
+ /**
+ * Constructs a new ProductInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IProductInlineSource);
+
+ /** ProductInlineSource products. */
+ public products: google.cloud.retail.v2.IProduct[];
+
+ /**
+ * Creates a new ProductInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IProductInlineSource): google.cloud.retail.v2.ProductInlineSource;
+
+ /**
+ * Encodes the specified ProductInlineSource message. Does not implicitly {@link google.cloud.retail.v2.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2.ProductInlineSource;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload 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.retail.v2.ProductInlineSource;
+
+ /**
+ * Verifies a ProductInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ProductInlineSource;
+
+ /**
+ * Creates a plain object from a ProductInlineSource message. Also converts values to other types if specified.
+ * @param message ProductInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ProductInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInlineSource. */
+ interface IUserEventInlineSource {
+
+ /** UserEventInlineSource userEvents */
+ userEvents?: (google.cloud.retail.v2.IUserEvent[]|null);
+ }
+
+ /** Represents a UserEventInlineSource. */
+ class UserEventInlineSource implements IUserEventInlineSource {
+
+ /**
+ * Constructs a new UserEventInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUserEventInlineSource);
+
+ /** UserEventInlineSource userEvents. */
+ public userEvents: google.cloud.retail.v2.IUserEvent[];
+
+ /**
+ * Creates a new UserEventInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUserEventInlineSource): google.cloud.retail.v2.UserEventInlineSource;
+
+ /**
+ * Encodes the specified UserEventInlineSource message. Does not implicitly {@link google.cloud.retail.v2.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2.UserEventInlineSource;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload 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.retail.v2.UserEventInlineSource;
+
+ /**
+ * Verifies a UserEventInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UserEventInlineSource;
+
+ /**
+ * Creates a plain object from a UserEventInlineSource message. Also converts values to other types if specified.
+ * @param message UserEventInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UserEventInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportErrorsConfig. */
+ interface IImportErrorsConfig {
+
+ /** ImportErrorsConfig gcsPrefix */
+ gcsPrefix?: (string|null);
+ }
+
+ /** Represents an ImportErrorsConfig. */
+ class ImportErrorsConfig implements IImportErrorsConfig {
+
+ /**
+ * Constructs a new ImportErrorsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportErrorsConfig);
+
+ /** ImportErrorsConfig gcsPrefix. */
+ public gcsPrefix?: (string|null);
+
+ /** ImportErrorsConfig destination. */
+ public destination?: "gcsPrefix";
+
+ /**
+ * Creates a new ImportErrorsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportErrorsConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportErrorsConfig): google.cloud.retail.v2.ImportErrorsConfig;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message. Does not implicitly {@link google.cloud.retail.v2.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload is not 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.retail.v2.ImportErrorsConfig;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload 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.retail.v2.ImportErrorsConfig;
+
+ /**
+ * Verifies an ImportErrorsConfig message.
+ * @param message Plain 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 ImportErrorsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportErrorsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportErrorsConfig;
+
+ /**
+ * Creates a plain object from an ImportErrorsConfig message. Also converts values to other types if specified.
+ * @param message ImportErrorsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportErrorsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportErrorsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportErrorsConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsRequest. */
+ interface IImportProductsRequest {
+
+ /** ImportProductsRequest parent */
+ parent?: (string|null);
+
+ /** ImportProductsRequest requestId */
+ requestId?: (string|null);
+
+ /** ImportProductsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode */
+ reconciliationMode?: (google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode|null);
+
+ /** ImportProductsRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportProductsRequest. */
+ class ImportProductsRequest implements IImportProductsRequest {
+
+ /**
+ * Constructs a new ImportProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportProductsRequest);
+
+ /** ImportProductsRequest parent. */
+ public parent: string;
+
+ /** ImportProductsRequest requestId. */
+ public requestId: string;
+
+ /** ImportProductsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode. */
+ public reconciliationMode: (google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2.ImportProductsRequest.ReconciliationMode);
+
+ /** ImportProductsRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportProductsRequest): google.cloud.retail.v2.ImportProductsRequest;
+
+ /**
+ * Encodes the specified ImportProductsRequest message. Does not implicitly {@link google.cloud.retail.v2.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ImportProductsRequest;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload 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.retail.v2.ImportProductsRequest;
+
+ /**
+ * Verifies an ImportProductsRequest message.
+ * @param message Plain 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 ImportProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportProductsRequest;
+
+ /**
+ * Creates a plain object from an ImportProductsRequest message. Also converts values to other types if specified.
+ * @param message ImportProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ImportProductsRequest {
+
+ /** ReconciliationMode enum. */
+ enum ReconciliationMode {
+ RECONCILIATION_MODE_UNSPECIFIED = 0,
+ INCREMENTAL = 1,
+ FULL = 2
+ }
+ }
+
+ /** Properties of an ImportUserEventsRequest. */
+ interface IImportUserEventsRequest {
+
+ /** ImportUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** ImportUserEventsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportUserEventsRequest. */
+ class ImportUserEventsRequest implements IImportUserEventsRequest {
+
+ /**
+ * Constructs a new ImportUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportUserEventsRequest);
+
+ /** ImportUserEventsRequest parent. */
+ public parent: string;
+
+ /** ImportUserEventsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportUserEventsRequest): google.cloud.retail.v2.ImportUserEventsRequest;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ImportUserEventsRequest;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2.ImportUserEventsRequest;
+
+ /**
+ * Verifies an ImportUserEventsRequest message.
+ * @param message Plain 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 ImportUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportUserEventsRequest;
+
+ /**
+ * Creates a plain object from an ImportUserEventsRequest message. Also converts values to other types if specified.
+ * @param message ImportUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataRequest. */
+ interface IImportCompletionDataRequest {
+
+ /** ImportCompletionDataRequest parent */
+ parent?: (string|null);
+
+ /** ImportCompletionDataRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportCompletionDataRequest. */
+ class ImportCompletionDataRequest implements IImportCompletionDataRequest {
+
+ /**
+ * Constructs a new ImportCompletionDataRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportCompletionDataRequest);
+
+ /** ImportCompletionDataRequest parent. */
+ public parent: string;
+
+ /** ImportCompletionDataRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportCompletionDataRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportCompletionDataRequest): google.cloud.retail.v2.ImportCompletionDataRequest;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message. Does not implicitly {@link google.cloud.retail.v2.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ImportCompletionDataRequest;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload 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.retail.v2.ImportCompletionDataRequest;
+
+ /**
+ * Verifies an ImportCompletionDataRequest message.
+ * @param message Plain 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 ImportCompletionDataRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportCompletionDataRequest;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataRequest message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportCompletionDataRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInputConfig. */
+ interface IProductInputConfig {
+
+ /** ProductInputConfig productInlineSource */
+ productInlineSource?: (google.cloud.retail.v2.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+ }
+
+ /** Represents a ProductInputConfig. */
+ class ProductInputConfig implements IProductInputConfig {
+
+ /**
+ * Constructs a new ProductInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IProductInputConfig);
+
+ /** ProductInputConfig productInlineSource. */
+ public productInlineSource?: (google.cloud.retail.v2.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+
+ /** ProductInputConfig source. */
+ public source?: ("productInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new ProductInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IProductInputConfig): google.cloud.retail.v2.ProductInputConfig;
+
+ /**
+ * Encodes the specified ProductInputConfig message. Does not implicitly {@link google.cloud.retail.v2.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2.ProductInputConfig;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload 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.retail.v2.ProductInputConfig;
+
+ /**
+ * Verifies a ProductInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ProductInputConfig;
+
+ /**
+ * Creates a plain object from a ProductInputConfig message. Also converts values to other types if specified.
+ * @param message ProductInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ProductInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInputConfig. */
+ interface IUserEventInputConfig {
+
+ /** UserEventInputConfig userEventInlineSource */
+ userEventInlineSource?: (google.cloud.retail.v2.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+ }
+
+ /** Represents a UserEventInputConfig. */
+ class UserEventInputConfig implements IUserEventInputConfig {
+
+ /**
+ * Constructs a new UserEventInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUserEventInputConfig);
+
+ /** UserEventInputConfig userEventInlineSource. */
+ public userEventInlineSource?: (google.cloud.retail.v2.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+
+ /** UserEventInputConfig source. */
+ public source?: ("userEventInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new UserEventInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUserEventInputConfig): google.cloud.retail.v2.UserEventInputConfig;
+
+ /**
+ * Encodes the specified UserEventInputConfig message. Does not implicitly {@link google.cloud.retail.v2.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2.UserEventInputConfig;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload 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.retail.v2.UserEventInputConfig;
+
+ /**
+ * Verifies a UserEventInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UserEventInputConfig;
+
+ /**
+ * Creates a plain object from a UserEventInputConfig message. Also converts values to other types if specified.
+ * @param message UserEventInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UserEventInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDataInputConfig. */
+ interface ICompletionDataInputConfig {
+
+ /** CompletionDataInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+ }
+
+ /** Represents a CompletionDataInputConfig. */
+ class CompletionDataInputConfig implements ICompletionDataInputConfig {
+
+ /**
+ * Constructs a new CompletionDataInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICompletionDataInputConfig);
+
+ /** CompletionDataInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2.IBigQuerySource|null);
+
+ /** CompletionDataInputConfig source. */
+ public source?: "bigQuerySource";
+
+ /**
+ * Creates a new CompletionDataInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDataInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICompletionDataInputConfig): google.cloud.retail.v2.CompletionDataInputConfig;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message. Does not implicitly {@link google.cloud.retail.v2.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2.CompletionDataInputConfig;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload 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.retail.v2.CompletionDataInputConfig;
+
+ /**
+ * Verifies a CompletionDataInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDataInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDataInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CompletionDataInputConfig;
+
+ /**
+ * Creates a plain object from a CompletionDataInputConfig message. Also converts values to other types if specified.
+ * @param message CompletionDataInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CompletionDataInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDataInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDataInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportMetadata. */
+ interface IImportMetadata {
+
+ /** ImportMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount */
+ successCount?: (number|Long|string|null);
+
+ /** ImportMetadata failureCount */
+ failureCount?: (number|Long|string|null);
+
+ /** ImportMetadata requestId */
+ requestId?: (string|null);
+
+ /** ImportMetadata notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportMetadata. */
+ class ImportMetadata implements IImportMetadata {
+
+ /**
+ * Constructs a new ImportMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportMetadata);
+
+ /** ImportMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount. */
+ public successCount: (number|Long|string);
+
+ /** ImportMetadata failureCount. */
+ public failureCount: (number|Long|string);
+
+ /** ImportMetadata requestId. */
+ public requestId: string;
+
+ /** ImportMetadata notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportMetadata): google.cloud.retail.v2.ImportMetadata;
+
+ /**
+ * Encodes the specified ImportMetadata message. Does not implicitly {@link google.cloud.retail.v2.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.ImportMetadata;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportMetadata
+ * @throws {Error} If the payload 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.retail.v2.ImportMetadata;
+
+ /**
+ * Verifies an ImportMetadata message.
+ * @param message Plain 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 ImportMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportMetadata;
+
+ /**
+ * Creates a plain object from an ImportMetadata message. Also converts values to other types if specified.
+ * @param message ImportMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsResponse. */
+ interface IImportProductsResponse {
+
+ /** ImportProductsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportProductsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportProductsResponse. */
+ class ImportProductsResponse implements IImportProductsResponse {
+
+ /**
+ * Constructs a new ImportProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportProductsResponse);
+
+ /** ImportProductsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportProductsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportProductsResponse): google.cloud.retail.v2.ImportProductsResponse;
+
+ /**
+ * Encodes the specified ImportProductsResponse message. Does not implicitly {@link google.cloud.retail.v2.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ImportProductsResponse;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload 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.retail.v2.ImportProductsResponse;
+
+ /**
+ * Verifies an ImportProductsResponse message.
+ * @param message Plain 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 ImportProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportProductsResponse;
+
+ /**
+ * Creates a plain object from an ImportProductsResponse message. Also converts values to other types if specified.
+ * @param message ImportProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportUserEventsResponse. */
+ interface IImportUserEventsResponse {
+
+ /** ImportUserEventsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportUserEventsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary */
+ importSummary?: (google.cloud.retail.v2.IUserEventImportSummary|null);
+ }
+
+ /** Represents an ImportUserEventsResponse. */
+ class ImportUserEventsResponse implements IImportUserEventsResponse {
+
+ /**
+ * Constructs a new ImportUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportUserEventsResponse);
+
+ /** ImportUserEventsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportUserEventsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary. */
+ public importSummary?: (google.cloud.retail.v2.IUserEventImportSummary|null);
+
+ /**
+ * Creates a new ImportUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportUserEventsResponse): google.cloud.retail.v2.ImportUserEventsResponse;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ImportUserEventsResponse;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2.ImportUserEventsResponse;
+
+ /**
+ * Verifies an ImportUserEventsResponse message.
+ * @param message Plain 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 ImportUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportUserEventsResponse;
+
+ /**
+ * Creates a plain object from an ImportUserEventsResponse message. Also converts values to other types if specified.
+ * @param message ImportUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventImportSummary. */
+ interface IUserEventImportSummary {
+
+ /** UserEventImportSummary joinedEventsCount */
+ joinedEventsCount?: (number|Long|string|null);
+
+ /** UserEventImportSummary unjoinedEventsCount */
+ unjoinedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a UserEventImportSummary. */
+ class UserEventImportSummary implements IUserEventImportSummary {
+
+ /**
+ * Constructs a new UserEventImportSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUserEventImportSummary);
+
+ /** UserEventImportSummary joinedEventsCount. */
+ public joinedEventsCount: (number|Long|string);
+
+ /** UserEventImportSummary unjoinedEventsCount. */
+ public unjoinedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new UserEventImportSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventImportSummary instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUserEventImportSummary): google.cloud.retail.v2.UserEventImportSummary;
+
+ /**
+ * Encodes the specified UserEventImportSummary message. Does not implicitly {@link google.cloud.retail.v2.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventImportSummary message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload is not 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.retail.v2.UserEventImportSummary;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload 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.retail.v2.UserEventImportSummary;
+
+ /**
+ * Verifies a UserEventImportSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventImportSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventImportSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UserEventImportSummary;
+
+ /**
+ * Creates a plain object from a UserEventImportSummary message. Also converts values to other types if specified.
+ * @param message UserEventImportSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UserEventImportSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventImportSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventImportSummary
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataResponse. */
+ interface IImportCompletionDataResponse {
+
+ /** ImportCompletionDataResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+ }
+
+ /** Represents an ImportCompletionDataResponse. */
+ class ImportCompletionDataResponse implements IImportCompletionDataResponse {
+
+ /**
+ * Constructs a new ImportCompletionDataResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IImportCompletionDataResponse);
+
+ /** ImportCompletionDataResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /**
+ * Creates a new ImportCompletionDataResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IImportCompletionDataResponse): google.cloud.retail.v2.ImportCompletionDataResponse;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message. Does not implicitly {@link google.cloud.retail.v2.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ImportCompletionDataResponse;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload 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.retail.v2.ImportCompletionDataResponse;
+
+ /**
+ * Verifies an ImportCompletionDataResponse message.
+ * @param message Plain 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 ImportCompletionDataResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ImportCompletionDataResponse;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataResponse message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ImportCompletionDataResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Product. */
+ interface IProduct {
+
+ /** Product expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl */
+ ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name */
+ name?: (string|null);
+
+ /** Product id */
+ id?: (string|null);
+
+ /** Product type */
+ type?: (google.cloud.retail.v2.Product.Type|keyof typeof google.cloud.retail.v2.Product.Type|null);
+
+ /** Product primaryProductId */
+ primaryProductId?: (string|null);
+
+ /** Product collectionMemberIds */
+ collectionMemberIds?: (string[]|null);
+
+ /** Product gtin */
+ gtin?: (string|null);
+
+ /** Product categories */
+ categories?: (string[]|null);
+
+ /** Product title */
+ title?: (string|null);
+
+ /** Product brands */
+ brands?: (string[]|null);
+
+ /** Product description */
+ description?: (string|null);
+
+ /** Product languageCode */
+ languageCode?: (string|null);
+
+ /** Product attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2.ICustomAttribute }|null);
+
+ /** Product tags */
+ tags?: (string[]|null);
+
+ /** Product priceInfo */
+ priceInfo?: (google.cloud.retail.v2.IPriceInfo|null);
+
+ /** Product rating */
+ rating?: (google.cloud.retail.v2.IRating|null);
+
+ /** Product availableTime */
+ availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability */
+ availability?: (google.cloud.retail.v2.Product.Availability|keyof typeof google.cloud.retail.v2.Product.Availability|null);
+
+ /** Product availableQuantity */
+ availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo */
+ fulfillmentInfo?: (google.cloud.retail.v2.IFulfillmentInfo[]|null);
+
+ /** Product uri */
+ uri?: (string|null);
+
+ /** Product images */
+ images?: (google.cloud.retail.v2.IImage[]|null);
+
+ /** Product audience */
+ audience?: (google.cloud.retail.v2.IAudience|null);
+
+ /** Product colorInfo */
+ colorInfo?: (google.cloud.retail.v2.IColorInfo|null);
+
+ /** Product sizes */
+ sizes?: (string[]|null);
+
+ /** Product materials */
+ materials?: (string[]|null);
+
+ /** Product patterns */
+ patterns?: (string[]|null);
+
+ /** Product conditions */
+ conditions?: (string[]|null);
+
+ /** Product promotions */
+ promotions?: (google.cloud.retail.v2.IPromotion[]|null);
+
+ /** Product publishTime */
+ publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields */
+ retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants */
+ variants?: (google.cloud.retail.v2.IProduct[]|null);
+
+ /** Product localInventories */
+ localInventories?: (google.cloud.retail.v2.ILocalInventory[]|null);
+ }
+
+ /** Represents a Product. */
+ class Product implements IProduct {
+
+ /**
+ * Constructs a new Product.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IProduct);
+
+ /** Product expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl. */
+ public ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name. */
+ public name: string;
+
+ /** Product id. */
+ public id: string;
+
+ /** Product type. */
+ public type: (google.cloud.retail.v2.Product.Type|keyof typeof google.cloud.retail.v2.Product.Type);
+
+ /** Product primaryProductId. */
+ public primaryProductId: string;
+
+ /** Product collectionMemberIds. */
+ public collectionMemberIds: string[];
+
+ /** Product gtin. */
+ public gtin: string;
+
+ /** Product categories. */
+ public categories: string[];
+
+ /** Product title. */
+ public title: string;
+
+ /** Product brands. */
+ public brands: string[];
+
+ /** Product description. */
+ public description: string;
+
+ /** Product languageCode. */
+ public languageCode: string;
+
+ /** Product attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2.ICustomAttribute };
+
+ /** Product tags. */
+ public tags: string[];
+
+ /** Product priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2.IPriceInfo|null);
+
+ /** Product rating. */
+ public rating?: (google.cloud.retail.v2.IRating|null);
+
+ /** Product availableTime. */
+ public availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability. */
+ public availability: (google.cloud.retail.v2.Product.Availability|keyof typeof google.cloud.retail.v2.Product.Availability);
+
+ /** Product availableQuantity. */
+ public availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo. */
+ public fulfillmentInfo: google.cloud.retail.v2.IFulfillmentInfo[];
+
+ /** Product uri. */
+ public uri: string;
+
+ /** Product images. */
+ public images: google.cloud.retail.v2.IImage[];
+
+ /** Product audience. */
+ public audience?: (google.cloud.retail.v2.IAudience|null);
+
+ /** Product colorInfo. */
+ public colorInfo?: (google.cloud.retail.v2.IColorInfo|null);
+
+ /** Product sizes. */
+ public sizes: string[];
+
+ /** Product materials. */
+ public materials: string[];
+
+ /** Product patterns. */
+ public patterns: string[];
+
+ /** Product conditions. */
+ public conditions: string[];
+
+ /** Product promotions. */
+ public promotions: google.cloud.retail.v2.IPromotion[];
+
+ /** Product publishTime. */
+ public publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields. */
+ public retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants. */
+ public variants: google.cloud.retail.v2.IProduct[];
+
+ /** Product localInventories. */
+ public localInventories: google.cloud.retail.v2.ILocalInventory[];
+
+ /** Product expiration. */
+ public expiration?: ("expireTime"|"ttl");
+
+ /**
+ * Creates a new Product instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Product instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IProduct): google.cloud.retail.v2.Product;
+
+ /**
+ * Encodes the specified Product message. Does not implicitly {@link google.cloud.retail.v2.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Product
+ * @throws {Error} If the payload is not 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.retail.v2.Product;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Product
+ * @throws {Error} If the payload 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.retail.v2.Product;
+
+ /**
+ * Verifies a Product message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Product message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Product
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Product;
+
+ /**
+ * Creates a plain object from a Product message. Also converts values to other types if specified.
+ * @param message Product
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Product, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Product to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Product
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Product {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ PRIMARY = 1,
+ VARIANT = 2,
+ COLLECTION = 3
+ }
+
+ /** Availability enum. */
+ enum Availability {
+ AVAILABILITY_UNSPECIFIED = 0,
+ IN_STOCK = 1,
+ OUT_OF_STOCK = 2,
+ PREORDER = 3,
+ BACKORDER = 4
+ }
+ }
+
+ /** Properties of a Promotion. */
+ interface IPromotion {
+
+ /** Promotion promotionId */
+ promotionId?: (string|null);
+ }
+
+ /** Represents a Promotion. */
+ class Promotion implements IPromotion {
+
+ /**
+ * Constructs a new Promotion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPromotion);
+
+ /** Promotion promotionId. */
+ public promotionId: string;
+
+ /**
+ * Creates a new Promotion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Promotion instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPromotion): google.cloud.retail.v2.Promotion;
+
+ /**
+ * Encodes the specified Promotion message. Does not implicitly {@link google.cloud.retail.v2.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Promotion message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Promotion
+ * @throws {Error} If the payload is not 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.retail.v2.Promotion;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Promotion
+ * @throws {Error} If the payload 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.retail.v2.Promotion;
+
+ /**
+ * Verifies a Promotion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Promotion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Promotion
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Promotion;
+
+ /**
+ * Creates a plain object from a Promotion message. Also converts values to other types if specified.
+ * @param message Promotion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Promotion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Promotion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Promotion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEvent. */
+ interface IUserEvent {
+
+ /** UserEvent eventType */
+ eventType?: (string|null);
+
+ /** UserEvent visitorId */
+ visitorId?: (string|null);
+
+ /** UserEvent sessionId */
+ sessionId?: (string|null);
+
+ /** UserEvent eventTime */
+ eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds */
+ experimentIds?: (string[]|null);
+
+ /** UserEvent attributionToken */
+ attributionToken?: (string|null);
+
+ /** UserEvent productDetails */
+ productDetails?: (google.cloud.retail.v2.IProductDetail[]|null);
+
+ /** UserEvent completionDetail */
+ completionDetail?: (google.cloud.retail.v2.ICompletionDetail|null);
+
+ /** UserEvent attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2.ICustomAttribute }|null);
+
+ /** UserEvent cartId */
+ cartId?: (string|null);
+
+ /** UserEvent purchaseTransaction */
+ purchaseTransaction?: (google.cloud.retail.v2.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery */
+ searchQuery?: (string|null);
+
+ /** UserEvent filter */
+ filter?: (string|null);
+
+ /** UserEvent orderBy */
+ orderBy?: (string|null);
+
+ /** UserEvent offset */
+ offset?: (number|null);
+
+ /** UserEvent pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** UserEvent userInfo */
+ userInfo?: (google.cloud.retail.v2.IUserInfo|null);
+
+ /** UserEvent uri */
+ uri?: (string|null);
+
+ /** UserEvent referrerUri */
+ referrerUri?: (string|null);
+
+ /** UserEvent pageViewId */
+ pageViewId?: (string|null);
+ }
+
+ /** Represents a UserEvent. */
+ class UserEvent implements IUserEvent {
+
+ /**
+ * Constructs a new UserEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUserEvent);
+
+ /** UserEvent eventType. */
+ public eventType: string;
+
+ /** UserEvent visitorId. */
+ public visitorId: string;
+
+ /** UserEvent sessionId. */
+ public sessionId: string;
+
+ /** UserEvent eventTime. */
+ public eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds. */
+ public experimentIds: string[];
+
+ /** UserEvent attributionToken. */
+ public attributionToken: string;
+
+ /** UserEvent productDetails. */
+ public productDetails: google.cloud.retail.v2.IProductDetail[];
+
+ /** UserEvent completionDetail. */
+ public completionDetail?: (google.cloud.retail.v2.ICompletionDetail|null);
+
+ /** UserEvent attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2.ICustomAttribute };
+
+ /** UserEvent cartId. */
+ public cartId: string;
+
+ /** UserEvent purchaseTransaction. */
+ public purchaseTransaction?: (google.cloud.retail.v2.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery. */
+ public searchQuery: string;
+
+ /** UserEvent filter. */
+ public filter: string;
+
+ /** UserEvent orderBy. */
+ public orderBy: string;
+
+ /** UserEvent offset. */
+ public offset: number;
+
+ /** UserEvent pageCategories. */
+ public pageCategories: string[];
+
+ /** UserEvent userInfo. */
+ public userInfo?: (google.cloud.retail.v2.IUserInfo|null);
+
+ /** UserEvent uri. */
+ public uri: string;
+
+ /** UserEvent referrerUri. */
+ public referrerUri: string;
+
+ /** UserEvent pageViewId. */
+ public pageViewId: string;
+
+ /**
+ * Creates a new UserEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEvent instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUserEvent): google.cloud.retail.v2.UserEvent;
+
+ /**
+ * Encodes the specified UserEvent message. Does not implicitly {@link google.cloud.retail.v2.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEvent message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEvent
+ * @throws {Error} If the payload is not 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.retail.v2.UserEvent;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEvent
+ * @throws {Error} If the payload 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.retail.v2.UserEvent;
+
+ /**
+ * Verifies a UserEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UserEvent;
+
+ /**
+ * Creates a plain object from a UserEvent message. Also converts values to other types if specified.
+ * @param message UserEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UserEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductDetail. */
+ interface IProductDetail {
+
+ /** ProductDetail product */
+ product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** ProductDetail quantity */
+ quantity?: (google.protobuf.IInt32Value|null);
+ }
+
+ /** Represents a ProductDetail. */
+ class ProductDetail implements IProductDetail {
+
+ /**
+ * Constructs a new ProductDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IProductDetail);
+
+ /** ProductDetail product. */
+ public product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** ProductDetail quantity. */
+ public quantity?: (google.protobuf.IInt32Value|null);
+
+ /**
+ * Creates a new ProductDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IProductDetail): google.cloud.retail.v2.ProductDetail;
+
+ /**
+ * Encodes the specified ProductDetail message. Does not implicitly {@link google.cloud.retail.v2.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductDetail
+ * @throws {Error} If the payload is not 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.retail.v2.ProductDetail;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductDetail
+ * @throws {Error} If the payload 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.retail.v2.ProductDetail;
+
+ /**
+ * Verifies a ProductDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ProductDetail;
+
+ /**
+ * Creates a plain object from a ProductDetail message. Also converts values to other types if specified.
+ * @param message ProductDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ProductDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDetail. */
+ interface ICompletionDetail {
+
+ /** CompletionDetail completionAttributionToken */
+ completionAttributionToken?: (string|null);
+
+ /** CompletionDetail selectedSuggestion */
+ selectedSuggestion?: (string|null);
+
+ /** CompletionDetail selectedPosition */
+ selectedPosition?: (number|null);
+ }
+
+ /** Represents a CompletionDetail. */
+ class CompletionDetail implements ICompletionDetail {
+
+ /**
+ * Constructs a new CompletionDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICompletionDetail);
+
+ /** CompletionDetail completionAttributionToken. */
+ public completionAttributionToken: string;
+
+ /** CompletionDetail selectedSuggestion. */
+ public selectedSuggestion: string;
+
+ /** CompletionDetail selectedPosition. */
+ public selectedPosition: number;
+
+ /**
+ * Creates a new CompletionDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICompletionDetail): google.cloud.retail.v2.CompletionDetail;
+
+ /**
+ * Encodes the specified CompletionDetail message. Does not implicitly {@link google.cloud.retail.v2.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDetail
+ * @throws {Error} If the payload is not 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.retail.v2.CompletionDetail;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDetail
+ * @throws {Error} If the payload 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.retail.v2.CompletionDetail;
+
+ /**
+ * Verifies a CompletionDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CompletionDetail;
+
+ /**
+ * Creates a plain object from a CompletionDetail message. Also converts values to other types if specified.
+ * @param message CompletionDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CompletionDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurchaseTransaction. */
+ interface IPurchaseTransaction {
+
+ /** PurchaseTransaction id */
+ id?: (string|null);
+
+ /** PurchaseTransaction revenue */
+ revenue?: (number|null);
+
+ /** PurchaseTransaction tax */
+ tax?: (number|null);
+
+ /** PurchaseTransaction cost */
+ cost?: (number|null);
+
+ /** PurchaseTransaction currencyCode */
+ currencyCode?: (string|null);
+ }
+
+ /** Represents a PurchaseTransaction. */
+ class PurchaseTransaction implements IPurchaseTransaction {
+
+ /**
+ * Constructs a new PurchaseTransaction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPurchaseTransaction);
+
+ /** PurchaseTransaction id. */
+ public id: string;
+
+ /** PurchaseTransaction revenue. */
+ public revenue: number;
+
+ /** PurchaseTransaction tax. */
+ public tax: number;
+
+ /** PurchaseTransaction cost. */
+ public cost: number;
+
+ /** PurchaseTransaction currencyCode. */
+ public currencyCode: string;
+
+ /**
+ * Creates a new PurchaseTransaction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurchaseTransaction instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPurchaseTransaction): google.cloud.retail.v2.PurchaseTransaction;
+
+ /**
+ * Encodes the specified PurchaseTransaction message. Does not implicitly {@link google.cloud.retail.v2.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurchaseTransaction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload is not 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.retail.v2.PurchaseTransaction;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload 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.retail.v2.PurchaseTransaction;
+
+ /**
+ * Verifies a PurchaseTransaction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurchaseTransaction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurchaseTransaction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PurchaseTransaction;
+
+ /**
+ * Creates a plain object from a PurchaseTransaction message. Also converts values to other types if specified.
+ * @param message PurchaseTransaction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PurchaseTransaction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurchaseTransaction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurchaseTransaction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CatalogService */
+ class CatalogService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CatalogService 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 CatalogService 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): CatalogService;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCatalogsResponse
+ */
+ public listCatalogs(request: google.cloud.retail.v2.IListCatalogsRequest, callback: google.cloud.retail.v2.CatalogService.ListCatalogsCallback): void;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @returns Promise
+ */
+ public listCatalogs(request: google.cloud.retail.v2.IListCatalogsRequest): Promise;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Catalog
+ */
+ public updateCatalog(request: google.cloud.retail.v2.IUpdateCatalogRequest, callback: google.cloud.retail.v2.CatalogService.UpdateCatalogCallback): void;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @returns Promise
+ */
+ public updateCatalog(request: google.cloud.retail.v2.IUpdateCatalogRequest): Promise;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2.ISetDefaultBranchRequest, callback: google.cloud.retail.v2.CatalogService.SetDefaultBranchCallback): void;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2.ISetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GetDefaultBranchResponse
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2.IGetDefaultBranchRequest, callback: google.cloud.retail.v2.CatalogService.GetDefaultBranchCallback): void;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2.IGetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2.IGetCompletionConfigRequest, callback: google.cloud.retail.v2.CatalogService.GetCompletionConfigCallback): void;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2.IGetCompletionConfigRequest): Promise;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2.IUpdateCompletionConfigRequest, callback: google.cloud.retail.v2.CatalogService.UpdateCompletionConfigCallback): void;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2.IUpdateCompletionConfigRequest): Promise;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2.IGetAttributesConfigRequest, callback: google.cloud.retail.v2.CatalogService.GetAttributesConfigCallback): void;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2.IGetAttributesConfigRequest): Promise;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2.IUpdateAttributesConfigRequest, callback: google.cloud.retail.v2.CatalogService.UpdateAttributesConfigCallback): void;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2.IUpdateAttributesConfigRequest): Promise;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2.IAddCatalogAttributeRequest, callback: google.cloud.retail.v2.CatalogService.AddCatalogAttributeCallback): void;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2.IAddCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2.IRemoveCatalogAttributeRequest, callback: google.cloud.retail.v2.CatalogService.RemoveCatalogAttributeCallback): void;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2.IRemoveCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2.IReplaceCatalogAttributeRequest, callback: google.cloud.retail.v2.CatalogService.ReplaceCatalogAttributeCallback): void;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2.IReplaceCatalogAttributeRequest): Promise;
+ }
+
+ namespace CatalogService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|listCatalogs}.
+ * @param error Error, if any
+ * @param [response] ListCatalogsResponse
+ */
+ type ListCatalogsCallback = (error: (Error|null), response?: google.cloud.retail.v2.ListCatalogsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|updateCatalog}.
+ * @param error Error, if any
+ * @param [response] Catalog
+ */
+ type UpdateCatalogCallback = (error: (Error|null), response?: google.cloud.retail.v2.Catalog) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|setDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type SetDefaultBranchCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|getDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] GetDefaultBranchResponse
+ */
+ type GetDefaultBranchCallback = (error: (Error|null), response?: google.cloud.retail.v2.GetDefaultBranchResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|getCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type GetCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|updateCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type UpdateCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|getAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type GetAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|updateAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type UpdateAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|addCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type AddCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|removeCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type RemoveCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CatalogService|replaceCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type ReplaceCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2.AttributesConfig) => void;
+ }
+
+ /** Properties of a ListCatalogsRequest. */
+ interface IListCatalogsRequest {
+
+ /** ListCatalogsRequest parent */
+ parent?: (string|null);
+
+ /** ListCatalogsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCatalogsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsRequest. */
+ class ListCatalogsRequest implements IListCatalogsRequest {
+
+ /**
+ * Constructs a new ListCatalogsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListCatalogsRequest);
+
+ /** ListCatalogsRequest parent. */
+ public parent: string;
+
+ /** ListCatalogsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCatalogsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListCatalogsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListCatalogsRequest): google.cloud.retail.v2.ListCatalogsRequest;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message. Does not implicitly {@link google.cloud.retail.v2.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ListCatalogsRequest;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload 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.retail.v2.ListCatalogsRequest;
+
+ /**
+ * Verifies a ListCatalogsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListCatalogsRequest;
+
+ /**
+ * Creates a plain object from a ListCatalogsRequest message. Also converts values to other types if specified.
+ * @param message ListCatalogsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListCatalogsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCatalogsResponse. */
+ interface IListCatalogsResponse {
+
+ /** ListCatalogsResponse catalogs */
+ catalogs?: (google.cloud.retail.v2.ICatalog[]|null);
+
+ /** ListCatalogsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsResponse. */
+ class ListCatalogsResponse implements IListCatalogsResponse {
+
+ /**
+ * Constructs a new ListCatalogsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListCatalogsResponse);
+
+ /** ListCatalogsResponse catalogs. */
+ public catalogs: google.cloud.retail.v2.ICatalog[];
+
+ /** ListCatalogsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListCatalogsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListCatalogsResponse): google.cloud.retail.v2.ListCatalogsResponse;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message. Does not implicitly {@link google.cloud.retail.v2.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ListCatalogsResponse;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload 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.retail.v2.ListCatalogsResponse;
+
+ /**
+ * Verifies a ListCatalogsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListCatalogsResponse;
+
+ /**
+ * Creates a plain object from a ListCatalogsResponse message. Also converts values to other types if specified.
+ * @param message ListCatalogsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListCatalogsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCatalogRequest. */
+ interface IUpdateCatalogRequest {
+
+ /** UpdateCatalogRequest catalog */
+ catalog?: (google.cloud.retail.v2.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCatalogRequest. */
+ class UpdateCatalogRequest implements IUpdateCatalogRequest {
+
+ /**
+ * Constructs a new UpdateCatalogRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateCatalogRequest);
+
+ /** UpdateCatalogRequest catalog. */
+ public catalog?: (google.cloud.retail.v2.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCatalogRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCatalogRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateCatalogRequest): google.cloud.retail.v2.UpdateCatalogRequest;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateCatalogRequest;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateCatalogRequest;
+
+ /**
+ * Verifies an UpdateCatalogRequest message.
+ * @param message Plain 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 UpdateCatalogRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCatalogRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateCatalogRequest;
+
+ /**
+ * Creates a plain object from an UpdateCatalogRequest message. Also converts values to other types if specified.
+ * @param message UpdateCatalogRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateCatalogRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCatalogRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCatalogRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetDefaultBranchRequest. */
+ interface ISetDefaultBranchRequest {
+
+ /** SetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+
+ /** SetDefaultBranchRequest branchId */
+ branchId?: (string|null);
+
+ /** SetDefaultBranchRequest note */
+ note?: (string|null);
+
+ /** SetDefaultBranchRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a SetDefaultBranchRequest. */
+ class SetDefaultBranchRequest implements ISetDefaultBranchRequest {
+
+ /**
+ * Constructs a new SetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISetDefaultBranchRequest);
+
+ /** SetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /** SetDefaultBranchRequest branchId. */
+ public branchId: string;
+
+ /** SetDefaultBranchRequest note. */
+ public note: string;
+
+ /** SetDefaultBranchRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new SetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISetDefaultBranchRequest): google.cloud.retail.v2.SetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2.SetDefaultBranchRequest;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2.SetDefaultBranchRequest;
+
+ /**
+ * Verifies a SetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a SetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message SetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchRequest. */
+ interface IGetDefaultBranchRequest {
+
+ /** GetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchRequest. */
+ class GetDefaultBranchRequest implements IGetDefaultBranchRequest {
+
+ /**
+ * Constructs a new GetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetDefaultBranchRequest);
+
+ /** GetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /**
+ * Creates a new GetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetDefaultBranchRequest): google.cloud.retail.v2.GetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetDefaultBranchRequest;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2.GetDefaultBranchRequest;
+
+ /**
+ * Verifies a GetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchResponse. */
+ interface IGetDefaultBranchResponse {
+
+ /** GetDefaultBranchResponse branch */
+ branch?: (string|null);
+
+ /** GetDefaultBranchResponse setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note */
+ note?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchResponse. */
+ class GetDefaultBranchResponse implements IGetDefaultBranchResponse {
+
+ /**
+ * Constructs a new GetDefaultBranchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetDefaultBranchResponse);
+
+ /** GetDefaultBranchResponse branch. */
+ public branch: string;
+
+ /** GetDefaultBranchResponse setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note. */
+ public note: string;
+
+ /**
+ * Creates a new GetDefaultBranchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetDefaultBranchResponse): google.cloud.retail.v2.GetDefaultBranchResponse;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message. Does not implicitly {@link google.cloud.retail.v2.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload is not 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.retail.v2.GetDefaultBranchResponse;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload 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.retail.v2.GetDefaultBranchResponse;
+
+ /**
+ * Verifies a GetDefaultBranchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetDefaultBranchResponse;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchResponse message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetDefaultBranchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCompletionConfigRequest. */
+ interface IGetCompletionConfigRequest {
+
+ /** GetCompletionConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCompletionConfigRequest. */
+ class GetCompletionConfigRequest implements IGetCompletionConfigRequest {
+
+ /**
+ * Constructs a new GetCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetCompletionConfigRequest);
+
+ /** GetCompletionConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetCompletionConfigRequest): google.cloud.retail.v2.GetCompletionConfigRequest;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetCompletionConfigRequest;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.GetCompletionConfigRequest;
+
+ /**
+ * Verifies a GetCompletionConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from a GetCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message GetCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCompletionConfigRequest. */
+ interface IUpdateCompletionConfigRequest {
+
+ /** UpdateCompletionConfigRequest completionConfig */
+ completionConfig?: (google.cloud.retail.v2.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCompletionConfigRequest. */
+ class UpdateCompletionConfigRequest implements IUpdateCompletionConfigRequest {
+
+ /**
+ * Constructs a new UpdateCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateCompletionConfigRequest);
+
+ /** UpdateCompletionConfigRequest completionConfig. */
+ public completionConfig?: (google.cloud.retail.v2.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateCompletionConfigRequest): google.cloud.retail.v2.UpdateCompletionConfigRequest;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateCompletionConfigRequest;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateCompletionConfigRequest;
+
+ /**
+ * Verifies an UpdateCompletionConfigRequest message.
+ * @param message Plain 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 UpdateCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAttributesConfigRequest. */
+ interface IGetAttributesConfigRequest {
+
+ /** GetAttributesConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAttributesConfigRequest. */
+ class GetAttributesConfigRequest implements IGetAttributesConfigRequest {
+
+ /**
+ * Constructs a new GetAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetAttributesConfigRequest);
+
+ /** GetAttributesConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetAttributesConfigRequest): google.cloud.retail.v2.GetAttributesConfigRequest;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetAttributesConfigRequest;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.GetAttributesConfigRequest;
+
+ /**
+ * Verifies a GetAttributesConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from a GetAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message GetAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAttributesConfigRequest. */
+ interface IUpdateAttributesConfigRequest {
+
+ /** UpdateAttributesConfigRequest attributesConfig */
+ attributesConfig?: (google.cloud.retail.v2.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateAttributesConfigRequest. */
+ class UpdateAttributesConfigRequest implements IUpdateAttributesConfigRequest {
+
+ /**
+ * Constructs a new UpdateAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateAttributesConfigRequest);
+
+ /** UpdateAttributesConfigRequest attributesConfig. */
+ public attributesConfig?: (google.cloud.retail.v2.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateAttributesConfigRequest): google.cloud.retail.v2.UpdateAttributesConfigRequest;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateAttributesConfigRequest;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateAttributesConfigRequest;
+
+ /**
+ * Verifies an UpdateAttributesConfigRequest message.
+ * @param message Plain 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 UpdateAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddCatalogAttributeRequest. */
+ interface IAddCatalogAttributeRequest {
+
+ /** AddCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** AddCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2.ICatalogAttribute|null);
+ }
+
+ /** Represents an AddCatalogAttributeRequest. */
+ class AddCatalogAttributeRequest implements IAddCatalogAttributeRequest {
+
+ /**
+ * Constructs a new AddCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddCatalogAttributeRequest);
+
+ /** AddCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** AddCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2.ICatalogAttribute|null);
+
+ /**
+ * Creates a new AddCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddCatalogAttributeRequest): google.cloud.retail.v2.AddCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2.AddCatalogAttributeRequest;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2.AddCatalogAttributeRequest;
+
+ /**
+ * Verifies an AddCatalogAttributeRequest message.
+ * @param message Plain 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 AddCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from an AddCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message AddCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveCatalogAttributeRequest. */
+ interface IRemoveCatalogAttributeRequest {
+
+ /** RemoveCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** RemoveCatalogAttributeRequest key */
+ key?: (string|null);
+ }
+
+ /** Represents a RemoveCatalogAttributeRequest. */
+ class RemoveCatalogAttributeRequest implements IRemoveCatalogAttributeRequest {
+
+ /**
+ * Constructs a new RemoveCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveCatalogAttributeRequest);
+
+ /** RemoveCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** RemoveCatalogAttributeRequest key. */
+ public key: string;
+
+ /**
+ * Creates a new RemoveCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveCatalogAttributeRequest): google.cloud.retail.v2.RemoveCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveCatalogAttributeRequest;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2.RemoveCatalogAttributeRequest;
+
+ /**
+ * Verifies a RemoveCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a RemoveCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message RemoveCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplaceCatalogAttributeRequest. */
+ interface IReplaceCatalogAttributeRequest {
+
+ /** ReplaceCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a ReplaceCatalogAttributeRequest. */
+ class ReplaceCatalogAttributeRequest implements IReplaceCatalogAttributeRequest {
+
+ /**
+ * Constructs a new ReplaceCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IReplaceCatalogAttributeRequest);
+
+ /** ReplaceCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new ReplaceCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplaceCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IReplaceCatalogAttributeRequest): google.cloud.retail.v2.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Verifies a ReplaceCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplaceCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplaceCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a ReplaceCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message ReplaceCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ReplaceCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplaceCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplaceCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CompletionService */
+ class CompletionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CompletionService 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 CompletionService 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): CompletionService;
+
+ /**
+ * 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.retail.v2.ICompleteQueryRequest, callback: google.cloud.retail.v2.CompletionService.CompleteQueryCallback): void;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @returns Promise
+ */
+ public completeQuery(request: google.cloud.retail.v2.ICompleteQueryRequest): Promise;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importCompletionData(request: google.cloud.retail.v2.IImportCompletionDataRequest, callback: google.cloud.retail.v2.CompletionService.ImportCompletionDataCallback): void;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @returns Promise
+ */
+ public importCompletionData(request: google.cloud.retail.v2.IImportCompletionDataRequest): Promise;
+ }
+
+ namespace CompletionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CompletionService|completeQuery}.
+ * @param error Error, if any
+ * @param [response] CompleteQueryResponse
+ */
+ type CompleteQueryCallback = (error: (Error|null), response?: google.cloud.retail.v2.CompleteQueryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.CompletionService|importCompletionData}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportCompletionDataCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CompleteQueryRequest. */
+ interface ICompleteQueryRequest {
+
+ /** CompleteQueryRequest catalog */
+ catalog?: (string|null);
+
+ /** CompleteQueryRequest query */
+ query?: (string|null);
+
+ /** CompleteQueryRequest visitorId */
+ visitorId?: (string|null);
+
+ /** CompleteQueryRequest languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** CompleteQueryRequest deviceType */
+ deviceType?: (string|null);
+
+ /** CompleteQueryRequest dataset */
+ dataset?: (string|null);
+
+ /** CompleteQueryRequest maxSuggestions */
+ maxSuggestions?: (number|null);
+ }
+
+ /** Represents a CompleteQueryRequest. */
+ class CompleteQueryRequest implements ICompleteQueryRequest {
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICompleteQueryRequest);
+
+ /** CompleteQueryRequest catalog. */
+ public catalog: string;
+
+ /** CompleteQueryRequest query. */
+ public query: string;
+
+ /** CompleteQueryRequest visitorId. */
+ public visitorId: string;
+
+ /** CompleteQueryRequest languageCodes. */
+ public languageCodes: string[];
+
+ /** CompleteQueryRequest deviceType. */
+ public deviceType: string;
+
+ /** CompleteQueryRequest dataset. */
+ public dataset: string;
+
+ /** CompleteQueryRequest maxSuggestions. */
+ public maxSuggestions: number;
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICompleteQueryRequest): google.cloud.retail.v2.CompleteQueryRequest;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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;
+ }
+
+ /** Properties of a CompleteQueryResponse. */
+ interface ICompleteQueryResponse {
+
+ /** CompleteQueryResponse completionResults */
+ completionResults?: (google.cloud.retail.v2.CompleteQueryResponse.ICompletionResult[]|null);
+
+ /** CompleteQueryResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** CompleteQueryResponse recentSearchResults */
+ recentSearchResults?: (google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult[]|null);
+ }
+
+ /** Represents a CompleteQueryResponse. */
+ class CompleteQueryResponse implements ICompleteQueryResponse {
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICompleteQueryResponse);
+
+ /** CompleteQueryResponse completionResults. */
+ public completionResults: google.cloud.retail.v2.CompleteQueryResponse.ICompletionResult[];
+
+ /** CompleteQueryResponse attributionToken. */
+ public attributionToken: string;
+
+ /** CompleteQueryResponse recentSearchResults. */
+ public recentSearchResults: google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult[];
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICompleteQueryResponse): google.cloud.retail.v2.CompleteQueryResponse;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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 attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2.ICustomAttribute }|null);
+ }
+
+ /** Represents a CompletionResult. */
+ class CompletionResult implements ICompletionResult {
+
+ /**
+ * Constructs a new CompletionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.CompleteQueryResponse.ICompletionResult);
+
+ /** CompletionResult suggestion. */
+ public suggestion: string;
+
+ /** CompletionResult attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2.ICustomAttribute };
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2.CompleteQueryResponse.ICompletionResult): google.cloud.retail.v2.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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.retail.v2.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 RecentSearchResult. */
+ interface IRecentSearchResult {
+
+ /** RecentSearchResult recentSearch */
+ recentSearch?: (string|null);
+ }
+
+ /** Represents a RecentSearchResult. */
+ class RecentSearchResult implements IRecentSearchResult {
+
+ /**
+ * Constructs a new RecentSearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult);
+
+ /** RecentSearchResult recentSearch. */
+ public recentSearch: string;
+
+ /**
+ * Creates a new RecentSearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecentSearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult): google.cloud.retail.v2.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Encodes the specified RecentSearchResult message. Does not implicitly {@link google.cloud.retail.v2.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecentSearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload is not 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.retail.v2.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload 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.retail.v2.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Verifies a RecentSearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecentSearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecentSearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Creates a plain object from a RecentSearchResult message. Also converts values to other types if specified.
+ * @param message RecentSearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CompleteQueryResponse.RecentSearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecentSearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RecentSearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Control. */
+ interface IControl {
+
+ /** Control rule */
+ rule?: (google.cloud.retail.v2.IRule|null);
+
+ /** Control name */
+ name?: (string|null);
+
+ /** Control displayName */
+ displayName?: (string|null);
+
+ /** Control associatedServingConfigIds */
+ associatedServingConfigIds?: (string[]|null);
+
+ /** Control solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2.SolutionType[]|null);
+
+ /** Control searchSolutionUseCase */
+ searchSolutionUseCase?: (google.cloud.retail.v2.SearchSolutionUseCase[]|null);
+ }
+
+ /** Represents a Control. */
+ class Control implements IControl {
+
+ /**
+ * Constructs a new Control.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IControl);
+
+ /** Control rule. */
+ public rule?: (google.cloud.retail.v2.IRule|null);
+
+ /** Control name. */
+ public name: string;
+
+ /** Control displayName. */
+ public displayName: string;
+
+ /** Control associatedServingConfigIds. */
+ public associatedServingConfigIds: string[];
+
+ /** Control solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2.SolutionType[];
+
+ /** Control searchSolutionUseCase. */
+ public searchSolutionUseCase: google.cloud.retail.v2.SearchSolutionUseCase[];
+
+ /** Control control. */
+ public control?: "rule";
+
+ /**
+ * Creates a new Control instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Control instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IControl): google.cloud.retail.v2.Control;
+
+ /**
+ * Encodes the specified Control message. Does not implicitly {@link google.cloud.retail.v2.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Control message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Control
+ * @throws {Error} If the payload is not 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.retail.v2.Control;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Control
+ * @throws {Error} If the payload 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.retail.v2.Control;
+
+ /**
+ * Verifies a Control message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Control message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Control
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.Control;
+
+ /**
+ * Creates a plain object from a Control message. Also converts values to other types if specified.
+ * @param message Control
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.Control, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Control to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Control
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a ControlService */
+ class ControlService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ControlService 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 ControlService 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): ControlService;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public createControl(request: google.cloud.retail.v2.ICreateControlRequest, callback: google.cloud.retail.v2.ControlService.CreateControlCallback): void;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @returns Promise
+ */
+ public createControl(request: google.cloud.retail.v2.ICreateControlRequest): Promise;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteControl(request: google.cloud.retail.v2.IDeleteControlRequest, callback: google.cloud.retail.v2.ControlService.DeleteControlCallback): void;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @returns Promise
+ */
+ public deleteControl(request: google.cloud.retail.v2.IDeleteControlRequest): Promise;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public updateControl(request: google.cloud.retail.v2.IUpdateControlRequest, callback: google.cloud.retail.v2.ControlService.UpdateControlCallback): void;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @returns Promise
+ */
+ public updateControl(request: google.cloud.retail.v2.IUpdateControlRequest): Promise;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public getControl(request: google.cloud.retail.v2.IGetControlRequest, callback: google.cloud.retail.v2.ControlService.GetControlCallback): void;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @returns Promise
+ */
+ public getControl(request: google.cloud.retail.v2.IGetControlRequest): Promise;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListControlsResponse
+ */
+ public listControls(request: google.cloud.retail.v2.IListControlsRequest, callback: google.cloud.retail.v2.ControlService.ListControlsCallback): void;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @returns Promise
+ */
+ public listControls(request: google.cloud.retail.v2.IListControlsRequest): Promise;
+ }
+
+ namespace ControlService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ControlService|createControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type CreateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ControlService|deleteControl}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteControlCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ControlService|updateControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type UpdateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ControlService|getControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type GetControlCallback = (error: (Error|null), response?: google.cloud.retail.v2.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ControlService|listControls}.
+ * @param error Error, if any
+ * @param [response] ListControlsResponse
+ */
+ type ListControlsCallback = (error: (Error|null), response?: google.cloud.retail.v2.ListControlsResponse) => void;
+ }
+
+ /** Properties of a CreateControlRequest. */
+ interface ICreateControlRequest {
+
+ /** CreateControlRequest parent */
+ parent?: (string|null);
+
+ /** CreateControlRequest control */
+ control?: (google.cloud.retail.v2.IControl|null);
+
+ /** CreateControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a CreateControlRequest. */
+ class CreateControlRequest implements ICreateControlRequest {
+
+ /**
+ * Constructs a new CreateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICreateControlRequest);
+
+ /** CreateControlRequest parent. */
+ public parent: string;
+
+ /** CreateControlRequest control. */
+ public control?: (google.cloud.retail.v2.IControl|null);
+
+ /** CreateControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new CreateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICreateControlRequest): google.cloud.retail.v2.CreateControlRequest;
+
+ /**
+ * Encodes the specified CreateControlRequest message. Does not implicitly {@link google.cloud.retail.v2.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.CreateControlRequest;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload 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.retail.v2.CreateControlRequest;
+
+ /**
+ * Verifies a CreateControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CreateControlRequest;
+
+ /**
+ * Creates a plain object from a CreateControlRequest message. Also converts values to other types if specified.
+ * @param message CreateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CreateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateControlRequest. */
+ interface IUpdateControlRequest {
+
+ /** UpdateControlRequest control */
+ control?: (google.cloud.retail.v2.IControl|null);
+
+ /** UpdateControlRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateControlRequest. */
+ class UpdateControlRequest implements IUpdateControlRequest {
+
+ /**
+ * Constructs a new UpdateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateControlRequest);
+
+ /** UpdateControlRequest control. */
+ public control?: (google.cloud.retail.v2.IControl|null);
+
+ /** UpdateControlRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateControlRequest): google.cloud.retail.v2.UpdateControlRequest;
+
+ /**
+ * Encodes the specified UpdateControlRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateControlRequest;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateControlRequest;
+
+ /**
+ * Verifies an UpdateControlRequest message.
+ * @param message Plain 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 UpdateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateControlRequest;
+
+ /**
+ * Creates a plain object from an UpdateControlRequest message. Also converts values to other types if specified.
+ * @param message UpdateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteControlRequest. */
+ interface IDeleteControlRequest {
+
+ /** DeleteControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteControlRequest. */
+ class DeleteControlRequest implements IDeleteControlRequest {
+
+ /**
+ * Constructs a new DeleteControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IDeleteControlRequest);
+
+ /** DeleteControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IDeleteControlRequest): google.cloud.retail.v2.DeleteControlRequest;
+
+ /**
+ * Encodes the specified DeleteControlRequest message. Does not implicitly {@link google.cloud.retail.v2.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.DeleteControlRequest;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload 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.retail.v2.DeleteControlRequest;
+
+ /**
+ * Verifies a DeleteControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.DeleteControlRequest;
+
+ /**
+ * Creates a plain object from a DeleteControlRequest message. Also converts values to other types if specified.
+ * @param message DeleteControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.DeleteControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetControlRequest. */
+ interface IGetControlRequest {
+
+ /** GetControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetControlRequest. */
+ class GetControlRequest implements IGetControlRequest {
+
+ /**
+ * Constructs a new GetControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetControlRequest);
+
+ /** GetControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetControlRequest): google.cloud.retail.v2.GetControlRequest;
+
+ /**
+ * Encodes the specified GetControlRequest message. Does not implicitly {@link google.cloud.retail.v2.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetControlRequest;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetControlRequest
+ * @throws {Error} If the payload 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.retail.v2.GetControlRequest;
+
+ /**
+ * Verifies a GetControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetControlRequest;
+
+ /**
+ * Creates a plain object from a GetControlRequest message. Also converts values to other types if specified.
+ * @param message GetControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsRequest. */
+ interface IListControlsRequest {
+
+ /** ListControlsRequest parent */
+ parent?: (string|null);
+
+ /** ListControlsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListControlsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListControlsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListControlsRequest. */
+ class ListControlsRequest implements IListControlsRequest {
+
+ /**
+ * Constructs a new ListControlsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListControlsRequest);
+
+ /** ListControlsRequest parent. */
+ public parent: string;
+
+ /** ListControlsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListControlsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListControlsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListControlsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListControlsRequest): google.cloud.retail.v2.ListControlsRequest;
+
+ /**
+ * Encodes the specified ListControlsRequest message. Does not implicitly {@link google.cloud.retail.v2.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ListControlsRequest;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload 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.retail.v2.ListControlsRequest;
+
+ /**
+ * Verifies a ListControlsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListControlsRequest;
+
+ /**
+ * Creates a plain object from a ListControlsRequest message. Also converts values to other types if specified.
+ * @param message ListControlsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListControlsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsResponse. */
+ interface IListControlsResponse {
+
+ /** ListControlsResponse controls */
+ controls?: (google.cloud.retail.v2.IControl[]|null);
+
+ /** ListControlsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListControlsResponse. */
+ class ListControlsResponse implements IListControlsResponse {
+
+ /**
+ * Constructs a new ListControlsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListControlsResponse);
+
+ /** ListControlsResponse controls. */
+ public controls: google.cloud.retail.v2.IControl[];
+
+ /** ListControlsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListControlsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListControlsResponse): google.cloud.retail.v2.ListControlsResponse;
+
+ /**
+ * Encodes the specified ListControlsResponse message. Does not implicitly {@link google.cloud.retail.v2.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ListControlsResponse;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload 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.retail.v2.ListControlsResponse;
+
+ /**
+ * Verifies a ListControlsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListControlsResponse;
+
+ /**
+ * Creates a plain object from a ListControlsResponse message. Also converts values to other types if specified.
+ * @param message ListControlsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListControlsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a PredictionService */
+ class PredictionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new PredictionService 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 PredictionService 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): PredictionService;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PredictResponse
+ */
+ public predict(request: google.cloud.retail.v2.IPredictRequest, callback: google.cloud.retail.v2.PredictionService.PredictCallback): void;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @returns Promise
+ */
+ public predict(request: google.cloud.retail.v2.IPredictRequest): Promise;
+ }
+
+ namespace PredictionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.PredictionService|predict}.
+ * @param error Error, if any
+ * @param [response] PredictResponse
+ */
+ type PredictCallback = (error: (Error|null), response?: google.cloud.retail.v2.PredictResponse) => void;
+ }
+
+ /** Properties of a PredictRequest. */
+ interface IPredictRequest {
+
+ /** PredictRequest placement */
+ placement?: (string|null);
+
+ /** PredictRequest userEvent */
+ userEvent?: (google.cloud.retail.v2.IUserEvent|null);
+
+ /** PredictRequest pageSize */
+ pageSize?: (number|null);
+
+ /** PredictRequest pageToken */
+ pageToken?: (string|null);
+
+ /** PredictRequest filter */
+ filter?: (string|null);
+
+ /** PredictRequest validateOnly */
+ validateOnly?: (boolean|null);
+
+ /** PredictRequest params */
+ params?: ({ [k: string]: google.protobuf.IValue }|null);
+
+ /** PredictRequest labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a PredictRequest. */
+ class PredictRequest implements IPredictRequest {
+
+ /**
+ * Constructs a new PredictRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPredictRequest);
+
+ /** PredictRequest placement. */
+ public placement: string;
+
+ /** PredictRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2.IUserEvent|null);
+
+ /** PredictRequest pageSize. */
+ public pageSize: number;
+
+ /** PredictRequest pageToken. */
+ public pageToken: string;
+
+ /** PredictRequest filter. */
+ public filter: string;
+
+ /** PredictRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /** PredictRequest params. */
+ public params: { [k: string]: google.protobuf.IValue };
+
+ /** PredictRequest labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new PredictRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPredictRequest): google.cloud.retail.v2.PredictRequest;
+
+ /**
+ * Encodes the specified PredictRequest message. Does not implicitly {@link google.cloud.retail.v2.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictRequest
+ * @throws {Error} If the payload is not 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.retail.v2.PredictRequest;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictRequest
+ * @throws {Error} If the payload 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.retail.v2.PredictRequest;
+
+ /**
+ * Verifies a PredictRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PredictRequest;
+
+ /**
+ * Creates a plain object from a PredictRequest message. Also converts values to other types if specified.
+ * @param message PredictRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PredictRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PredictResponse. */
+ interface IPredictResponse {
+
+ /** PredictResponse results */
+ results?: (google.cloud.retail.v2.PredictResponse.IPredictionResult[]|null);
+
+ /** PredictResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** PredictResponse missingIds */
+ missingIds?: (string[]|null);
+
+ /** PredictResponse validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents a PredictResponse. */
+ class PredictResponse implements IPredictResponse {
+
+ /**
+ * Constructs a new PredictResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPredictResponse);
+
+ /** PredictResponse results. */
+ public results: google.cloud.retail.v2.PredictResponse.IPredictionResult[];
+
+ /** PredictResponse attributionToken. */
+ public attributionToken: string;
+
+ /** PredictResponse missingIds. */
+ public missingIds: string[];
+
+ /** PredictResponse validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new PredictResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPredictResponse): google.cloud.retail.v2.PredictResponse;
+
+ /**
+ * Encodes the specified PredictResponse message. Does not implicitly {@link google.cloud.retail.v2.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictResponse
+ * @throws {Error} If the payload is not 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.retail.v2.PredictResponse;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictResponse
+ * @throws {Error} If the payload 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.retail.v2.PredictResponse;
+
+ /**
+ * Verifies a PredictResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PredictResponse;
+
+ /**
+ * Creates a plain object from a PredictResponse message. Also converts values to other types if specified.
+ * @param message PredictResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PredictResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PredictResponse {
+
+ /** Properties of a PredictionResult. */
+ interface IPredictionResult {
+
+ /** PredictionResult id */
+ id?: (string|null);
+
+ /** PredictionResult metadata */
+ metadata?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a PredictionResult. */
+ class PredictionResult implements IPredictionResult {
+
+ /**
+ * Constructs a new PredictionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.PredictResponse.IPredictionResult);
+
+ /** PredictionResult id. */
+ public id: string;
+
+ /** PredictionResult metadata. */
+ public metadata: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new PredictionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2.PredictResponse.IPredictionResult): google.cloud.retail.v2.PredictResponse.PredictionResult;
+
+ /**
+ * Encodes the specified PredictionResult message. Does not implicitly {@link google.cloud.retail.v2.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictionResult
+ * @throws {Error} If the payload is not 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.retail.v2.PredictResponse.PredictionResult;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictionResult
+ * @throws {Error} If the payload 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.retail.v2.PredictResponse.PredictionResult;
+
+ /**
+ * Verifies a PredictionResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictionResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictionResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PredictResponse.PredictionResult;
+
+ /**
+ * Creates a plain object from a PredictionResult message. Also converts values to other types if specified.
+ * @param message PredictionResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PredictResponse.PredictionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictionResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictionResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ProductService */
+ class ProductService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ProductService 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 ProductService 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): ProductService;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public createProduct(request: google.cloud.retail.v2.ICreateProductRequest, callback: google.cloud.retail.v2.ProductService.CreateProductCallback): void;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @returns Promise
+ */
+ public createProduct(request: google.cloud.retail.v2.ICreateProductRequest): Promise;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public getProduct(request: google.cloud.retail.v2.IGetProductRequest, callback: google.cloud.retail.v2.ProductService.GetProductCallback): void;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @returns Promise
+ */
+ public getProduct(request: google.cloud.retail.v2.IGetProductRequest): Promise;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListProductsResponse
+ */
+ public listProducts(request: google.cloud.retail.v2.IListProductsRequest, callback: google.cloud.retail.v2.ProductService.ListProductsCallback): void;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @returns Promise
+ */
+ public listProducts(request: google.cloud.retail.v2.IListProductsRequest): Promise;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public updateProduct(request: google.cloud.retail.v2.IUpdateProductRequest, callback: google.cloud.retail.v2.ProductService.UpdateProductCallback): void;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @returns Promise
+ */
+ public updateProduct(request: google.cloud.retail.v2.IUpdateProductRequest): Promise;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteProduct(request: google.cloud.retail.v2.IDeleteProductRequest, callback: google.cloud.retail.v2.ProductService.DeleteProductCallback): void;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @returns Promise
+ */
+ public deleteProduct(request: google.cloud.retail.v2.IDeleteProductRequest): Promise;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importProducts(request: google.cloud.retail.v2.IImportProductsRequest, callback: google.cloud.retail.v2.ProductService.ImportProductsCallback): void;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @returns Promise
+ */
+ public importProducts(request: google.cloud.retail.v2.IImportProductsRequest): Promise;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public setInventory(request: google.cloud.retail.v2.ISetInventoryRequest, callback: google.cloud.retail.v2.ProductService.SetInventoryCallback): void;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @returns Promise
+ */
+ public setInventory(request: google.cloud.retail.v2.ISetInventoryRequest): Promise;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2.IAddFulfillmentPlacesRequest, callback: google.cloud.retail.v2.ProductService.AddFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2.IAddFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest, callback: google.cloud.retail.v2.ProductService.RemoveFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addLocalInventories(request: google.cloud.retail.v2.IAddLocalInventoriesRequest, callback: google.cloud.retail.v2.ProductService.AddLocalInventoriesCallback): void;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public addLocalInventories(request: google.cloud.retail.v2.IAddLocalInventoriesRequest): Promise;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2.IRemoveLocalInventoriesRequest, callback: google.cloud.retail.v2.ProductService.RemoveLocalInventoriesCallback): void;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2.IRemoveLocalInventoriesRequest): Promise;
+ }
+
+ namespace ProductService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|createProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type CreateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|getProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type GetProductCallback = (error: (Error|null), response?: google.cloud.retail.v2.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|listProducts}.
+ * @param error Error, if any
+ * @param [response] ListProductsResponse
+ */
+ type ListProductsCallback = (error: (Error|null), response?: google.cloud.retail.v2.ListProductsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|updateProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|deleteProduct}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|importProducts}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|setInventory}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type SetInventoryCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|addFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|removeFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|addLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ProductService|removeLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateProductRequest. */
+ interface ICreateProductRequest {
+
+ /** CreateProductRequest parent */
+ parent?: (string|null);
+
+ /** CreateProductRequest product */
+ product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** CreateProductRequest productId */
+ productId?: (string|null);
+ }
+
+ /** Represents a CreateProductRequest. */
+ class CreateProductRequest implements ICreateProductRequest {
+
+ /**
+ * Constructs a new CreateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICreateProductRequest);
+
+ /** CreateProductRequest parent. */
+ public parent: string;
+
+ /** CreateProductRequest product. */
+ public product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** CreateProductRequest productId. */
+ public productId: string;
+
+ /**
+ * Creates a new CreateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICreateProductRequest): google.cloud.retail.v2.CreateProductRequest;
+
+ /**
+ * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.retail.v2.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2.CreateProductRequest;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload 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.retail.v2.CreateProductRequest;
+
+ /**
+ * Verifies a CreateProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CreateProductRequest;
+
+ /**
+ * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified.
+ * @param message CreateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetProductRequest. */
+ interface IGetProductRequest {
+
+ /** GetProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetProductRequest. */
+ class GetProductRequest implements IGetProductRequest {
+
+ /**
+ * Constructs a new GetProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetProductRequest);
+
+ /** GetProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetProductRequest): google.cloud.retail.v2.GetProductRequest;
+
+ /**
+ * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.retail.v2.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetProductRequest;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetProductRequest
+ * @throws {Error} If the payload 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.retail.v2.GetProductRequest;
+
+ /**
+ * Verifies a GetProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetProductRequest;
+
+ /**
+ * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified.
+ * @param message GetProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateProductRequest. */
+ interface IUpdateProductRequest {
+
+ /** UpdateProductRequest product */
+ product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** UpdateProductRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an UpdateProductRequest. */
+ class UpdateProductRequest implements IUpdateProductRequest {
+
+ /**
+ * Constructs a new UpdateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateProductRequest);
+
+ /** UpdateProductRequest product. */
+ public product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** UpdateProductRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new UpdateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateProductRequest): google.cloud.retail.v2.UpdateProductRequest;
+
+ /**
+ * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateProductRequest;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateProductRequest;
+
+ /**
+ * Verifies an UpdateProductRequest message.
+ * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateProductRequest;
+
+ /**
+ * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified.
+ * @param message UpdateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteProductRequest. */
+ interface IDeleteProductRequest {
+
+ /** DeleteProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteProductRequest. */
+ class DeleteProductRequest implements IDeleteProductRequest {
+
+ /**
+ * Constructs a new DeleteProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IDeleteProductRequest);
+
+ /** DeleteProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IDeleteProductRequest): google.cloud.retail.v2.DeleteProductRequest;
+
+ /**
+ * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.retail.v2.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2.DeleteProductRequest;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload 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.retail.v2.DeleteProductRequest;
+
+ /**
+ * Verifies a DeleteProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.DeleteProductRequest;
+
+ /**
+ * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified.
+ * @param message DeleteProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsRequest. */
+ interface IListProductsRequest {
+
+ /** ListProductsRequest parent */
+ parent?: (string|null);
+
+ /** ListProductsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListProductsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListProductsRequest filter */
+ filter?: (string|null);
+
+ /** ListProductsRequest readMask */
+ readMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a ListProductsRequest. */
+ class ListProductsRequest implements IListProductsRequest {
+
+ /**
+ * Constructs a new ListProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListProductsRequest);
+
+ /** ListProductsRequest parent. */
+ public parent: string;
+
+ /** ListProductsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListProductsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListProductsRequest filter. */
+ public filter: string;
+
+ /** ListProductsRequest readMask. */
+ public readMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new ListProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListProductsRequest): google.cloud.retail.v2.ListProductsRequest;
+
+ /**
+ * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.retail.v2.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ListProductsRequest;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload 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.retail.v2.ListProductsRequest;
+
+ /**
+ * Verifies a ListProductsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListProductsRequest;
+
+ /**
+ * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified.
+ * @param message ListProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsResponse. */
+ interface IListProductsResponse {
+
+ /** ListProductsResponse products */
+ products?: (google.cloud.retail.v2.IProduct[]|null);
+
+ /** ListProductsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListProductsResponse. */
+ class ListProductsResponse implements IListProductsResponse {
+
+ /**
+ * Constructs a new ListProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListProductsResponse);
+
+ /** ListProductsResponse products. */
+ public products: google.cloud.retail.v2.IProduct[];
+
+ /** ListProductsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListProductsResponse): google.cloud.retail.v2.ListProductsResponse;
+
+ /**
+ * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.retail.v2.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ListProductsResponse;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload 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.retail.v2.ListProductsResponse;
+
+ /**
+ * Verifies a ListProductsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListProductsResponse;
+
+ /**
+ * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified.
+ * @param message ListProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryRequest. */
+ interface ISetInventoryRequest {
+
+ /** SetInventoryRequest inventory */
+ inventory?: (google.cloud.retail.v2.IProduct|null);
+
+ /** SetInventoryRequest setMask */
+ setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a SetInventoryRequest. */
+ class SetInventoryRequest implements ISetInventoryRequest {
+
+ /**
+ * Constructs a new SetInventoryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISetInventoryRequest);
+
+ /** SetInventoryRequest inventory. */
+ public inventory?: (google.cloud.retail.v2.IProduct|null);
+
+ /** SetInventoryRequest setMask. */
+ public setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new SetInventoryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISetInventoryRequest): google.cloud.retail.v2.SetInventoryRequest;
+
+ /**
+ * Encodes the specified SetInventoryRequest message. Does not implicitly {@link google.cloud.retail.v2.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload is not 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.retail.v2.SetInventoryRequest;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload 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.retail.v2.SetInventoryRequest;
+
+ /**
+ * Verifies a SetInventoryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SetInventoryRequest;
+
+ /**
+ * Creates a plain object from a SetInventoryRequest message. Also converts values to other types if specified.
+ * @param message SetInventoryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SetInventoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryMetadata. */
+ interface ISetInventoryMetadata {
+ }
+
+ /** Represents a SetInventoryMetadata. */
+ class SetInventoryMetadata implements ISetInventoryMetadata {
+
+ /**
+ * Constructs a new SetInventoryMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISetInventoryMetadata);
+
+ /**
+ * Creates a new SetInventoryMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISetInventoryMetadata): google.cloud.retail.v2.SetInventoryMetadata;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message. Does not implicitly {@link google.cloud.retail.v2.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.SetInventoryMetadata;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload 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.retail.v2.SetInventoryMetadata;
+
+ /**
+ * Verifies a SetInventoryMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SetInventoryMetadata;
+
+ /**
+ * Creates a plain object from a SetInventoryMetadata message. Also converts values to other types if specified.
+ * @param message SetInventoryMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SetInventoryMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryResponse. */
+ interface ISetInventoryResponse {
+ }
+
+ /** Represents a SetInventoryResponse. */
+ class SetInventoryResponse implements ISetInventoryResponse {
+
+ /**
+ * Constructs a new SetInventoryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISetInventoryResponse);
+
+ /**
+ * Creates a new SetInventoryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISetInventoryResponse): google.cloud.retail.v2.SetInventoryResponse;
+
+ /**
+ * Encodes the specified SetInventoryResponse message. Does not implicitly {@link google.cloud.retail.v2.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload is not 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.retail.v2.SetInventoryResponse;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload 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.retail.v2.SetInventoryResponse;
+
+ /**
+ * Verifies a SetInventoryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SetInventoryResponse;
+
+ /**
+ * Creates a plain object from a SetInventoryResponse message. Also converts values to other types if specified.
+ * @param message SetInventoryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SetInventoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesRequest. */
+ interface IAddFulfillmentPlacesRequest {
+
+ /** AddFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** AddFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** AddFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** AddFulfillmentPlacesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddFulfillmentPlacesRequest. */
+ class AddFulfillmentPlacesRequest implements IAddFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesRequest);
+
+ /** AddFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** AddFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** AddFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** AddFulfillmentPlacesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesRequest): google.cloud.retail.v2.AddFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2.AddFulfillmentPlacesRequest;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2.AddFulfillmentPlacesRequest;
+
+ /**
+ * Verifies an AddFulfillmentPlacesRequest message.
+ * @param message Plain 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 AddFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesMetadata. */
+ interface IAddFulfillmentPlacesMetadata {
+ }
+
+ /** Represents an AddFulfillmentPlacesMetadata. */
+ class AddFulfillmentPlacesMetadata implements IAddFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new AddFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesMetadata): google.cloud.retail.v2.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies an AddFulfillmentPlacesMetadata message.
+ * @param message Plain 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 AddFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesResponse. */
+ interface IAddFulfillmentPlacesResponse {
+ }
+
+ /** Represents an AddFulfillmentPlacesResponse. */
+ class AddFulfillmentPlacesResponse implements IAddFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new AddFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddFulfillmentPlacesResponse): google.cloud.retail.v2.AddFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2.AddFulfillmentPlacesResponse;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2.AddFulfillmentPlacesResponse;
+
+ /**
+ * Verifies an AddFulfillmentPlacesResponse message.
+ * @param message Plain 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 AddFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesRequest. */
+ interface IAddLocalInventoriesRequest {
+
+ /** AddLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** AddLocalInventoriesRequest localInventories */
+ localInventories?: (google.cloud.retail.v2.ILocalInventory[]|null);
+
+ /** AddLocalInventoriesRequest addMask */
+ addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddLocalInventoriesRequest. */
+ class AddLocalInventoriesRequest implements IAddLocalInventoriesRequest {
+
+ /**
+ * Constructs a new AddLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddLocalInventoriesRequest);
+
+ /** AddLocalInventoriesRequest product. */
+ public product: string;
+
+ /** AddLocalInventoriesRequest localInventories. */
+ public localInventories: google.cloud.retail.v2.ILocalInventory[];
+
+ /** AddLocalInventoriesRequest addMask. */
+ public addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddLocalInventoriesRequest): google.cloud.retail.v2.AddLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2.AddLocalInventoriesRequest;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2.AddLocalInventoriesRequest;
+
+ /**
+ * Verifies an AddLocalInventoriesRequest message.
+ * @param message Plain 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 AddLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesMetadata. */
+ interface IAddLocalInventoriesMetadata {
+ }
+
+ /** Represents an AddLocalInventoriesMetadata. */
+ class AddLocalInventoriesMetadata implements IAddLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new AddLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddLocalInventoriesMetadata);
+
+ /**
+ * Creates a new AddLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddLocalInventoriesMetadata): google.cloud.retail.v2.AddLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.AddLocalInventoriesMetadata;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2.AddLocalInventoriesMetadata;
+
+ /**
+ * Verifies an AddLocalInventoriesMetadata message.
+ * @param message Plain 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 AddLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesResponse. */
+ interface IAddLocalInventoriesResponse {
+ }
+
+ /** Represents an AddLocalInventoriesResponse. */
+ class AddLocalInventoriesResponse implements IAddLocalInventoriesResponse {
+
+ /**
+ * Constructs a new AddLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddLocalInventoriesResponse);
+
+ /**
+ * Creates a new AddLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddLocalInventoriesResponse): google.cloud.retail.v2.AddLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2.AddLocalInventoriesResponse;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2.AddLocalInventoriesResponse;
+
+ /**
+ * Verifies an AddLocalInventoriesResponse message.
+ * @param message Plain 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 AddLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesRequest. */
+ interface IRemoveLocalInventoriesRequest {
+
+ /** RemoveLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** RemoveLocalInventoriesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveLocalInventoriesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveLocalInventoriesRequest. */
+ class RemoveLocalInventoriesRequest implements IRemoveLocalInventoriesRequest {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesRequest);
+
+ /** RemoveLocalInventoriesRequest product. */
+ public product: string;
+
+ /** RemoveLocalInventoriesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveLocalInventoriesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesRequest): google.cloud.retail.v2.RemoveLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveLocalInventoriesRequest;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2.RemoveLocalInventoriesRequest;
+
+ /**
+ * Verifies a RemoveLocalInventoriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesMetadata. */
+ interface IRemoveLocalInventoriesMetadata {
+ }
+
+ /** Represents a RemoveLocalInventoriesMetadata. */
+ class RemoveLocalInventoriesMetadata implements IRemoveLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesMetadata);
+
+ /**
+ * Creates a new RemoveLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesMetadata): google.cloud.retail.v2.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Verifies a RemoveLocalInventoriesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesResponse. */
+ interface IRemoveLocalInventoriesResponse {
+ }
+
+ /** Represents a RemoveLocalInventoriesResponse. */
+ class RemoveLocalInventoriesResponse implements IRemoveLocalInventoriesResponse {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesResponse);
+
+ /**
+ * Creates a new RemoveLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveLocalInventoriesResponse): google.cloud.retail.v2.RemoveLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveLocalInventoriesResponse;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2.RemoveLocalInventoriesResponse;
+
+ /**
+ * Verifies a RemoveLocalInventoriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesRequest. */
+ interface IRemoveFulfillmentPlacesRequest {
+
+ /** RemoveFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveFulfillmentPlacesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveFulfillmentPlacesRequest. */
+ class RemoveFulfillmentPlacesRequest implements IRemoveFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest);
+
+ /** RemoveFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** RemoveFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** RemoveFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveFulfillmentPlacesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest): google.cloud.retail.v2.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesMetadata. */
+ interface IRemoveFulfillmentPlacesMetadata {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesMetadata. */
+ class RemoveFulfillmentPlacesMetadata implements IRemoveFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesMetadata): google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesResponse. */
+ interface IRemoveFulfillmentPlacesResponse {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesResponse. */
+ class RemoveFulfillmentPlacesResponse implements IRemoveFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveFulfillmentPlacesResponse): google.cloud.retail.v2.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeMetadata. */
+ interface IPurgeMetadata {
+ }
+
+ /** Represents a PurgeMetadata. */
+ class PurgeMetadata implements IPurgeMetadata {
+
+ /**
+ * Constructs a new PurgeMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPurgeMetadata);
+
+ /**
+ * Creates a new PurgeMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPurgeMetadata): google.cloud.retail.v2.PurgeMetadata;
+
+ /**
+ * Encodes the specified PurgeMetadata message. Does not implicitly {@link google.cloud.retail.v2.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.PurgeMetadata;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload 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.retail.v2.PurgeMetadata;
+
+ /**
+ * Verifies a PurgeMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PurgeMetadata;
+
+ /**
+ * Creates a plain object from a PurgeMetadata message. Also converts values to other types if specified.
+ * @param message PurgeMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PurgeMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsRequest. */
+ interface IPurgeUserEventsRequest {
+
+ /** PurgeUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** PurgeUserEventsRequest filter */
+ filter?: (string|null);
+
+ /** PurgeUserEventsRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a PurgeUserEventsRequest. */
+ class PurgeUserEventsRequest implements IPurgeUserEventsRequest {
+
+ /**
+ * Constructs a new PurgeUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPurgeUserEventsRequest);
+
+ /** PurgeUserEventsRequest parent. */
+ public parent: string;
+
+ /** PurgeUserEventsRequest filter. */
+ public filter: string;
+
+ /** PurgeUserEventsRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new PurgeUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPurgeUserEventsRequest): google.cloud.retail.v2.PurgeUserEventsRequest;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.PurgeUserEventsRequest;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2.PurgeUserEventsRequest;
+
+ /**
+ * Verifies a PurgeUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PurgeUserEventsRequest;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsRequest message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PurgeUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsResponse. */
+ interface IPurgeUserEventsResponse {
+
+ /** PurgeUserEventsResponse purgedEventsCount */
+ purgedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a PurgeUserEventsResponse. */
+ class PurgeUserEventsResponse implements IPurgeUserEventsResponse {
+
+ /**
+ * Constructs a new PurgeUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IPurgeUserEventsResponse);
+
+ /** PurgeUserEventsResponse purgedEventsCount. */
+ public purgedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new PurgeUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IPurgeUserEventsResponse): google.cloud.retail.v2.PurgeUserEventsResponse;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.PurgeUserEventsResponse;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2.PurgeUserEventsResponse;
+
+ /**
+ * Verifies a PurgeUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.PurgeUserEventsResponse;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsResponse message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.PurgeUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a SearchService */
+ class SearchService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SearchService 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 SearchService 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): SearchService;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchResponse
+ */
+ public search(request: google.cloud.retail.v2.ISearchRequest, callback: google.cloud.retail.v2.SearchService.SearchCallback): void;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @returns Promise
+ */
+ public search(request: google.cloud.retail.v2.ISearchRequest): Promise;
+ }
+
+ namespace SearchService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.SearchService|search}.
+ * @param error Error, if any
+ * @param [response] SearchResponse
+ */
+ type SearchCallback = (error: (Error|null), response?: google.cloud.retail.v2.SearchResponse) => void;
+ }
+
+ /** Properties of a SearchRequest. */
+ interface ISearchRequest {
+
+ /** SearchRequest placement */
+ placement?: (string|null);
+
+ /** SearchRequest branch */
+ branch?: (string|null);
+
+ /** SearchRequest query */
+ query?: (string|null);
+
+ /** SearchRequest visitorId */
+ visitorId?: (string|null);
+
+ /** SearchRequest userInfo */
+ userInfo?: (google.cloud.retail.v2.IUserInfo|null);
+
+ /** SearchRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchRequest offset */
+ offset?: (number|null);
+
+ /** SearchRequest filter */
+ filter?: (string|null);
+
+ /** SearchRequest canonicalFilter */
+ canonicalFilter?: (string|null);
+
+ /** SearchRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchRequest facetSpecs */
+ facetSpecs?: (google.cloud.retail.v2.SearchRequest.IFacetSpec[]|null);
+
+ /** SearchRequest dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec */
+ boostSpec?: (google.cloud.retail.v2.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec */
+ queryExpansionSpec?: (google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest variantRollupKeys */
+ variantRollupKeys?: (string[]|null);
+
+ /** SearchRequest pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** SearchRequest searchMode */
+ searchMode?: (google.cloud.retail.v2.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2.SearchRequest.SearchMode|null);
+
+ /** SearchRequest personalizationSpec */
+ personalizationSpec?: (google.cloud.retail.v2.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** SearchRequest spellCorrectionSpec */
+ spellCorrectionSpec?: (google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec|null);
+ }
+
+ /** Represents a SearchRequest. */
+ class SearchRequest implements ISearchRequest {
+
+ /**
+ * Constructs a new SearchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISearchRequest);
+
+ /** SearchRequest placement. */
+ public placement: string;
+
+ /** SearchRequest branch. */
+ public branch: string;
+
+ /** SearchRequest query. */
+ public query: string;
+
+ /** SearchRequest visitorId. */
+ public visitorId: string;
+
+ /** SearchRequest userInfo. */
+ public userInfo?: (google.cloud.retail.v2.IUserInfo|null);
+
+ /** SearchRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchRequest offset. */
+ public offset: number;
+
+ /** SearchRequest filter. */
+ public filter: string;
+
+ /** SearchRequest canonicalFilter. */
+ public canonicalFilter: string;
+
+ /** SearchRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchRequest facetSpecs. */
+ public facetSpecs: google.cloud.retail.v2.SearchRequest.IFacetSpec[];
+
+ /** SearchRequest dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec. */
+ public boostSpec?: (google.cloud.retail.v2.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec. */
+ public queryExpansionSpec?: (google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest variantRollupKeys. */
+ public variantRollupKeys: string[];
+
+ /** SearchRequest pageCategories. */
+ public pageCategories: string[];
+
+ /** SearchRequest searchMode. */
+ public searchMode: (google.cloud.retail.v2.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2.SearchRequest.SearchMode);
+
+ /** SearchRequest personalizationSpec. */
+ public personalizationSpec?: (google.cloud.retail.v2.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** SearchRequest spellCorrectionSpec. */
+ public spellCorrectionSpec?: (google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec|null);
+
+ /** SearchRequest _spellCorrectionSpec. */
+ public _spellCorrectionSpec?: "spellCorrectionSpec";
+
+ /**
+ * Creates a new SearchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISearchRequest): google.cloud.retail.v2.SearchRequest;
+
+ /**
+ * Encodes the specified SearchRequest message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchRequest
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchRequest
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest;
+
+ /**
+ * Verifies a SearchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest;
+
+ /**
+ * Creates a plain object from a SearchRequest message. Also converts values to other types if specified.
+ * @param message SearchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchRequest {
+
+ /** Properties of a FacetSpec. */
+ interface IFacetSpec {
+
+ /** FacetSpec facetKey */
+ facetKey?: (google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit */
+ limit?: (number|null);
+
+ /** FacetSpec excludedFilterKeys */
+ excludedFilterKeys?: (string[]|null);
+
+ /** FacetSpec enableDynamicPosition */
+ enableDynamicPosition?: (boolean|null);
+ }
+
+ /** Represents a FacetSpec. */
+ class FacetSpec implements IFacetSpec {
+
+ /**
+ * Constructs a new FacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.IFacetSpec);
+
+ /** FacetSpec facetKey. */
+ public facetKey?: (google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit. */
+ public limit: number;
+
+ /** FacetSpec excludedFilterKeys. */
+ public excludedFilterKeys: string[];
+
+ /** FacetSpec enableDynamicPosition. */
+ public enableDynamicPosition: boolean;
+
+ /**
+ * Creates a new FacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.IFacetSpec): google.cloud.retail.v2.SearchRequest.FacetSpec;
+
+ /**
+ * Encodes the specified FacetSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.FacetSpec;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.FacetSpec;
+
+ /**
+ * Verifies a FacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.FacetSpec;
+
+ /**
+ * Creates a plain object from a FacetSpec message. Also converts values to other types if specified.
+ * @param message FacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.FacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FacetSpec {
+
+ /** Properties of a FacetKey. */
+ interface IFacetKey {
+
+ /** FacetKey key */
+ key?: (string|null);
+
+ /** FacetKey intervals */
+ intervals?: (google.cloud.retail.v2.IInterval[]|null);
+
+ /** FacetKey restrictedValues */
+ restrictedValues?: (string[]|null);
+
+ /** FacetKey prefixes */
+ prefixes?: (string[]|null);
+
+ /** FacetKey contains */
+ contains?: (string[]|null);
+
+ /** FacetKey caseInsensitive */
+ caseInsensitive?: (boolean|null);
+
+ /** FacetKey orderBy */
+ orderBy?: (string|null);
+
+ /** FacetKey query */
+ query?: (string|null);
+
+ /** FacetKey returnMinMax */
+ returnMinMax?: (boolean|null);
+ }
+
+ /** Represents a FacetKey. */
+ class FacetKey implements IFacetKey {
+
+ /**
+ * Constructs a new FacetKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey);
+
+ /** FacetKey key. */
+ public key: string;
+
+ /** FacetKey intervals. */
+ public intervals: google.cloud.retail.v2.IInterval[];
+
+ /** FacetKey restrictedValues. */
+ public restrictedValues: string[];
+
+ /** FacetKey prefixes. */
+ public prefixes: string[];
+
+ /** FacetKey contains. */
+ public contains: string[];
+
+ /** FacetKey caseInsensitive. */
+ public caseInsensitive: boolean;
+
+ /** FacetKey orderBy. */
+ public orderBy: string;
+
+ /** FacetKey query. */
+ public query: string;
+
+ /** FacetKey returnMinMax. */
+ public returnMinMax: boolean;
+
+ /**
+ * Creates a new FacetKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetKey instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey): google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Encodes the specified FacetKey message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetKey message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetKey
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetKey
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Verifies a FacetKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Creates a plain object from a FacetKey message. Also converts values to other types if specified.
+ * @param message FacetKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.FacetSpec.FacetKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a DynamicFacetSpec. */
+ interface IDynamicFacetSpec {
+
+ /** DynamicFacetSpec mode */
+ mode?: (google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode|null);
+ }
+
+ /** Represents a DynamicFacetSpec. */
+ class DynamicFacetSpec implements IDynamicFacetSpec {
+
+ /**
+ * Constructs a new DynamicFacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec);
+
+ /** DynamicFacetSpec mode. */
+ public mode: (google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.Mode);
+
+ /**
+ * Creates a new DynamicFacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DynamicFacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec): google.cloud.retail.v2.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Verifies a DynamicFacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DynamicFacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DynamicFacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Creates a plain object from a DynamicFacetSpec message. Also converts values to other types if specified.
+ * @param message DynamicFacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.DynamicFacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DynamicFacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DynamicFacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DynamicFacetSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ DISABLED = 1,
+ ENABLED = 2
+ }
+ }
+
+ /** Properties of a BoostSpec. */
+ interface IBoostSpec {
+
+ /** BoostSpec conditionBoostSpecs */
+ conditionBoostSpecs?: (google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+
+ /** BoostSpec skipBoostSpecValidation */
+ skipBoostSpecValidation?: (boolean|null);
+ }
+
+ /** Represents a BoostSpec. */
+ class BoostSpec implements IBoostSpec {
+
+ /**
+ * Constructs a new BoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.IBoostSpec);
+
+ /** BoostSpec conditionBoostSpecs. */
+ public conditionBoostSpecs: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /** BoostSpec skipBoostSpecValidation. */
+ public skipBoostSpecValidation?: (boolean|null);
+
+ /** BoostSpec _skipBoostSpecValidation. */
+ public _skipBoostSpecValidation?: "skipBoostSpecValidation";
+
+ /**
+ * Creates a new BoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.IBoostSpec): google.cloud.retail.v2.SearchRequest.BoostSpec;
+
+ /**
+ * Encodes the specified BoostSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.BoostSpec;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.BoostSpec;
+
+ /**
+ * Verifies a BoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.BoostSpec;
+
+ /**
+ * Creates a plain object from a BoostSpec message. Also converts values to other types if specified.
+ * @param message BoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.BoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BoostSpec {
+
+ /** Properties of a ConditionBoostSpec. */
+ interface IConditionBoostSpec {
+
+ /** ConditionBoostSpec condition */
+ condition?: (string|null);
+
+ /** ConditionBoostSpec boost */
+ boost?: (number|null);
+ }
+
+ /** Represents a ConditionBoostSpec. */
+ class ConditionBoostSpec implements IConditionBoostSpec {
+
+ /**
+ * Constructs a new ConditionBoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec);
+
+ /** ConditionBoostSpec condition. */
+ public condition: string;
+
+ /** ConditionBoostSpec boost. */
+ public boost: number;
+
+ /**
+ * Creates a new ConditionBoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConditionBoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec): google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Verifies a ConditionBoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConditionBoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConditionBoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Creates a plain object from a ConditionBoostSpec message. Also converts values to other types if specified.
+ * @param message ConditionBoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.BoostSpec.ConditionBoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConditionBoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConditionBoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionSpec. */
+ interface IQueryExpansionSpec {
+
+ /** QueryExpansionSpec condition */
+ condition?: (google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition|null);
+
+ /** QueryExpansionSpec pinUnexpandedResults */
+ pinUnexpandedResults?: (boolean|null);
+ }
+
+ /** Represents a QueryExpansionSpec. */
+ class QueryExpansionSpec implements IQueryExpansionSpec {
+
+ /**
+ * Constructs a new QueryExpansionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec);
+
+ /** QueryExpansionSpec condition. */
+ public condition: (google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.Condition);
+
+ /** QueryExpansionSpec pinUnexpandedResults. */
+ public pinUnexpandedResults: boolean;
+
+ /**
+ * Creates a new QueryExpansionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec): google.cloud.retail.v2.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Verifies a QueryExpansionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Creates a plain object from a QueryExpansionSpec message. Also converts values to other types if specified.
+ * @param message QueryExpansionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.QueryExpansionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace QueryExpansionSpec {
+
+ /** Condition enum. */
+ enum Condition {
+ CONDITION_UNSPECIFIED = 0,
+ DISABLED = 1,
+ AUTO = 3
+ }
+ }
+
+ /** Properties of a PersonalizationSpec. */
+ interface IPersonalizationSpec {
+
+ /** PersonalizationSpec mode */
+ mode?: (google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode|null);
+ }
+
+ /** Represents a PersonalizationSpec. */
+ class PersonalizationSpec implements IPersonalizationSpec {
+
+ /**
+ * Constructs a new PersonalizationSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.IPersonalizationSpec);
+
+ /** PersonalizationSpec mode. */
+ public mode: (google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode);
+
+ /**
+ * Creates a new PersonalizationSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonalizationSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.IPersonalizationSpec): google.cloud.retail.v2.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Encodes the specified PersonalizationSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonalizationSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Verifies a PersonalizationSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonalizationSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonalizationSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Creates a plain object from a PersonalizationSpec message. Also converts values to other types if specified.
+ * @param message PersonalizationSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.PersonalizationSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonalizationSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonalizationSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PersonalizationSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ AUTO = 1,
+ DISABLED = 2
+ }
+ }
+
+ /** Properties of a SpellCorrectionSpec. */
+ interface ISpellCorrectionSpec {
+
+ /** SpellCorrectionSpec mode */
+ mode?: (google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode|null);
+ }
+
+ /** Represents a SpellCorrectionSpec. */
+ class SpellCorrectionSpec implements ISpellCorrectionSpec {
+
+ /**
+ * Constructs a new SpellCorrectionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec);
+
+ /** SpellCorrectionSpec mode. */
+ public mode: (google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.Mode);
+
+ /**
+ * Creates a new SpellCorrectionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpellCorrectionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec): google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload is not 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.retail.v2.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload 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.retail.v2.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Verifies a SpellCorrectionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpellCorrectionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpellCorrectionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Creates a plain object from a SpellCorrectionSpec message. Also converts values to other types if specified.
+ * @param message SpellCorrectionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchRequest.SpellCorrectionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpellCorrectionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpellCorrectionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SpellCorrectionSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ SUGGESTION_ONLY = 1,
+ AUTO = 2
+ }
+ }
+
+ /** SearchMode enum. */
+ enum SearchMode {
+ SEARCH_MODE_UNSPECIFIED = 0,
+ PRODUCT_SEARCH_ONLY = 1,
+ FACETED_SEARCH_ONLY = 2
+ }
+ }
+
+ /** Properties of a SearchResponse. */
+ interface ISearchResponse {
+
+ /** SearchResponse results */
+ results?: (google.cloud.retail.v2.SearchResponse.ISearchResult[]|null);
+
+ /** SearchResponse facets */
+ facets?: (google.cloud.retail.v2.SearchResponse.IFacet[]|null);
+
+ /** SearchResponse totalSize */
+ totalSize?: (number|null);
+
+ /** SearchResponse correctedQuery */
+ correctedQuery?: (string|null);
+
+ /** SearchResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** SearchResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** SearchResponse queryExpansionInfo */
+ queryExpansionInfo?: (google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri */
+ redirectUri?: (string|null);
+
+ /** SearchResponse appliedControls */
+ appliedControls?: (string[]|null);
+
+ /** SearchResponse invalidConditionBoostSpecs */
+ invalidConditionBoostSpecs?: (google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+ }
+
+ /** Represents a SearchResponse. */
+ class SearchResponse implements ISearchResponse {
+
+ /**
+ * Constructs a new SearchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ISearchResponse);
+
+ /** SearchResponse results. */
+ public results: google.cloud.retail.v2.SearchResponse.ISearchResult[];
+
+ /** SearchResponse facets. */
+ public facets: google.cloud.retail.v2.SearchResponse.IFacet[];
+
+ /** SearchResponse totalSize. */
+ public totalSize: number;
+
+ /** SearchResponse correctedQuery. */
+ public correctedQuery: string;
+
+ /** SearchResponse attributionToken. */
+ public attributionToken: string;
+
+ /** SearchResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** SearchResponse queryExpansionInfo. */
+ public queryExpansionInfo?: (google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri. */
+ public redirectUri: string;
+
+ /** SearchResponse appliedControls. */
+ public appliedControls: string[];
+
+ /** SearchResponse invalidConditionBoostSpecs. */
+ public invalidConditionBoostSpecs: google.cloud.retail.v2.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /**
+ * Creates a new SearchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ISearchResponse): google.cloud.retail.v2.SearchResponse;
+
+ /**
+ * Encodes the specified SearchResponse message. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResponse
+ * @throws {Error} If the payload is not 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.retail.v2.SearchResponse;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResponse
+ * @throws {Error} If the payload 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.retail.v2.SearchResponse;
+
+ /**
+ * Verifies a SearchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchResponse;
+
+ /**
+ * Creates a plain object from a SearchResponse message. Also converts values to other types if specified.
+ * @param message SearchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchResponse {
+
+ /** Properties of a SearchResult. */
+ interface ISearchResult {
+
+ /** SearchResult id */
+ id?: (string|null);
+
+ /** SearchResult product */
+ product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** SearchResult matchingVariantCount */
+ matchingVariantCount?: (number|null);
+
+ /** SearchResult matchingVariantFields */
+ matchingVariantFields?: ({ [k: string]: google.protobuf.IFieldMask }|null);
+
+ /** SearchResult variantRollupValues */
+ variantRollupValues?: ({ [k: string]: google.protobuf.IValue }|null);
+
+ /** SearchResult personalLabels */
+ personalLabels?: (string[]|null);
+ }
+
+ /** Represents a SearchResult. */
+ class SearchResult implements ISearchResult {
+
+ /**
+ * Constructs a new SearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchResponse.ISearchResult);
+
+ /** SearchResult id. */
+ public id: string;
+
+ /** SearchResult product. */
+ public product?: (google.cloud.retail.v2.IProduct|null);
+
+ /** SearchResult matchingVariantCount. */
+ public matchingVariantCount: number;
+
+ /** SearchResult matchingVariantFields. */
+ public matchingVariantFields: { [k: string]: google.protobuf.IFieldMask };
+
+ /** SearchResult variantRollupValues. */
+ public variantRollupValues: { [k: string]: google.protobuf.IValue };
+
+ /** SearchResult personalLabels. */
+ public personalLabels: string[];
+
+ /**
+ * Creates a new SearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchResponse.ISearchResult): google.cloud.retail.v2.SearchResponse.SearchResult;
+
+ /**
+ * Encodes the specified SearchResult message. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResult
+ * @throws {Error} If the payload is not 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.retail.v2.SearchResponse.SearchResult;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResult
+ * @throws {Error} If the payload 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.retail.v2.SearchResponse.SearchResult;
+
+ /**
+ * Verifies a SearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchResponse.SearchResult;
+
+ /**
+ * Creates a plain object from a SearchResult message. Also converts values to other types if specified.
+ * @param message SearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchResponse.SearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Facet. */
+ interface IFacet {
+
+ /** Facet key */
+ key?: (string|null);
+
+ /** Facet values */
+ values?: (google.cloud.retail.v2.SearchResponse.Facet.IFacetValue[]|null);
+
+ /** Facet dynamicFacet */
+ dynamicFacet?: (boolean|null);
+ }
+
+ /** Represents a Facet. */
+ class Facet implements IFacet {
+
+ /**
+ * Constructs a new Facet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchResponse.IFacet);
+
+ /** Facet key. */
+ public key: string;
+
+ /** Facet values. */
+ public values: google.cloud.retail.v2.SearchResponse.Facet.IFacetValue[];
+
+ /** Facet dynamicFacet. */
+ public dynamicFacet: boolean;
+
+ /**
+ * Creates a new Facet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Facet instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchResponse.IFacet): google.cloud.retail.v2.SearchResponse.Facet;
+
+ /**
+ * Encodes the specified Facet message. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Facet message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Facet
+ * @throws {Error} If the payload is not 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.retail.v2.SearchResponse.Facet;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Facet
+ * @throws {Error} If the payload 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.retail.v2.SearchResponse.Facet;
+
+ /**
+ * Verifies a Facet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Facet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Facet
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchResponse.Facet;
+
+ /**
+ * Creates a plain object from a Facet message. Also converts values to other types if specified.
+ * @param message Facet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchResponse.Facet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Facet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Facet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Facet {
+
+ /** Properties of a FacetValue. */
+ interface IFacetValue {
+
+ /** FacetValue value */
+ value?: (string|null);
+
+ /** FacetValue interval */
+ interval?: (google.cloud.retail.v2.IInterval|null);
+
+ /** FacetValue count */
+ count?: (number|Long|string|null);
+
+ /** FacetValue minValue */
+ minValue?: (number|null);
+
+ /** FacetValue maxValue */
+ maxValue?: (number|null);
+ }
+
+ /** Represents a FacetValue. */
+ class FacetValue implements IFacetValue {
+
+ /**
+ * Constructs a new FacetValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchResponse.Facet.IFacetValue);
+
+ /** FacetValue value. */
+ public value?: (string|null);
+
+ /** FacetValue interval. */
+ public interval?: (google.cloud.retail.v2.IInterval|null);
+
+ /** FacetValue count. */
+ public count: (number|Long|string);
+
+ /** FacetValue minValue. */
+ public minValue: number;
+
+ /** FacetValue maxValue. */
+ public maxValue: number;
+
+ /** FacetValue facetValue. */
+ public facetValue?: ("value"|"interval");
+
+ /**
+ * Creates a new FacetValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetValue instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchResponse.Facet.IFacetValue): google.cloud.retail.v2.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Encodes the specified FacetValue message. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetValue message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetValue
+ * @throws {Error} If the payload is not 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.retail.v2.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetValue
+ * @throws {Error} If the payload 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.retail.v2.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Verifies a FacetValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Creates a plain object from a FacetValue message. Also converts values to other types if specified.
+ * @param message FacetValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchResponse.Facet.FacetValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionInfo. */
+ interface IQueryExpansionInfo {
+
+ /** QueryExpansionInfo expandedQuery */
+ expandedQuery?: (boolean|null);
+
+ /** QueryExpansionInfo pinnedResultCount */
+ pinnedResultCount?: (number|Long|string|null);
+ }
+
+ /** Represents a QueryExpansionInfo. */
+ class QueryExpansionInfo implements IQueryExpansionInfo {
+
+ /**
+ * Constructs a new QueryExpansionInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo);
+
+ /** QueryExpansionInfo expandedQuery. */
+ public expandedQuery: boolean;
+
+ /** QueryExpansionInfo pinnedResultCount. */
+ public pinnedResultCount: (number|Long|string);
+
+ /**
+ * Creates a new QueryExpansionInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo): google.cloud.retail.v2.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload is not 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.retail.v2.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload 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.retail.v2.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Verifies a QueryExpansionInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Creates a plain object from a QueryExpansionInfo message. Also converts values to other types if specified.
+ * @param message QueryExpansionInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.SearchResponse.QueryExpansionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ServingConfig. */
+ interface IServingConfig {
+
+ /** ServingConfig name */
+ name?: (string|null);
+
+ /** ServingConfig displayName */
+ displayName?: (string|null);
+
+ /** ServingConfig modelId */
+ modelId?: (string|null);
+
+ /** ServingConfig priceRerankingLevel */
+ priceRerankingLevel?: (string|null);
+
+ /** ServingConfig facetControlIds */
+ facetControlIds?: (string[]|null);
+
+ /** ServingConfig dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds */
+ boostControlIds?: (string[]|null);
+
+ /** ServingConfig filterControlIds */
+ filterControlIds?: (string[]|null);
+
+ /** ServingConfig redirectControlIds */
+ redirectControlIds?: (string[]|null);
+
+ /** ServingConfig twowaySynonymsControlIds */
+ twowaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig onewaySynonymsControlIds */
+ onewaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig doNotAssociateControlIds */
+ doNotAssociateControlIds?: (string[]|null);
+
+ /** ServingConfig replacementControlIds */
+ replacementControlIds?: (string[]|null);
+
+ /** ServingConfig ignoreControlIds */
+ ignoreControlIds?: (string[]|null);
+
+ /** ServingConfig diversityLevel */
+ diversityLevel?: (string|null);
+
+ /** ServingConfig enableCategoryFilterLevel */
+ enableCategoryFilterLevel?: (string|null);
+
+ /** ServingConfig personalizationSpec */
+ personalizationSpec?: (google.cloud.retail.v2.SearchRequest.IPersonalizationSpec|null);
+
+ /** ServingConfig solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2.SolutionType[]|null);
+ }
+
+ /** Represents a ServingConfig. */
+ class ServingConfig implements IServingConfig {
+
+ /**
+ * Constructs a new ServingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IServingConfig);
+
+ /** ServingConfig name. */
+ public name: string;
+
+ /** ServingConfig displayName. */
+ public displayName: string;
+
+ /** ServingConfig modelId. */
+ public modelId: string;
+
+ /** ServingConfig priceRerankingLevel. */
+ public priceRerankingLevel: string;
+
+ /** ServingConfig facetControlIds. */
+ public facetControlIds: string[];
+
+ /** ServingConfig dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds. */
+ public boostControlIds: string[];
+
+ /** ServingConfig filterControlIds. */
+ public filterControlIds: string[];
+
+ /** ServingConfig redirectControlIds. */
+ public redirectControlIds: string[];
+
+ /** ServingConfig twowaySynonymsControlIds. */
+ public twowaySynonymsControlIds: string[];
+
+ /** ServingConfig onewaySynonymsControlIds. */
+ public onewaySynonymsControlIds: string[];
+
+ /** ServingConfig doNotAssociateControlIds. */
+ public doNotAssociateControlIds: string[];
+
+ /** ServingConfig replacementControlIds. */
+ public replacementControlIds: string[];
+
+ /** ServingConfig ignoreControlIds. */
+ public ignoreControlIds: string[];
+
+ /** ServingConfig diversityLevel. */
+ public diversityLevel: string;
+
+ /** ServingConfig enableCategoryFilterLevel. */
+ public enableCategoryFilterLevel: string;
+
+ /** ServingConfig personalizationSpec. */
+ public personalizationSpec?: (google.cloud.retail.v2.SearchRequest.IPersonalizationSpec|null);
+
+ /** ServingConfig solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2.SolutionType[];
+
+ /**
+ * Creates a new ServingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServingConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IServingConfig): google.cloud.retail.v2.ServingConfig;
+
+ /**
+ * Encodes the specified ServingConfig message. Does not implicitly {@link google.cloud.retail.v2.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServingConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServingConfig
+ * @throws {Error} If the payload is not 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.retail.v2.ServingConfig;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServingConfig
+ * @throws {Error} If the payload 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.retail.v2.ServingConfig;
+
+ /**
+ * Verifies a ServingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ServingConfig;
+
+ /**
+ * Creates a plain object from a ServingConfig message. Also converts values to other types if specified.
+ * @param message ServingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ServingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a ServingConfigService */
+ class ServingConfigService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ServingConfigService 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 ServingConfigService 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): ServingConfigService;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public createServingConfig(request: google.cloud.retail.v2.ICreateServingConfigRequest, callback: google.cloud.retail.v2.ServingConfigService.CreateServingConfigCallback): void;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createServingConfig(request: google.cloud.retail.v2.ICreateServingConfigRequest): Promise;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2.IDeleteServingConfigRequest, callback: google.cloud.retail.v2.ServingConfigService.DeleteServingConfigCallback): void;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2.IDeleteServingConfigRequest): Promise;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public updateServingConfig(request: google.cloud.retail.v2.IUpdateServingConfigRequest, callback: google.cloud.retail.v2.ServingConfigService.UpdateServingConfigCallback): void;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateServingConfig(request: google.cloud.retail.v2.IUpdateServingConfigRequest): Promise;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public getServingConfig(request: google.cloud.retail.v2.IGetServingConfigRequest, callback: google.cloud.retail.v2.ServingConfigService.GetServingConfigCallback): void;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getServingConfig(request: google.cloud.retail.v2.IGetServingConfigRequest): Promise;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServingConfigsResponse
+ */
+ public listServingConfigs(request: google.cloud.retail.v2.IListServingConfigsRequest, callback: google.cloud.retail.v2.ServingConfigService.ListServingConfigsCallback): void;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listServingConfigs(request: google.cloud.retail.v2.IListServingConfigsRequest): Promise;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public addControl(request: google.cloud.retail.v2.IAddControlRequest, callback: google.cloud.retail.v2.ServingConfigService.AddControlCallback): void;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @returns Promise
+ */
+ public addControl(request: google.cloud.retail.v2.IAddControlRequest): Promise;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public removeControl(request: google.cloud.retail.v2.IRemoveControlRequest, callback: google.cloud.retail.v2.ServingConfigService.RemoveControlCallback): void;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @returns Promise
+ */
+ public removeControl(request: google.cloud.retail.v2.IRemoveControlRequest): Promise;
+ }
+
+ namespace ServingConfigService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|createServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type CreateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|deleteServingConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServingConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|updateServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type UpdateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|getServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type GetServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|listServingConfigs}.
+ * @param error Error, if any
+ * @param [response] ListServingConfigsResponse
+ */
+ type ListServingConfigsCallback = (error: (Error|null), response?: google.cloud.retail.v2.ListServingConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|addControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type AddControlCallback = (error: (Error|null), response?: google.cloud.retail.v2.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.ServingConfigService|removeControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type RemoveControlCallback = (error: (Error|null), response?: google.cloud.retail.v2.ServingConfig) => void;
+ }
+
+ /** Properties of a CreateServingConfigRequest. */
+ interface ICreateServingConfigRequest {
+
+ /** CreateServingConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId */
+ servingConfigId?: (string|null);
+ }
+
+ /** Represents a CreateServingConfigRequest. */
+ class CreateServingConfigRequest implements ICreateServingConfigRequest {
+
+ /**
+ * Constructs a new CreateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICreateServingConfigRequest);
+
+ /** CreateServingConfigRequest parent. */
+ public parent: string;
+
+ /** CreateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId. */
+ public servingConfigId: string;
+
+ /**
+ * Creates a new CreateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICreateServingConfigRequest): google.cloud.retail.v2.CreateServingConfigRequest;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.CreateServingConfigRequest;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.CreateServingConfigRequest;
+
+ /**
+ * Verifies a CreateServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CreateServingConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CreateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServingConfigRequest. */
+ interface IUpdateServingConfigRequest {
+
+ /** UpdateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServingConfigRequest. */
+ class UpdateServingConfigRequest implements IUpdateServingConfigRequest {
+
+ /**
+ * Constructs a new UpdateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IUpdateServingConfigRequest);
+
+ /** UpdateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IUpdateServingConfigRequest): google.cloud.retail.v2.UpdateServingConfigRequest;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.UpdateServingConfigRequest;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.UpdateServingConfigRequest;
+
+ /**
+ * Verifies an UpdateServingConfigRequest message.
+ * @param message Plain 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 UpdateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.UpdateServingConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.UpdateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServingConfigRequest. */
+ interface IDeleteServingConfigRequest {
+
+ /** DeleteServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServingConfigRequest. */
+ class DeleteServingConfigRequest implements IDeleteServingConfigRequest {
+
+ /**
+ * Constructs a new DeleteServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IDeleteServingConfigRequest);
+
+ /** DeleteServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IDeleteServingConfigRequest): google.cloud.retail.v2.DeleteServingConfigRequest;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.DeleteServingConfigRequest;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.DeleteServingConfigRequest;
+
+ /**
+ * Verifies a DeleteServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.DeleteServingConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteServingConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.DeleteServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServingConfigRequest. */
+ interface IGetServingConfigRequest {
+
+ /** GetServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServingConfigRequest. */
+ class GetServingConfigRequest implements IGetServingConfigRequest {
+
+ /**
+ * Constructs a new GetServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IGetServingConfigRequest);
+
+ /** GetServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IGetServingConfigRequest): google.cloud.retail.v2.GetServingConfigRequest;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2.GetServingConfigRequest;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2.GetServingConfigRequest;
+
+ /**
+ * Verifies a GetServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.GetServingConfigRequest;
+
+ /**
+ * Creates a plain object from a GetServingConfigRequest message. Also converts values to other types if specified.
+ * @param message GetServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.GetServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsRequest. */
+ interface IListServingConfigsRequest {
+
+ /** ListServingConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListServingConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServingConfigsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsRequest. */
+ class ListServingConfigsRequest implements IListServingConfigsRequest {
+
+ /**
+ * Constructs a new ListServingConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListServingConfigsRequest);
+
+ /** ListServingConfigsRequest parent. */
+ public parent: string;
+
+ /** ListServingConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServingConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListServingConfigsRequest): google.cloud.retail.v2.ListServingConfigsRequest;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message. Does not implicitly {@link google.cloud.retail.v2.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.ListServingConfigsRequest;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload 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.retail.v2.ListServingConfigsRequest;
+
+ /**
+ * Verifies a ListServingConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListServingConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListServingConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListServingConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListServingConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsResponse. */
+ interface IListServingConfigsResponse {
+
+ /** ListServingConfigsResponse servingConfigs */
+ servingConfigs?: (google.cloud.retail.v2.IServingConfig[]|null);
+
+ /** ListServingConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsResponse. */
+ class ListServingConfigsResponse implements IListServingConfigsResponse {
+
+ /**
+ * Constructs a new ListServingConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IListServingConfigsResponse);
+
+ /** ListServingConfigsResponse servingConfigs. */
+ public servingConfigs: google.cloud.retail.v2.IServingConfig[];
+
+ /** ListServingConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IListServingConfigsResponse): google.cloud.retail.v2.ListServingConfigsResponse;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message. Does not implicitly {@link google.cloud.retail.v2.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.ListServingConfigsResponse;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload 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.retail.v2.ListServingConfigsResponse;
+
+ /**
+ * Verifies a ListServingConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.ListServingConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListServingConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListServingConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.ListServingConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddControlRequest. */
+ interface IAddControlRequest {
+
+ /** AddControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** AddControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents an AddControlRequest. */
+ class AddControlRequest implements IAddControlRequest {
+
+ /**
+ * Constructs a new AddControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IAddControlRequest);
+
+ /** AddControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** AddControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new AddControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IAddControlRequest): google.cloud.retail.v2.AddControlRequest;
+
+ /**
+ * Encodes the specified AddControlRequest message. Does not implicitly {@link google.cloud.retail.v2.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.AddControlRequest;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddControlRequest
+ * @throws {Error} If the payload 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.retail.v2.AddControlRequest;
+
+ /**
+ * Verifies an AddControlRequest message.
+ * @param message Plain 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 AddControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.AddControlRequest;
+
+ /**
+ * Creates a plain object from an AddControlRequest message. Also converts values to other types if specified.
+ * @param message AddControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.AddControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveControlRequest. */
+ interface IRemoveControlRequest {
+
+ /** RemoveControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** RemoveControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a RemoveControlRequest. */
+ class RemoveControlRequest implements IRemoveControlRequest {
+
+ /**
+ * Constructs a new RemoveControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRemoveControlRequest);
+
+ /** RemoveControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** RemoveControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new RemoveControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRemoveControlRequest): google.cloud.retail.v2.RemoveControlRequest;
+
+ /**
+ * Encodes the specified RemoveControlRequest message. Does not implicitly {@link google.cloud.retail.v2.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2.RemoveControlRequest;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload 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.retail.v2.RemoveControlRequest;
+
+ /**
+ * Verifies a RemoveControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RemoveControlRequest;
+
+ /**
+ * Creates a plain object from a RemoveControlRequest message. Also converts values to other types if specified.
+ * @param message RemoveControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RemoveControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a UserEventService */
+ class UserEventService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new UserEventService 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 UserEventService 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): UserEventService;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UserEvent
+ */
+ public writeUserEvent(request: google.cloud.retail.v2.IWriteUserEventRequest, callback: google.cloud.retail.v2.UserEventService.WriteUserEventCallback): void;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public writeUserEvent(request: google.cloud.retail.v2.IWriteUserEventRequest): Promise;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and HttpBody
+ */
+ public collectUserEvent(request: google.cloud.retail.v2.ICollectUserEventRequest, callback: google.cloud.retail.v2.UserEventService.CollectUserEventCallback): void;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public collectUserEvent(request: google.cloud.retail.v2.ICollectUserEventRequest): Promise;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2.IPurgeUserEventsRequest, callback: google.cloud.retail.v2.UserEventService.PurgeUserEventsCallback): void;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2.IPurgeUserEventsRequest): Promise;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importUserEvents(request: google.cloud.retail.v2.IImportUserEventsRequest, callback: google.cloud.retail.v2.UserEventService.ImportUserEventsCallback): void;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public importUserEvents(request: google.cloud.retail.v2.IImportUserEventsRequest): Promise;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2.IRejoinUserEventsRequest, callback: google.cloud.retail.v2.UserEventService.RejoinUserEventsCallback): void;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2.IRejoinUserEventsRequest): Promise;
+ }
+
+ namespace UserEventService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.UserEventService|writeUserEvent}.
+ * @param error Error, if any
+ * @param [response] UserEvent
+ */
+ type WriteUserEventCallback = (error: (Error|null), response?: google.cloud.retail.v2.UserEvent) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.UserEventService|collectUserEvent}.
+ * @param error Error, if any
+ * @param [response] HttpBody
+ */
+ type CollectUserEventCallback = (error: (Error|null), response?: google.api.HttpBody) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.UserEventService|purgeUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type PurgeUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.UserEventService|importUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2.UserEventService|rejoinUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RejoinUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a WriteUserEventRequest. */
+ interface IWriteUserEventRequest {
+
+ /** WriteUserEventRequest parent */
+ parent?: (string|null);
+
+ /** WriteUserEventRequest userEvent */
+ userEvent?: (google.cloud.retail.v2.IUserEvent|null);
+ }
+
+ /** Represents a WriteUserEventRequest. */
+ class WriteUserEventRequest implements IWriteUserEventRequest {
+
+ /**
+ * Constructs a new WriteUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IWriteUserEventRequest);
+
+ /** WriteUserEventRequest parent. */
+ public parent: string;
+
+ /** WriteUserEventRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2.IUserEvent|null);
+
+ /**
+ * Creates a new WriteUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IWriteUserEventRequest): google.cloud.retail.v2.WriteUserEventRequest;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2.WriteUserEventRequest;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2.WriteUserEventRequest;
+
+ /**
+ * Verifies a WriteUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WriteUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.WriteUserEventRequest;
+
+ /**
+ * Creates a plain object from a WriteUserEventRequest message. Also converts values to other types if specified.
+ * @param message WriteUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.WriteUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CollectUserEventRequest. */
+ interface ICollectUserEventRequest {
+
+ /** CollectUserEventRequest parent */
+ parent?: (string|null);
+
+ /** CollectUserEventRequest userEvent */
+ userEvent?: (string|null);
+
+ /** CollectUserEventRequest uri */
+ uri?: (string|null);
+
+ /** CollectUserEventRequest ets */
+ ets?: (number|Long|string|null);
+ }
+
+ /** Represents a CollectUserEventRequest. */
+ class CollectUserEventRequest implements ICollectUserEventRequest {
+
+ /**
+ * Constructs a new CollectUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.ICollectUserEventRequest);
+
+ /** CollectUserEventRequest parent. */
+ public parent: string;
+
+ /** CollectUserEventRequest userEvent. */
+ public userEvent: string;
+
+ /** CollectUserEventRequest uri. */
+ public uri: string;
+
+ /** CollectUserEventRequest ets. */
+ public ets: (number|Long|string);
+
+ /**
+ * Creates a new CollectUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CollectUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.ICollectUserEventRequest): google.cloud.retail.v2.CollectUserEventRequest;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2.CollectUserEventRequest;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2.CollectUserEventRequest;
+
+ /**
+ * Verifies a CollectUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CollectUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CollectUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.CollectUserEventRequest;
+
+ /**
+ * Creates a plain object from a CollectUserEventRequest message. Also converts values to other types if specified.
+ * @param message CollectUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.CollectUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CollectUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CollectUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsRequest. */
+ interface IRejoinUserEventsRequest {
+
+ /** RejoinUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** RejoinUserEventsRequest userEventRejoinScope */
+ userEventRejoinScope?: (google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope|null);
+ }
+
+ /** Represents a RejoinUserEventsRequest. */
+ class RejoinUserEventsRequest implements IRejoinUserEventsRequest {
+
+ /**
+ * Constructs a new RejoinUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRejoinUserEventsRequest);
+
+ /** RejoinUserEventsRequest parent. */
+ public parent: string;
+
+ /** RejoinUserEventsRequest userEventRejoinScope. */
+ public userEventRejoinScope: (google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2.RejoinUserEventsRequest.UserEventRejoinScope);
+
+ /**
+ * Creates a new RejoinUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRejoinUserEventsRequest): google.cloud.retail.v2.RejoinUserEventsRequest;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2.RejoinUserEventsRequest;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2.RejoinUserEventsRequest;
+
+ /**
+ * Verifies a RejoinUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RejoinUserEventsRequest;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsRequest message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RejoinUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RejoinUserEventsRequest {
+
+ /** UserEventRejoinScope enum. */
+ enum UserEventRejoinScope {
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0,
+ JOINED_EVENTS = 1,
+ UNJOINED_EVENTS = 2
+ }
+ }
+
+ /** Properties of a RejoinUserEventsResponse. */
+ interface IRejoinUserEventsResponse {
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount */
+ rejoinedUserEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a RejoinUserEventsResponse. */
+ class RejoinUserEventsResponse implements IRejoinUserEventsResponse {
+
+ /**
+ * Constructs a new RejoinUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRejoinUserEventsResponse);
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount. */
+ public rejoinedUserEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new RejoinUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRejoinUserEventsResponse): google.cloud.retail.v2.RejoinUserEventsResponse;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2.RejoinUserEventsResponse;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2.RejoinUserEventsResponse;
+
+ /**
+ * Verifies a RejoinUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RejoinUserEventsResponse;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsResponse message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RejoinUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsMetadata. */
+ interface IRejoinUserEventsMetadata {
+ }
+
+ /** Represents a RejoinUserEventsMetadata. */
+ class RejoinUserEventsMetadata implements IRejoinUserEventsMetadata {
+
+ /**
+ * Constructs a new RejoinUserEventsMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2.IRejoinUserEventsMetadata);
+
+ /**
+ * Creates a new RejoinUserEventsMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2.IRejoinUserEventsMetadata): google.cloud.retail.v2.RejoinUserEventsMetadata;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload is not 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.retail.v2.RejoinUserEventsMetadata;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload 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.retail.v2.RejoinUserEventsMetadata;
+
+ /**
+ * Verifies a RejoinUserEventsMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2.RejoinUserEventsMetadata;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsMetadata message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2.RejoinUserEventsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v2alpha. */
+ namespace v2alpha {
+
+ /** Properties of a ProductLevelConfig. */
+ interface IProductLevelConfig {
+
+ /** ProductLevelConfig ingestionProductType */
+ ingestionProductType?: (string|null);
+
+ /** ProductLevelConfig merchantCenterProductIdField */
+ merchantCenterProductIdField?: (string|null);
+ }
+
+ /** Represents a ProductLevelConfig. */
+ class ProductLevelConfig implements IProductLevelConfig {
+
+ /**
+ * Constructs a new ProductLevelConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IProductLevelConfig);
+
+ /** ProductLevelConfig ingestionProductType. */
+ public ingestionProductType: string;
+
+ /** ProductLevelConfig merchantCenterProductIdField. */
+ public merchantCenterProductIdField: string;
+
+ /**
+ * Creates a new ProductLevelConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductLevelConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IProductLevelConfig): google.cloud.retail.v2alpha.ProductLevelConfig;
+
+ /**
+ * Encodes the specified ProductLevelConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductLevelConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ProductLevelConfig;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.ProductLevelConfig;
+
+ /**
+ * Verifies a ProductLevelConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductLevelConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductLevelConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ProductLevelConfig;
+
+ /**
+ * Creates a plain object from a ProductLevelConfig message. Also converts values to other types if specified.
+ * @param message ProductLevelConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ProductLevelConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductLevelConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductLevelConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CatalogAttribute. */
+ interface ICatalogAttribute {
+
+ /** CatalogAttribute key */
+ key?: (string|null);
+
+ /** CatalogAttribute inUse */
+ inUse?: (boolean|null);
+
+ /** CatalogAttribute type */
+ type?: (google.cloud.retail.v2alpha.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.AttributeType|null);
+
+ /** CatalogAttribute indexableOption */
+ indexableOption?: (google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption|null);
+
+ /** CatalogAttribute dynamicFacetableOption */
+ dynamicFacetableOption?: (google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption|null);
+
+ /** CatalogAttribute searchableOption */
+ searchableOption?: (google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption|null);
+
+ /** CatalogAttribute recommendationsFilteringOption */
+ recommendationsFilteringOption?: (google.cloud.retail.v2alpha.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2alpha.RecommendationsFilteringOption|null);
+ }
+
+ /** Represents a CatalogAttribute. */
+ class CatalogAttribute implements ICatalogAttribute {
+
+ /**
+ * Constructs a new CatalogAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICatalogAttribute);
+
+ /** CatalogAttribute key. */
+ public key: string;
+
+ /** CatalogAttribute inUse. */
+ public inUse: boolean;
+
+ /** CatalogAttribute type. */
+ public type: (google.cloud.retail.v2alpha.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.AttributeType);
+
+ /** CatalogAttribute indexableOption. */
+ public indexableOption: (google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.IndexableOption);
+
+ /** CatalogAttribute dynamicFacetableOption. */
+ public dynamicFacetableOption: (google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.DynamicFacetableOption);
+
+ /** CatalogAttribute searchableOption. */
+ public searchableOption: (google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2alpha.CatalogAttribute.SearchableOption);
+
+ /** CatalogAttribute recommendationsFilteringOption. */
+ public recommendationsFilteringOption: (google.cloud.retail.v2alpha.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2alpha.RecommendationsFilteringOption);
+
+ /**
+ * Creates a new CatalogAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CatalogAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICatalogAttribute): google.cloud.retail.v2alpha.CatalogAttribute;
+
+ /**
+ * Encodes the specified CatalogAttribute message. Does not implicitly {@link google.cloud.retail.v2alpha.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CatalogAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CatalogAttribute;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload 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.retail.v2alpha.CatalogAttribute;
+
+ /**
+ * Verifies a CatalogAttribute message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CatalogAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CatalogAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CatalogAttribute;
+
+ /**
+ * Creates a plain object from a CatalogAttribute message. Also converts values to other types if specified.
+ * @param message CatalogAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CatalogAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CatalogAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CatalogAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CatalogAttribute {
+
+ /** AttributeType enum. */
+ enum AttributeType {
+ UNKNOWN = 0,
+ TEXTUAL = 1,
+ NUMERICAL = 2
+ }
+
+ /** IndexableOption enum. */
+ enum IndexableOption {
+ INDEXABLE_OPTION_UNSPECIFIED = 0,
+ INDEXABLE_ENABLED = 1,
+ INDEXABLE_DISABLED = 2
+ }
+
+ /** DynamicFacetableOption enum. */
+ enum DynamicFacetableOption {
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0,
+ DYNAMIC_FACETABLE_ENABLED = 1,
+ DYNAMIC_FACETABLE_DISABLED = 2
+ }
+
+ /** SearchableOption enum. */
+ enum SearchableOption {
+ SEARCHABLE_OPTION_UNSPECIFIED = 0,
+ SEARCHABLE_ENABLED = 1,
+ SEARCHABLE_DISABLED = 2
+ }
+ }
+
+ /** Properties of an AttributesConfig. */
+ interface IAttributesConfig {
+
+ /** AttributesConfig name */
+ name?: (string|null);
+
+ /** AttributesConfig catalogAttributes */
+ catalogAttributes?: ({ [k: string]: google.cloud.retail.v2alpha.ICatalogAttribute }|null);
+
+ /** AttributesConfig attributeConfigLevel */
+ attributeConfigLevel?: (google.cloud.retail.v2alpha.AttributeConfigLevel|keyof typeof google.cloud.retail.v2alpha.AttributeConfigLevel|null);
+ }
+
+ /** Represents an AttributesConfig. */
+ class AttributesConfig implements IAttributesConfig {
+
+ /**
+ * Constructs a new AttributesConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAttributesConfig);
+
+ /** AttributesConfig name. */
+ public name: string;
+
+ /** AttributesConfig catalogAttributes. */
+ public catalogAttributes: { [k: string]: google.cloud.retail.v2alpha.ICatalogAttribute };
+
+ /** AttributesConfig attributeConfigLevel. */
+ public attributeConfigLevel: (google.cloud.retail.v2alpha.AttributeConfigLevel|keyof typeof google.cloud.retail.v2alpha.AttributeConfigLevel);
+
+ /**
+ * Creates a new AttributesConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttributesConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAttributesConfig): google.cloud.retail.v2alpha.AttributesConfig;
+
+ /**
+ * Encodes the specified AttributesConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttributesConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttributesConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AttributesConfig;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttributesConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.AttributesConfig;
+
+ /**
+ * Verifies an AttributesConfig message.
+ * @param message Plain 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 AttributesConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttributesConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AttributesConfig;
+
+ /**
+ * Creates a plain object from an AttributesConfig message. Also converts values to other types if specified.
+ * @param message AttributesConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AttributesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttributesConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttributesConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionConfig. */
+ interface ICompletionConfig {
+
+ /** CompletionConfig name */
+ name?: (string|null);
+
+ /** CompletionConfig matchingOrder */
+ matchingOrder?: (string|null);
+
+ /** CompletionConfig maxSuggestions */
+ maxSuggestions?: (number|null);
+
+ /** CompletionConfig minPrefixLength */
+ minPrefixLength?: (number|null);
+
+ /** CompletionConfig autoLearning */
+ autoLearning?: (boolean|null);
+
+ /** CompletionConfig suggestionsInputConfig */
+ suggestionsInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation */
+ lastSuggestionsImportOperation?: (string|null);
+
+ /** CompletionConfig denylistInputConfig */
+ denylistInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation */
+ lastDenylistImportOperation?: (string|null);
+
+ /** CompletionConfig allowlistInputConfig */
+ allowlistInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation */
+ lastAllowlistImportOperation?: (string|null);
+ }
+
+ /** Represents a CompletionConfig. */
+ class CompletionConfig implements ICompletionConfig {
+
+ /**
+ * Constructs a new CompletionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICompletionConfig);
+
+ /** CompletionConfig name. */
+ public name: string;
+
+ /** CompletionConfig matchingOrder. */
+ public matchingOrder: string;
+
+ /** CompletionConfig maxSuggestions. */
+ public maxSuggestions: number;
+
+ /** CompletionConfig minPrefixLength. */
+ public minPrefixLength: number;
+
+ /** CompletionConfig autoLearning. */
+ public autoLearning: boolean;
+
+ /** CompletionConfig suggestionsInputConfig. */
+ public suggestionsInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation. */
+ public lastSuggestionsImportOperation: string;
+
+ /** CompletionConfig denylistInputConfig. */
+ public denylistInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation. */
+ public lastDenylistImportOperation: string;
+
+ /** CompletionConfig allowlistInputConfig. */
+ public allowlistInputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation. */
+ public lastAllowlistImportOperation: string;
+
+ /**
+ * Creates a new CompletionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICompletionConfig): google.cloud.retail.v2alpha.CompletionConfig;
+
+ /**
+ * Encodes the specified CompletionConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CompletionConfig;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.CompletionConfig;
+
+ /**
+ * Verifies a CompletionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CompletionConfig;
+
+ /**
+ * Creates a plain object from a CompletionConfig message. Also converts values to other types if specified.
+ * @param message CompletionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CompletionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantCenterLink. */
+ interface IMerchantCenterLink {
+
+ /** MerchantCenterLink merchantCenterAccountId */
+ merchantCenterAccountId?: (number|Long|string|null);
+
+ /** MerchantCenterLink branchId */
+ branchId?: (string|null);
+
+ /** MerchantCenterLink destinations */
+ destinations?: (string[]|null);
+
+ /** MerchantCenterLink regionCode */
+ regionCode?: (string|null);
+
+ /** MerchantCenterLink languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a MerchantCenterLink. */
+ class MerchantCenterLink implements IMerchantCenterLink {
+
+ /**
+ * Constructs a new MerchantCenterLink.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IMerchantCenterLink);
+
+ /** MerchantCenterLink merchantCenterAccountId. */
+ public merchantCenterAccountId: (number|Long|string);
+
+ /** MerchantCenterLink branchId. */
+ public branchId: string;
+
+ /** MerchantCenterLink destinations. */
+ public destinations: string[];
+
+ /** MerchantCenterLink regionCode. */
+ public regionCode: string;
+
+ /** MerchantCenterLink languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new MerchantCenterLink instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantCenterLink instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IMerchantCenterLink): google.cloud.retail.v2alpha.MerchantCenterLink;
+
+ /**
+ * Encodes the specified MerchantCenterLink message. Does not implicitly {@link google.cloud.retail.v2alpha.MerchantCenterLink.verify|verify} messages.
+ * @param message MerchantCenterLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IMerchantCenterLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantCenterLink message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.MerchantCenterLink.verify|verify} messages.
+ * @param message MerchantCenterLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IMerchantCenterLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantCenterLink message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantCenterLink
+ * @throws {Error} If the payload is not 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.retail.v2alpha.MerchantCenterLink;
+
+ /**
+ * Decodes a MerchantCenterLink message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantCenterLink
+ * @throws {Error} If the payload 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.retail.v2alpha.MerchantCenterLink;
+
+ /**
+ * Verifies a MerchantCenterLink message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantCenterLink message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantCenterLink
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.MerchantCenterLink;
+
+ /**
+ * Creates a plain object from a MerchantCenterLink message. Also converts values to other types if specified.
+ * @param message MerchantCenterLink
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.MerchantCenterLink, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantCenterLink to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantCenterLink
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantCenterLinkingConfig. */
+ interface IMerchantCenterLinkingConfig {
+
+ /** MerchantCenterLinkingConfig links */
+ links?: (google.cloud.retail.v2alpha.IMerchantCenterLink[]|null);
+ }
+
+ /** Represents a MerchantCenterLinkingConfig. */
+ class MerchantCenterLinkingConfig implements IMerchantCenterLinkingConfig {
+
+ /**
+ * Constructs a new MerchantCenterLinkingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig);
+
+ /** MerchantCenterLinkingConfig links. */
+ public links: google.cloud.retail.v2alpha.IMerchantCenterLink[];
+
+ /**
+ * Creates a new MerchantCenterLinkingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantCenterLinkingConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig): google.cloud.retail.v2alpha.MerchantCenterLinkingConfig;
+
+ /**
+ * Encodes the specified MerchantCenterLinkingConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.MerchantCenterLinkingConfig.verify|verify} messages.
+ * @param message MerchantCenterLinkingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantCenterLinkingConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.MerchantCenterLinkingConfig.verify|verify} messages.
+ * @param message MerchantCenterLinkingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantCenterLinkingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantCenterLinkingConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.MerchantCenterLinkingConfig;
+
+ /**
+ * Decodes a MerchantCenterLinkingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantCenterLinkingConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.MerchantCenterLinkingConfig;
+
+ /**
+ * Verifies a MerchantCenterLinkingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantCenterLinkingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantCenterLinkingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.MerchantCenterLinkingConfig;
+
+ /**
+ * Creates a plain object from a MerchantCenterLinkingConfig message. Also converts values to other types if specified.
+ * @param message MerchantCenterLinkingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.MerchantCenterLinkingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantCenterLinkingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantCenterLinkingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Catalog. */
+ interface ICatalog {
+
+ /** Catalog name */
+ name?: (string|null);
+
+ /** Catalog displayName */
+ displayName?: (string|null);
+
+ /** Catalog productLevelConfig */
+ productLevelConfig?: (google.cloud.retail.v2alpha.IProductLevelConfig|null);
+
+ /** Catalog merchantCenterLinkingConfig */
+ merchantCenterLinkingConfig?: (google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig|null);
+ }
+
+ /** Represents a Catalog. */
+ class Catalog implements ICatalog {
+
+ /**
+ * Constructs a new Catalog.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICatalog);
+
+ /** Catalog name. */
+ public name: string;
+
+ /** Catalog displayName. */
+ public displayName: string;
+
+ /** Catalog productLevelConfig. */
+ public productLevelConfig?: (google.cloud.retail.v2alpha.IProductLevelConfig|null);
+
+ /** Catalog merchantCenterLinkingConfig. */
+ public merchantCenterLinkingConfig?: (google.cloud.retail.v2alpha.IMerchantCenterLinkingConfig|null);
+
+ /**
+ * Creates a new Catalog instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Catalog instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICatalog): google.cloud.retail.v2alpha.Catalog;
+
+ /**
+ * Encodes the specified Catalog message. Does not implicitly {@link google.cloud.retail.v2alpha.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Catalog message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Catalog
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Catalog;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Catalog
+ * @throws {Error} If the payload 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.retail.v2alpha.Catalog;
+
+ /**
+ * Verifies a Catalog message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Catalog message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Catalog
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Catalog;
+
+ /**
+ * Creates a plain object from a Catalog message. Also converts values to other types if specified.
+ * @param message Catalog
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Catalog, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Catalog to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Catalog
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** AttributeConfigLevel enum. */
+ enum AttributeConfigLevel {
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0,
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1,
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2
+ }
+
+ /** SolutionType enum. */
+ enum SolutionType {
+ SOLUTION_TYPE_UNSPECIFIED = 0,
+ SOLUTION_TYPE_RECOMMENDATION = 1,
+ SOLUTION_TYPE_SEARCH = 2
+ }
+
+ /** RecommendationsFilteringOption enum. */
+ enum RecommendationsFilteringOption {
+ RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED = 0,
+ RECOMMENDATIONS_FILTERING_DISABLED = 1,
+ RECOMMENDATIONS_FILTERING_ENABLED = 3
+ }
+
+ /** SearchSolutionUseCase enum. */
+ enum SearchSolutionUseCase {
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0,
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1,
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2
+ }
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition queryTerms */
+ queryTerms?: (google.cloud.retail.v2alpha.Condition.IQueryTerm[]|null);
+
+ /** Condition activeTimeRange */
+ activeTimeRange?: (google.cloud.retail.v2alpha.Condition.ITimeRange[]|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICondition);
+
+ /** Condition queryTerms. */
+ public queryTerms: google.cloud.retail.v2alpha.Condition.IQueryTerm[];
+
+ /** Condition activeTimeRange. */
+ public activeTimeRange: google.cloud.retail.v2alpha.Condition.ITimeRange[];
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICondition): google.cloud.retail.v2alpha.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Condition
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Condition;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Condition
+ * @throws {Error} If the payload 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.retail.v2alpha.Condition;
+
+ /**
+ * Verifies a Condition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Condition
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Condition;
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @param message Condition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Condition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Condition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Condition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Condition {
+
+ /** Properties of a QueryTerm. */
+ interface IQueryTerm {
+
+ /** QueryTerm value */
+ value?: (string|null);
+
+ /** QueryTerm fullMatch */
+ fullMatch?: (boolean|null);
+ }
+
+ /** Represents a QueryTerm. */
+ class QueryTerm implements IQueryTerm {
+
+ /**
+ * Constructs a new QueryTerm.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Condition.IQueryTerm);
+
+ /** QueryTerm value. */
+ public value: string;
+
+ /** QueryTerm fullMatch. */
+ public fullMatch: boolean;
+
+ /**
+ * Creates a new QueryTerm instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryTerm instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Condition.IQueryTerm): google.cloud.retail.v2alpha.Condition.QueryTerm;
+
+ /**
+ * Encodes the specified QueryTerm message. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryTerm message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryTerm
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Condition.QueryTerm;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryTerm
+ * @throws {Error} If the payload 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.retail.v2alpha.Condition.QueryTerm;
+
+ /**
+ * Verifies a QueryTerm message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryTerm message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryTerm
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Condition.QueryTerm;
+
+ /**
+ * Creates a plain object from a QueryTerm message. Also converts values to other types if specified.
+ * @param message QueryTerm
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Condition.QueryTerm, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryTerm to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryTerm
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeRange. */
+ interface ITimeRange {
+
+ /** TimeRange startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeRange. */
+ class TimeRange implements ITimeRange {
+
+ /**
+ * Constructs a new TimeRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Condition.ITimeRange);
+
+ /** TimeRange startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Condition.ITimeRange): google.cloud.retail.v2alpha.Condition.TimeRange;
+
+ /**
+ * Encodes the specified TimeRange message. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeRange
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Condition.TimeRange;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeRange
+ * @throws {Error} If the payload 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.retail.v2alpha.Condition.TimeRange;
+
+ /**
+ * Verifies a TimeRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Condition.TimeRange;
+
+ /**
+ * Creates a plain object from a TimeRange message. Also converts values to other types if specified.
+ * @param message TimeRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Condition.TimeRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rule. */
+ interface IRule {
+
+ /** Rule boostAction */
+ boostAction?: (google.cloud.retail.v2alpha.Rule.IBoostAction|null);
+
+ /** Rule redirectAction */
+ redirectAction?: (google.cloud.retail.v2alpha.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction */
+ onewaySynonymsAction?: (google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction */
+ doNotAssociateAction?: (google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction */
+ replacementAction?: (google.cloud.retail.v2alpha.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction */
+ ignoreAction?: (google.cloud.retail.v2alpha.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction */
+ filterAction?: (google.cloud.retail.v2alpha.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction */
+ twowaySynonymsAction?: (google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition */
+ condition?: (google.cloud.retail.v2alpha.ICondition|null);
+ }
+
+ /** Represents a Rule. */
+ class Rule implements IRule {
+
+ /**
+ * Constructs a new Rule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRule);
+
+ /** Rule boostAction. */
+ public boostAction?: (google.cloud.retail.v2alpha.Rule.IBoostAction|null);
+
+ /** Rule redirectAction. */
+ public redirectAction?: (google.cloud.retail.v2alpha.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction. */
+ public onewaySynonymsAction?: (google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction. */
+ public doNotAssociateAction?: (google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction. */
+ public replacementAction?: (google.cloud.retail.v2alpha.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction. */
+ public ignoreAction?: (google.cloud.retail.v2alpha.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction. */
+ public filterAction?: (google.cloud.retail.v2alpha.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction. */
+ public twowaySynonymsAction?: (google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition. */
+ public condition?: (google.cloud.retail.v2alpha.ICondition|null);
+
+ /** Rule action. */
+ public action?: ("boostAction"|"redirectAction"|"onewaySynonymsAction"|"doNotAssociateAction"|"replacementAction"|"ignoreAction"|"filterAction"|"twowaySynonymsAction");
+
+ /**
+ * Creates a new Rule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rule instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRule): google.cloud.retail.v2alpha.Rule;
+
+ /**
+ * Encodes the specified Rule message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rule message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rule
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rule
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule;
+
+ /**
+ * Verifies a Rule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule;
+
+ /**
+ * Creates a plain object from a Rule message. Also converts values to other types if specified.
+ * @param message Rule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Rule {
+
+ /** Properties of a BoostAction. */
+ interface IBoostAction {
+
+ /** BoostAction boost */
+ boost?: (number|null);
+
+ /** BoostAction productsFilter */
+ productsFilter?: (string|null);
+ }
+
+ /** Represents a BoostAction. */
+ class BoostAction implements IBoostAction {
+
+ /**
+ * Constructs a new BoostAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IBoostAction);
+
+ /** BoostAction boost. */
+ public boost: number;
+
+ /** BoostAction productsFilter. */
+ public productsFilter: string;
+
+ /**
+ * Creates a new BoostAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IBoostAction): google.cloud.retail.v2alpha.Rule.BoostAction;
+
+ /**
+ * Encodes the specified BoostAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.BoostAction;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.BoostAction;
+
+ /**
+ * Verifies a BoostAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.BoostAction;
+
+ /**
+ * Creates a plain object from a BoostAction message. Also converts values to other types if specified.
+ * @param message BoostAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.BoostAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FilterAction. */
+ interface IFilterAction {
+
+ /** FilterAction filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a FilterAction. */
+ class FilterAction implements IFilterAction {
+
+ /**
+ * Constructs a new FilterAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IFilterAction);
+
+ /** FilterAction filter. */
+ public filter: string;
+
+ /**
+ * Creates a new FilterAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FilterAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IFilterAction): google.cloud.retail.v2alpha.Rule.FilterAction;
+
+ /**
+ * Encodes the specified FilterAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FilterAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FilterAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.FilterAction;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FilterAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.FilterAction;
+
+ /**
+ * Verifies a FilterAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FilterAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FilterAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.FilterAction;
+
+ /**
+ * Creates a plain object from a FilterAction message. Also converts values to other types if specified.
+ * @param message FilterAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.FilterAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FilterAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FilterAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RedirectAction. */
+ interface IRedirectAction {
+
+ /** RedirectAction redirectUri */
+ redirectUri?: (string|null);
+ }
+
+ /** Represents a RedirectAction. */
+ class RedirectAction implements IRedirectAction {
+
+ /**
+ * Constructs a new RedirectAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IRedirectAction);
+
+ /** RedirectAction redirectUri. */
+ public redirectUri: string;
+
+ /**
+ * Creates a new RedirectAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedirectAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IRedirectAction): google.cloud.retail.v2alpha.Rule.RedirectAction;
+
+ /**
+ * Encodes the specified RedirectAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedirectAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedirectAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.RedirectAction;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedirectAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.RedirectAction;
+
+ /**
+ * Verifies a RedirectAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedirectAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedirectAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.RedirectAction;
+
+ /**
+ * Creates a plain object from a RedirectAction message. Also converts values to other types if specified.
+ * @param message RedirectAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.RedirectAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedirectAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RedirectAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TwowaySynonymsAction. */
+ interface ITwowaySynonymsAction {
+
+ /** TwowaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+ }
+
+ /** Represents a TwowaySynonymsAction. */
+ class TwowaySynonymsAction implements ITwowaySynonymsAction {
+
+ /**
+ * Constructs a new TwowaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction);
+
+ /** TwowaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /**
+ * Creates a new TwowaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TwowaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction): google.cloud.retail.v2alpha.Rule.TwowaySynonymsAction;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.TwowaySynonymsAction;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.TwowaySynonymsAction;
+
+ /**
+ * Verifies a TwowaySynonymsAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TwowaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TwowaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.TwowaySynonymsAction;
+
+ /**
+ * Creates a plain object from a TwowaySynonymsAction message. Also converts values to other types if specified.
+ * @param message TwowaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.TwowaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TwowaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TwowaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OnewaySynonymsAction. */
+ interface IOnewaySynonymsAction {
+
+ /** OnewaySynonymsAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** OnewaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+
+ /** OnewaySynonymsAction onewayTerms */
+ onewayTerms?: (string[]|null);
+ }
+
+ /** Represents an OnewaySynonymsAction. */
+ class OnewaySynonymsAction implements IOnewaySynonymsAction {
+
+ /**
+ * Constructs a new OnewaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction);
+
+ /** OnewaySynonymsAction queryTerms. */
+ public queryTerms: string[];
+
+ /** OnewaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /** OnewaySynonymsAction onewayTerms. */
+ public onewayTerms: string[];
+
+ /**
+ * Creates a new OnewaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OnewaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction): google.cloud.retail.v2alpha.Rule.OnewaySynonymsAction;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.OnewaySynonymsAction;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.OnewaySynonymsAction;
+
+ /**
+ * Verifies an OnewaySynonymsAction message.
+ * @param message Plain 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 OnewaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OnewaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.OnewaySynonymsAction;
+
+ /**
+ * Creates a plain object from an OnewaySynonymsAction message. Also converts values to other types if specified.
+ * @param message OnewaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.OnewaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OnewaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OnewaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoNotAssociateAction. */
+ interface IDoNotAssociateAction {
+
+ /** DoNotAssociateAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** DoNotAssociateAction doNotAssociateTerms */
+ doNotAssociateTerms?: (string[]|null);
+
+ /** DoNotAssociateAction terms */
+ terms?: (string[]|null);
+ }
+
+ /** Represents a DoNotAssociateAction. */
+ class DoNotAssociateAction implements IDoNotAssociateAction {
+
+ /**
+ * Constructs a new DoNotAssociateAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction);
+
+ /** DoNotAssociateAction queryTerms. */
+ public queryTerms: string[];
+
+ /** DoNotAssociateAction doNotAssociateTerms. */
+ public doNotAssociateTerms: string[];
+
+ /** DoNotAssociateAction terms. */
+ public terms: string[];
+
+ /**
+ * Creates a new DoNotAssociateAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoNotAssociateAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction): google.cloud.retail.v2alpha.Rule.DoNotAssociateAction;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.DoNotAssociateAction;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.DoNotAssociateAction;
+
+ /**
+ * Verifies a DoNotAssociateAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoNotAssociateAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoNotAssociateAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.DoNotAssociateAction;
+
+ /**
+ * Creates a plain object from a DoNotAssociateAction message. Also converts values to other types if specified.
+ * @param message DoNotAssociateAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.DoNotAssociateAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoNotAssociateAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoNotAssociateAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplacementAction. */
+ interface IReplacementAction {
+
+ /** ReplacementAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** ReplacementAction replacementTerm */
+ replacementTerm?: (string|null);
+
+ /** ReplacementAction term */
+ term?: (string|null);
+ }
+
+ /** Represents a ReplacementAction. */
+ class ReplacementAction implements IReplacementAction {
+
+ /**
+ * Constructs a new ReplacementAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IReplacementAction);
+
+ /** ReplacementAction queryTerms. */
+ public queryTerms: string[];
+
+ /** ReplacementAction replacementTerm. */
+ public replacementTerm: string;
+
+ /** ReplacementAction term. */
+ public term: string;
+
+ /**
+ * Creates a new ReplacementAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplacementAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IReplacementAction): google.cloud.retail.v2alpha.Rule.ReplacementAction;
+
+ /**
+ * Encodes the specified ReplacementAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplacementAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplacementAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.ReplacementAction;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplacementAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.ReplacementAction;
+
+ /**
+ * Verifies a ReplacementAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplacementAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplacementAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.ReplacementAction;
+
+ /**
+ * Creates a plain object from a ReplacementAction message. Also converts values to other types if specified.
+ * @param message ReplacementAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.ReplacementAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplacementAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplacementAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IgnoreAction. */
+ interface IIgnoreAction {
+
+ /** IgnoreAction ignoreTerms */
+ ignoreTerms?: (string[]|null);
+ }
+
+ /** Represents an IgnoreAction. */
+ class IgnoreAction implements IIgnoreAction {
+
+ /**
+ * Constructs a new IgnoreAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Rule.IIgnoreAction);
+
+ /** IgnoreAction ignoreTerms. */
+ public ignoreTerms: string[];
+
+ /**
+ * Creates a new IgnoreAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IgnoreAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Rule.IIgnoreAction): google.cloud.retail.v2alpha.Rule.IgnoreAction;
+
+ /**
+ * Encodes the specified IgnoreAction message. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IgnoreAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IgnoreAction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rule.IgnoreAction;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IgnoreAction
+ * @throws {Error} If the payload 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.retail.v2alpha.Rule.IgnoreAction;
+
+ /**
+ * Verifies an IgnoreAction message.
+ * @param message Plain 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 IgnoreAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IgnoreAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rule.IgnoreAction;
+
+ /**
+ * Creates a plain object from an IgnoreAction message. Also converts values to other types if specified.
+ * @param message IgnoreAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rule.IgnoreAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IgnoreAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IgnoreAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Audience. */
+ interface IAudience {
+
+ /** Audience genders */
+ genders?: (string[]|null);
+
+ /** Audience ageGroups */
+ ageGroups?: (string[]|null);
+ }
+
+ /** Represents an Audience. */
+ class Audience implements IAudience {
+
+ /**
+ * Constructs a new Audience.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAudience);
+
+ /** Audience genders. */
+ public genders: string[];
+
+ /** Audience ageGroups. */
+ public ageGroups: string[];
+
+ /**
+ * Creates a new Audience instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Audience instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAudience): google.cloud.retail.v2alpha.Audience;
+
+ /**
+ * Encodes the specified Audience message. Does not implicitly {@link google.cloud.retail.v2alpha.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Audience message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Audience
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Audience;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Audience
+ * @throws {Error} If the payload 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.retail.v2alpha.Audience;
+
+ /**
+ * Verifies an Audience message.
+ * @param message Plain 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 Audience message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Audience
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Audience;
+
+ /**
+ * Creates a plain object from an Audience message. Also converts values to other types if specified.
+ * @param message Audience
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Audience, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Audience to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Audience
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ColorInfo. */
+ interface IColorInfo {
+
+ /** ColorInfo colorFamilies */
+ colorFamilies?: (string[]|null);
+
+ /** ColorInfo colors */
+ colors?: (string[]|null);
+ }
+
+ /** Represents a ColorInfo. */
+ class ColorInfo implements IColorInfo {
+
+ /**
+ * Constructs a new ColorInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IColorInfo);
+
+ /** ColorInfo colorFamilies. */
+ public colorFamilies: string[];
+
+ /** ColorInfo colors. */
+ public colors: string[];
+
+ /**
+ * Creates a new ColorInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ColorInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IColorInfo): google.cloud.retail.v2alpha.ColorInfo;
+
+ /**
+ * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.retail.v2alpha.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ColorInfo
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ColorInfo;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ColorInfo
+ * @throws {Error} If the payload 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.retail.v2alpha.ColorInfo;
+
+ /**
+ * Verifies a ColorInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ColorInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ColorInfo;
+
+ /**
+ * Creates a plain object from a ColorInfo message. Also converts values to other types if specified.
+ * @param message ColorInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ColorInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ColorInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomAttribute. */
+ interface ICustomAttribute {
+
+ /** CustomAttribute text */
+ text?: (string[]|null);
+
+ /** CustomAttribute numbers */
+ numbers?: (number[]|null);
+
+ /** CustomAttribute searchable */
+ searchable?: (boolean|null);
+
+ /** CustomAttribute indexable */
+ indexable?: (boolean|null);
+ }
+
+ /** Represents a CustomAttribute. */
+ class CustomAttribute implements ICustomAttribute {
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICustomAttribute);
+
+ /** CustomAttribute text. */
+ public text: string[];
+
+ /** CustomAttribute numbers. */
+ public numbers: number[];
+
+ /** CustomAttribute searchable. */
+ public searchable?: (boolean|null);
+
+ /** CustomAttribute indexable. */
+ public indexable?: (boolean|null);
+
+ /** CustomAttribute _searchable. */
+ public _searchable?: "searchable";
+
+ /** CustomAttribute _indexable. */
+ public _indexable?: "indexable";
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICustomAttribute): google.cloud.retail.v2alpha.CustomAttribute;
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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 FulfillmentInfo. */
+ interface IFulfillmentInfo {
+
+ /** FulfillmentInfo type */
+ type?: (string|null);
+
+ /** FulfillmentInfo placeIds */
+ placeIds?: (string[]|null);
+ }
+
+ /** Represents a FulfillmentInfo. */
+ class FulfillmentInfo implements IFulfillmentInfo {
+
+ /**
+ * Constructs a new FulfillmentInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IFulfillmentInfo);
+
+ /** FulfillmentInfo type. */
+ public type: string;
+
+ /** FulfillmentInfo placeIds. */
+ public placeIds: string[];
+
+ /**
+ * Creates a new FulfillmentInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FulfillmentInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IFulfillmentInfo): google.cloud.retail.v2alpha.FulfillmentInfo;
+
+ /**
+ * Encodes the specified FulfillmentInfo message. Does not implicitly {@link google.cloud.retail.v2alpha.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FulfillmentInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload is not 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.retail.v2alpha.FulfillmentInfo;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload 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.retail.v2alpha.FulfillmentInfo;
+
+ /**
+ * Verifies a FulfillmentInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FulfillmentInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FulfillmentInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.FulfillmentInfo;
+
+ /**
+ * Creates a plain object from a FulfillmentInfo message. Also converts values to other types if specified.
+ * @param message FulfillmentInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.FulfillmentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FulfillmentInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FulfillmentInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Image. */
+ interface IImage {
+
+ /** Image uri */
+ uri?: (string|null);
+
+ /** Image height */
+ height?: (number|null);
+
+ /** Image width */
+ width?: (number|null);
+ }
+
+ /** Represents an Image. */
+ class Image implements IImage {
+
+ /**
+ * Constructs a new Image.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImage);
+
+ /** Image uri. */
+ public uri: string;
+
+ /** Image height. */
+ public height: number;
+
+ /** Image width. */
+ public width: number;
+
+ /**
+ * Creates a new Image instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Image instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImage): google.cloud.retail.v2alpha.Image;
+
+ /**
+ * Encodes the specified Image message. Does not implicitly {@link google.cloud.retail.v2alpha.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Image
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Image;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Image
+ * @throws {Error} If the payload 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.retail.v2alpha.Image;
+
+ /**
+ * Verifies an Image message.
+ * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Image
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Image;
+
+ /**
+ * Creates a plain object from an Image message. Also converts values to other types if specified.
+ * @param message Image
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Image, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Image to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Image
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Interval. */
+ interface IInterval {
+
+ /** Interval minimum */
+ minimum?: (number|null);
+
+ /** Interval exclusiveMinimum */
+ exclusiveMinimum?: (number|null);
+
+ /** Interval maximum */
+ maximum?: (number|null);
+
+ /** Interval exclusiveMaximum */
+ exclusiveMaximum?: (number|null);
+ }
+
+ /** Represents an Interval. */
+ class Interval implements IInterval {
+
+ /**
+ * Constructs a new Interval.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IInterval);
+
+ /** Interval minimum. */
+ public minimum?: (number|null);
+
+ /** Interval exclusiveMinimum. */
+ public exclusiveMinimum?: (number|null);
+
+ /** Interval maximum. */
+ public maximum?: (number|null);
+
+ /** Interval exclusiveMaximum. */
+ public exclusiveMaximum?: (number|null);
+
+ /** Interval min. */
+ public min?: ("minimum"|"exclusiveMinimum");
+
+ /** Interval max. */
+ public max?: ("maximum"|"exclusiveMaximum");
+
+ /**
+ * Creates a new Interval instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Interval instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IInterval): google.cloud.retail.v2alpha.Interval;
+
+ /**
+ * Encodes the specified Interval message. Does not implicitly {@link google.cloud.retail.v2alpha.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Interval
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Interval;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Interval
+ * @throws {Error} If the payload 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.retail.v2alpha.Interval;
+
+ /**
+ * Verifies an Interval message.
+ * @param message Plain 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 Interval message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Interval
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Interval;
+
+ /**
+ * Creates a plain object from an Interval message. Also converts values to other types if specified.
+ * @param message Interval
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Interval to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Interval
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PriceInfo. */
+ interface IPriceInfo {
+
+ /** PriceInfo currencyCode */
+ currencyCode?: (string|null);
+
+ /** PriceInfo price */
+ price?: (number|null);
+
+ /** PriceInfo originalPrice */
+ originalPrice?: (number|null);
+
+ /** PriceInfo cost */
+ cost?: (number|null);
+
+ /** PriceInfo priceEffectiveTime */
+ priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime */
+ priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange */
+ priceRange?: (google.cloud.retail.v2alpha.PriceInfo.IPriceRange|null);
+ }
+
+ /** Represents a PriceInfo. */
+ class PriceInfo implements IPriceInfo {
+
+ /**
+ * Constructs a new PriceInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPriceInfo);
+
+ /** PriceInfo currencyCode. */
+ public currencyCode: string;
+
+ /** PriceInfo price. */
+ public price: number;
+
+ /** PriceInfo originalPrice. */
+ public originalPrice: number;
+
+ /** PriceInfo cost. */
+ public cost: number;
+
+ /** PriceInfo priceEffectiveTime. */
+ public priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime. */
+ public priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange. */
+ public priceRange?: (google.cloud.retail.v2alpha.PriceInfo.IPriceRange|null);
+
+ /**
+ * Creates a new PriceInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPriceInfo): google.cloud.retail.v2alpha.PriceInfo;
+
+ /**
+ * Encodes the specified PriceInfo message. Does not implicitly {@link google.cloud.retail.v2alpha.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceInfo
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PriceInfo;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceInfo
+ * @throws {Error} If the payload 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.retail.v2alpha.PriceInfo;
+
+ /**
+ * Verifies a PriceInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PriceInfo;
+
+ /**
+ * Creates a plain object from a PriceInfo message. Also converts values to other types if specified.
+ * @param message PriceInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PriceInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PriceInfo {
+
+ /** Properties of a PriceRange. */
+ interface IPriceRange {
+
+ /** PriceRange price */
+ price?: (google.cloud.retail.v2alpha.IInterval|null);
+
+ /** PriceRange originalPrice */
+ originalPrice?: (google.cloud.retail.v2alpha.IInterval|null);
+ }
+
+ /** Represents a PriceRange. */
+ class PriceRange implements IPriceRange {
+
+ /**
+ * Constructs a new PriceRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.PriceInfo.IPriceRange);
+
+ /** PriceRange price. */
+ public price?: (google.cloud.retail.v2alpha.IInterval|null);
+
+ /** PriceRange originalPrice. */
+ public originalPrice?: (google.cloud.retail.v2alpha.IInterval|null);
+
+ /**
+ * Creates a new PriceRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.PriceInfo.IPriceRange): google.cloud.retail.v2alpha.PriceInfo.PriceRange;
+
+ /**
+ * Encodes the specified PriceRange message. Does not implicitly {@link google.cloud.retail.v2alpha.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceRange
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PriceInfo.PriceRange;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceRange
+ * @throws {Error} If the payload 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.retail.v2alpha.PriceInfo.PriceRange;
+
+ /**
+ * Verifies a PriceRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PriceInfo.PriceRange;
+
+ /**
+ * Creates a plain object from a PriceRange message. Also converts values to other types if specified.
+ * @param message PriceRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PriceInfo.PriceRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rating. */
+ interface IRating {
+
+ /** Rating ratingCount */
+ ratingCount?: (number|null);
+
+ /** Rating averageRating */
+ averageRating?: (number|null);
+
+ /** Rating ratingHistogram */
+ ratingHistogram?: (number[]|null);
+ }
+
+ /** Represents a Rating. */
+ class Rating implements IRating {
+
+ /**
+ * Constructs a new Rating.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRating);
+
+ /** Rating ratingCount. */
+ public ratingCount: number;
+
+ /** Rating averageRating. */
+ public averageRating: number;
+
+ /** Rating ratingHistogram. */
+ public ratingHistogram: number[];
+
+ /**
+ * Creates a new Rating instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rating instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRating): google.cloud.retail.v2alpha.Rating;
+
+ /**
+ * Encodes the specified Rating message. Does not implicitly {@link google.cloud.retail.v2alpha.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rating message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rating
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Rating;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rating
+ * @throws {Error} If the payload 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.retail.v2alpha.Rating;
+
+ /**
+ * Verifies a Rating message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rating message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rating
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Rating;
+
+ /**
+ * Creates a plain object from a Rating message. Also converts values to other types if specified.
+ * @param message Rating
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Rating, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rating to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rating
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserInfo. */
+ interface IUserInfo {
+
+ /** UserInfo userId */
+ userId?: (string|null);
+
+ /** UserInfo ipAddress */
+ ipAddress?: (string|null);
+
+ /** UserInfo userAgent */
+ userAgent?: (string|null);
+
+ /** UserInfo directUserRequest */
+ directUserRequest?: (boolean|null);
+ }
+
+ /** Represents a UserInfo. */
+ class UserInfo implements IUserInfo {
+
+ /**
+ * Constructs a new UserInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUserInfo);
+
+ /** UserInfo userId. */
+ public userId: string;
+
+ /** UserInfo ipAddress. */
+ public ipAddress: string;
+
+ /** UserInfo userAgent. */
+ public userAgent: string;
+
+ /** UserInfo directUserRequest. */
+ public directUserRequest: boolean;
+
+ /**
+ * Creates a new UserInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUserInfo): google.cloud.retail.v2alpha.UserInfo;
+
+ /**
+ * Encodes the specified UserInfo message. Does not implicitly {@link google.cloud.retail.v2alpha.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserInfo
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UserInfo;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserInfo
+ * @throws {Error} If the payload 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.retail.v2alpha.UserInfo;
+
+ /**
+ * Verifies a UserInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UserInfo;
+
+ /**
+ * Creates a plain object from a UserInfo message. Also converts values to other types if specified.
+ * @param message UserInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UserInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocalInventory. */
+ interface ILocalInventory {
+
+ /** LocalInventory placeId */
+ placeId?: (string|null);
+
+ /** LocalInventory priceInfo */
+ priceInfo?: (google.cloud.retail.v2alpha.IPriceInfo|null);
+
+ /** LocalInventory attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2alpha.ICustomAttribute }|null);
+
+ /** LocalInventory fulfillmentTypes */
+ fulfillmentTypes?: (string[]|null);
+ }
+
+ /** Represents a LocalInventory. */
+ class LocalInventory implements ILocalInventory {
+
+ /**
+ * Constructs a new LocalInventory.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ILocalInventory);
+
+ /** LocalInventory placeId. */
+ public placeId: string;
+
+ /** LocalInventory priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2alpha.IPriceInfo|null);
+
+ /** LocalInventory attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2alpha.ICustomAttribute };
+
+ /** LocalInventory fulfillmentTypes. */
+ public fulfillmentTypes: string[];
+
+ /**
+ * Creates a new LocalInventory instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocalInventory instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ILocalInventory): google.cloud.retail.v2alpha.LocalInventory;
+
+ /**
+ * Encodes the specified LocalInventory message. Does not implicitly {@link google.cloud.retail.v2alpha.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocalInventory message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocalInventory
+ * @throws {Error} If the payload is not 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.retail.v2alpha.LocalInventory;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocalInventory
+ * @throws {Error} If the payload 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.retail.v2alpha.LocalInventory;
+
+ /**
+ * Verifies a LocalInventory message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LocalInventory message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocalInventory
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.LocalInventory;
+
+ /**
+ * Creates a plain object from a LocalInventory message. Also converts values to other types if specified.
+ * @param message LocalInventory
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.LocalInventory, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocalInventory to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocalInventory
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsSource. */
+ interface IGcsSource {
+
+ /** GcsSource inputUris */
+ inputUris?: (string[]|null);
+
+ /** GcsSource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a GcsSource. */
+ class GcsSource implements IGcsSource {
+
+ /**
+ * Constructs a new GcsSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGcsSource);
+
+ /** GcsSource inputUris. */
+ public inputUris: string[];
+
+ /** GcsSource dataSchema. */
+ public dataSchema: string;
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGcsSource): google.cloud.retail.v2alpha.GcsSource;
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.retail.v2alpha.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsSource
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GcsSource;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsSource
+ * @throws {Error} If the payload 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.retail.v2alpha.GcsSource;
+
+ /**
+ * Verifies a GcsSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GcsSource;
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @param message GcsSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQuerySource. */
+ interface IBigQuerySource {
+
+ /** BigQuerySource partitionDate */
+ partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId */
+ projectId?: (string|null);
+
+ /** BigQuerySource datasetId */
+ datasetId?: (string|null);
+
+ /** BigQuerySource tableId */
+ tableId?: (string|null);
+
+ /** BigQuerySource gcsStagingDir */
+ gcsStagingDir?: (string|null);
+
+ /** BigQuerySource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a BigQuerySource. */
+ class BigQuerySource implements IBigQuerySource {
+
+ /**
+ * Constructs a new BigQuerySource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IBigQuerySource);
+
+ /** BigQuerySource partitionDate. */
+ public partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId. */
+ public projectId: string;
+
+ /** BigQuerySource datasetId. */
+ public datasetId: string;
+
+ /** BigQuerySource tableId. */
+ public tableId: string;
+
+ /** BigQuerySource gcsStagingDir. */
+ public gcsStagingDir: string;
+
+ /** BigQuerySource dataSchema. */
+ public dataSchema: string;
+
+ /** BigQuerySource partition. */
+ public partition?: "partitionDate";
+
+ /**
+ * Creates a new BigQuerySource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQuerySource instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IBigQuerySource): google.cloud.retail.v2alpha.BigQuerySource;
+
+ /**
+ * Encodes the specified BigQuerySource message. Does not implicitly {@link google.cloud.retail.v2alpha.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQuerySource message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQuerySource
+ * @throws {Error} If the payload is not 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.retail.v2alpha.BigQuerySource;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQuerySource
+ * @throws {Error} If the payload 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.retail.v2alpha.BigQuerySource;
+
+ /**
+ * Verifies a BigQuerySource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQuerySource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQuerySource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.BigQuerySource;
+
+ /**
+ * Creates a plain object from a BigQuerySource message. Also converts values to other types if specified.
+ * @param message BigQuerySource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.BigQuerySource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQuerySource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQuerySource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInlineSource. */
+ interface IProductInlineSource {
+
+ /** ProductInlineSource products */
+ products?: (google.cloud.retail.v2alpha.IProduct[]|null);
+ }
+
+ /** Represents a ProductInlineSource. */
+ class ProductInlineSource implements IProductInlineSource {
+
+ /**
+ * Constructs a new ProductInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IProductInlineSource);
+
+ /** ProductInlineSource products. */
+ public products: google.cloud.retail.v2alpha.IProduct[];
+
+ /**
+ * Creates a new ProductInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IProductInlineSource): google.cloud.retail.v2alpha.ProductInlineSource;
+
+ /**
+ * Encodes the specified ProductInlineSource message. Does not implicitly {@link google.cloud.retail.v2alpha.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ProductInlineSource;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload 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.retail.v2alpha.ProductInlineSource;
+
+ /**
+ * Verifies a ProductInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ProductInlineSource;
+
+ /**
+ * Creates a plain object from a ProductInlineSource message. Also converts values to other types if specified.
+ * @param message ProductInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ProductInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInlineSource. */
+ interface IUserEventInlineSource {
+
+ /** UserEventInlineSource userEvents */
+ userEvents?: (google.cloud.retail.v2alpha.IUserEvent[]|null);
+ }
+
+ /** Represents a UserEventInlineSource. */
+ class UserEventInlineSource implements IUserEventInlineSource {
+
+ /**
+ * Constructs a new UserEventInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUserEventInlineSource);
+
+ /** UserEventInlineSource userEvents. */
+ public userEvents: google.cloud.retail.v2alpha.IUserEvent[];
+
+ /**
+ * Creates a new UserEventInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUserEventInlineSource): google.cloud.retail.v2alpha.UserEventInlineSource;
+
+ /**
+ * Encodes the specified UserEventInlineSource message. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UserEventInlineSource;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload 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.retail.v2alpha.UserEventInlineSource;
+
+ /**
+ * Verifies a UserEventInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UserEventInlineSource;
+
+ /**
+ * Creates a plain object from a UserEventInlineSource message. Also converts values to other types if specified.
+ * @param message UserEventInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UserEventInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportErrorsConfig. */
+ interface IImportErrorsConfig {
+
+ /** ImportErrorsConfig gcsPrefix */
+ gcsPrefix?: (string|null);
+ }
+
+ /** Represents an ImportErrorsConfig. */
+ class ImportErrorsConfig implements IImportErrorsConfig {
+
+ /**
+ * Constructs a new ImportErrorsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportErrorsConfig);
+
+ /** ImportErrorsConfig gcsPrefix. */
+ public gcsPrefix?: (string|null);
+
+ /** ImportErrorsConfig destination. */
+ public destination?: "gcsPrefix";
+
+ /**
+ * Creates a new ImportErrorsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportErrorsConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportErrorsConfig): google.cloud.retail.v2alpha.ImportErrorsConfig;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportErrorsConfig;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportErrorsConfig;
+
+ /**
+ * Verifies an ImportErrorsConfig message.
+ * @param message Plain 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 ImportErrorsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportErrorsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportErrorsConfig;
+
+ /**
+ * Creates a plain object from an ImportErrorsConfig message. Also converts values to other types if specified.
+ * @param message ImportErrorsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportErrorsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportErrorsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportErrorsConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsRequest. */
+ interface IImportProductsRequest {
+
+ /** ImportProductsRequest parent */
+ parent?: (string|null);
+
+ /** ImportProductsRequest requestId */
+ requestId?: (string|null);
+
+ /** ImportProductsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2alpha.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode */
+ reconciliationMode?: (google.cloud.retail.v2alpha.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2alpha.ImportProductsRequest.ReconciliationMode|null);
+
+ /** ImportProductsRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+
+ /** ImportProductsRequest skipDefaultBranchProtection */
+ skipDefaultBranchProtection?: (boolean|null);
+ }
+
+ /** Represents an ImportProductsRequest. */
+ class ImportProductsRequest implements IImportProductsRequest {
+
+ /**
+ * Constructs a new ImportProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportProductsRequest);
+
+ /** ImportProductsRequest parent. */
+ public parent: string;
+
+ /** ImportProductsRequest requestId. */
+ public requestId: string;
+
+ /** ImportProductsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2alpha.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode. */
+ public reconciliationMode: (google.cloud.retail.v2alpha.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2alpha.ImportProductsRequest.ReconciliationMode);
+
+ /** ImportProductsRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /** ImportProductsRequest skipDefaultBranchProtection. */
+ public skipDefaultBranchProtection: boolean;
+
+ /**
+ * Creates a new ImportProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportProductsRequest): google.cloud.retail.v2alpha.ImportProductsRequest;
+
+ /**
+ * Encodes the specified ImportProductsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportProductsRequest;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportProductsRequest;
+
+ /**
+ * Verifies an ImportProductsRequest message.
+ * @param message Plain 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 ImportProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportProductsRequest;
+
+ /**
+ * Creates a plain object from an ImportProductsRequest message. Also converts values to other types if specified.
+ * @param message ImportProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ImportProductsRequest {
+
+ /** ReconciliationMode enum. */
+ enum ReconciliationMode {
+ RECONCILIATION_MODE_UNSPECIFIED = 0,
+ INCREMENTAL = 1,
+ FULL = 2
+ }
+ }
+
+ /** Properties of an ImportUserEventsRequest. */
+ interface IImportUserEventsRequest {
+
+ /** ImportUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** ImportUserEventsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2alpha.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportUserEventsRequest. */
+ class ImportUserEventsRequest implements IImportUserEventsRequest {
+
+ /**
+ * Constructs a new ImportUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportUserEventsRequest);
+
+ /** ImportUserEventsRequest parent. */
+ public parent: string;
+
+ /** ImportUserEventsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2alpha.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportUserEventsRequest): google.cloud.retail.v2alpha.ImportUserEventsRequest;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportUserEventsRequest;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportUserEventsRequest;
+
+ /**
+ * Verifies an ImportUserEventsRequest message.
+ * @param message Plain 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 ImportUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportUserEventsRequest;
+
+ /**
+ * Creates a plain object from an ImportUserEventsRequest message. Also converts values to other types if specified.
+ * @param message ImportUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataRequest. */
+ interface IImportCompletionDataRequest {
+
+ /** ImportCompletionDataRequest parent */
+ parent?: (string|null);
+
+ /** ImportCompletionDataRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportCompletionDataRequest. */
+ class ImportCompletionDataRequest implements IImportCompletionDataRequest {
+
+ /**
+ * Constructs a new ImportCompletionDataRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportCompletionDataRequest);
+
+ /** ImportCompletionDataRequest parent. */
+ public parent: string;
+
+ /** ImportCompletionDataRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2alpha.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportCompletionDataRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportCompletionDataRequest): google.cloud.retail.v2alpha.ImportCompletionDataRequest;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportCompletionDataRequest;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportCompletionDataRequest;
+
+ /**
+ * Verifies an ImportCompletionDataRequest message.
+ * @param message Plain 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 ImportCompletionDataRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportCompletionDataRequest;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataRequest message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportCompletionDataRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInputConfig. */
+ interface IProductInputConfig {
+
+ /** ProductInputConfig productInlineSource */
+ productInlineSource?: (google.cloud.retail.v2alpha.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2alpha.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+ }
+
+ /** Represents a ProductInputConfig. */
+ class ProductInputConfig implements IProductInputConfig {
+
+ /**
+ * Constructs a new ProductInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IProductInputConfig);
+
+ /** ProductInputConfig productInlineSource. */
+ public productInlineSource?: (google.cloud.retail.v2alpha.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2alpha.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+
+ /** ProductInputConfig source. */
+ public source?: ("productInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new ProductInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IProductInputConfig): google.cloud.retail.v2alpha.ProductInputConfig;
+
+ /**
+ * Encodes the specified ProductInputConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ProductInputConfig;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.ProductInputConfig;
+
+ /**
+ * Verifies a ProductInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ProductInputConfig;
+
+ /**
+ * Creates a plain object from a ProductInputConfig message. Also converts values to other types if specified.
+ * @param message ProductInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ProductInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInputConfig. */
+ interface IUserEventInputConfig {
+
+ /** UserEventInputConfig userEventInlineSource */
+ userEventInlineSource?: (google.cloud.retail.v2alpha.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2alpha.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+ }
+
+ /** Represents a UserEventInputConfig. */
+ class UserEventInputConfig implements IUserEventInputConfig {
+
+ /**
+ * Constructs a new UserEventInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUserEventInputConfig);
+
+ /** UserEventInputConfig userEventInlineSource. */
+ public userEventInlineSource?: (google.cloud.retail.v2alpha.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2alpha.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+
+ /** UserEventInputConfig source. */
+ public source?: ("userEventInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new UserEventInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUserEventInputConfig): google.cloud.retail.v2alpha.UserEventInputConfig;
+
+ /**
+ * Encodes the specified UserEventInputConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UserEventInputConfig;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.UserEventInputConfig;
+
+ /**
+ * Verifies a UserEventInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UserEventInputConfig;
+
+ /**
+ * Creates a plain object from a UserEventInputConfig message. Also converts values to other types if specified.
+ * @param message UserEventInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UserEventInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDataInputConfig. */
+ interface ICompletionDataInputConfig {
+
+ /** CompletionDataInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+ }
+
+ /** Represents a CompletionDataInputConfig. */
+ class CompletionDataInputConfig implements ICompletionDataInputConfig {
+
+ /**
+ * Constructs a new CompletionDataInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICompletionDataInputConfig);
+
+ /** CompletionDataInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2alpha.IBigQuerySource|null);
+
+ /** CompletionDataInputConfig source. */
+ public source?: "bigQuerySource";
+
+ /**
+ * Creates a new CompletionDataInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDataInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICompletionDataInputConfig): google.cloud.retail.v2alpha.CompletionDataInputConfig;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CompletionDataInputConfig;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.CompletionDataInputConfig;
+
+ /**
+ * Verifies a CompletionDataInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDataInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDataInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CompletionDataInputConfig;
+
+ /**
+ * Creates a plain object from a CompletionDataInputConfig message. Also converts values to other types if specified.
+ * @param message CompletionDataInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CompletionDataInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDataInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDataInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportMetadata. */
+ interface IImportMetadata {
+
+ /** ImportMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount */
+ successCount?: (number|Long|string|null);
+
+ /** ImportMetadata failureCount */
+ failureCount?: (number|Long|string|null);
+
+ /** ImportMetadata requestId */
+ requestId?: (string|null);
+
+ /** ImportMetadata notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportMetadata. */
+ class ImportMetadata implements IImportMetadata {
+
+ /**
+ * Constructs a new ImportMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportMetadata);
+
+ /** ImportMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount. */
+ public successCount: (number|Long|string);
+
+ /** ImportMetadata failureCount. */
+ public failureCount: (number|Long|string);
+
+ /** ImportMetadata requestId. */
+ public requestId: string;
+
+ /** ImportMetadata notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportMetadata): google.cloud.retail.v2alpha.ImportMetadata;
+
+ /**
+ * Encodes the specified ImportMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportMetadata;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportMetadata;
+
+ /**
+ * Verifies an ImportMetadata message.
+ * @param message Plain 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 ImportMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportMetadata;
+
+ /**
+ * Creates a plain object from an ImportMetadata message. Also converts values to other types if specified.
+ * @param message ImportMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsResponse. */
+ interface IImportProductsResponse {
+
+ /** ImportProductsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportProductsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportProductsResponse. */
+ class ImportProductsResponse implements IImportProductsResponse {
+
+ /**
+ * Constructs a new ImportProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportProductsResponse);
+
+ /** ImportProductsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportProductsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportProductsResponse): google.cloud.retail.v2alpha.ImportProductsResponse;
+
+ /**
+ * Encodes the specified ImportProductsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportProductsResponse;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportProductsResponse;
+
+ /**
+ * Verifies an ImportProductsResponse message.
+ * @param message Plain 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 ImportProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportProductsResponse;
+
+ /**
+ * Creates a plain object from an ImportProductsResponse message. Also converts values to other types if specified.
+ * @param message ImportProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportUserEventsResponse. */
+ interface IImportUserEventsResponse {
+
+ /** ImportUserEventsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportUserEventsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary */
+ importSummary?: (google.cloud.retail.v2alpha.IUserEventImportSummary|null);
+ }
+
+ /** Represents an ImportUserEventsResponse. */
+ class ImportUserEventsResponse implements IImportUserEventsResponse {
+
+ /**
+ * Constructs a new ImportUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportUserEventsResponse);
+
+ /** ImportUserEventsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportUserEventsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary. */
+ public importSummary?: (google.cloud.retail.v2alpha.IUserEventImportSummary|null);
+
+ /**
+ * Creates a new ImportUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportUserEventsResponse): google.cloud.retail.v2alpha.ImportUserEventsResponse;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportUserEventsResponse;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportUserEventsResponse;
+
+ /**
+ * Verifies an ImportUserEventsResponse message.
+ * @param message Plain 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 ImportUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportUserEventsResponse;
+
+ /**
+ * Creates a plain object from an ImportUserEventsResponse message. Also converts values to other types if specified.
+ * @param message ImportUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventImportSummary. */
+ interface IUserEventImportSummary {
+
+ /** UserEventImportSummary joinedEventsCount */
+ joinedEventsCount?: (number|Long|string|null);
+
+ /** UserEventImportSummary unjoinedEventsCount */
+ unjoinedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a UserEventImportSummary. */
+ class UserEventImportSummary implements IUserEventImportSummary {
+
+ /**
+ * Constructs a new UserEventImportSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUserEventImportSummary);
+
+ /** UserEventImportSummary joinedEventsCount. */
+ public joinedEventsCount: (number|Long|string);
+
+ /** UserEventImportSummary unjoinedEventsCount. */
+ public unjoinedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new UserEventImportSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventImportSummary instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUserEventImportSummary): google.cloud.retail.v2alpha.UserEventImportSummary;
+
+ /**
+ * Encodes the specified UserEventImportSummary message. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventImportSummary message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UserEventImportSummary;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload 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.retail.v2alpha.UserEventImportSummary;
+
+ /**
+ * Verifies a UserEventImportSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventImportSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventImportSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UserEventImportSummary;
+
+ /**
+ * Creates a plain object from a UserEventImportSummary message. Also converts values to other types if specified.
+ * @param message UserEventImportSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UserEventImportSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventImportSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventImportSummary
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataResponse. */
+ interface IImportCompletionDataResponse {
+
+ /** ImportCompletionDataResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+ }
+
+ /** Represents an ImportCompletionDataResponse. */
+ class ImportCompletionDataResponse implements IImportCompletionDataResponse {
+
+ /**
+ * Constructs a new ImportCompletionDataResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IImportCompletionDataResponse);
+
+ /** ImportCompletionDataResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /**
+ * Creates a new ImportCompletionDataResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IImportCompletionDataResponse): google.cloud.retail.v2alpha.ImportCompletionDataResponse;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ImportCompletionDataResponse;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ImportCompletionDataResponse;
+
+ /**
+ * Verifies an ImportCompletionDataResponse message.
+ * @param message Plain 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 ImportCompletionDataResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ImportCompletionDataResponse;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataResponse message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ImportCompletionDataResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Product. */
+ interface IProduct {
+
+ /** Product expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl */
+ ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name */
+ name?: (string|null);
+
+ /** Product id */
+ id?: (string|null);
+
+ /** Product type */
+ type?: (google.cloud.retail.v2alpha.Product.Type|keyof typeof google.cloud.retail.v2alpha.Product.Type|null);
+
+ /** Product primaryProductId */
+ primaryProductId?: (string|null);
+
+ /** Product collectionMemberIds */
+ collectionMemberIds?: (string[]|null);
+
+ /** Product gtin */
+ gtin?: (string|null);
+
+ /** Product categories */
+ categories?: (string[]|null);
+
+ /** Product title */
+ title?: (string|null);
+
+ /** Product brands */
+ brands?: (string[]|null);
+
+ /** Product description */
+ description?: (string|null);
+
+ /** Product languageCode */
+ languageCode?: (string|null);
+
+ /** Product attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2alpha.ICustomAttribute }|null);
+
+ /** Product tags */
+ tags?: (string[]|null);
+
+ /** Product priceInfo */
+ priceInfo?: (google.cloud.retail.v2alpha.IPriceInfo|null);
+
+ /** Product rating */
+ rating?: (google.cloud.retail.v2alpha.IRating|null);
+
+ /** Product availableTime */
+ availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability */
+ availability?: (google.cloud.retail.v2alpha.Product.Availability|keyof typeof google.cloud.retail.v2alpha.Product.Availability|null);
+
+ /** Product availableQuantity */
+ availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo */
+ fulfillmentInfo?: (google.cloud.retail.v2alpha.IFulfillmentInfo[]|null);
+
+ /** Product uri */
+ uri?: (string|null);
+
+ /** Product images */
+ images?: (google.cloud.retail.v2alpha.IImage[]|null);
+
+ /** Product audience */
+ audience?: (google.cloud.retail.v2alpha.IAudience|null);
+
+ /** Product colorInfo */
+ colorInfo?: (google.cloud.retail.v2alpha.IColorInfo|null);
+
+ /** Product sizes */
+ sizes?: (string[]|null);
+
+ /** Product materials */
+ materials?: (string[]|null);
+
+ /** Product patterns */
+ patterns?: (string[]|null);
+
+ /** Product conditions */
+ conditions?: (string[]|null);
+
+ /** Product promotions */
+ promotions?: (google.cloud.retail.v2alpha.IPromotion[]|null);
+
+ /** Product publishTime */
+ publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields */
+ retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants */
+ variants?: (google.cloud.retail.v2alpha.IProduct[]|null);
+ }
+
+ /** Represents a Product. */
+ class Product implements IProduct {
+
+ /**
+ * Constructs a new Product.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IProduct);
+
+ /** Product expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl. */
+ public ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name. */
+ public name: string;
+
+ /** Product id. */
+ public id: string;
+
+ /** Product type. */
+ public type: (google.cloud.retail.v2alpha.Product.Type|keyof typeof google.cloud.retail.v2alpha.Product.Type);
+
+ /** Product primaryProductId. */
+ public primaryProductId: string;
+
+ /** Product collectionMemberIds. */
+ public collectionMemberIds: string[];
+
+ /** Product gtin. */
+ public gtin: string;
+
+ /** Product categories. */
+ public categories: string[];
+
+ /** Product title. */
+ public title: string;
+
+ /** Product brands. */
+ public brands: string[];
+
+ /** Product description. */
+ public description: string;
+
+ /** Product languageCode. */
+ public languageCode: string;
+
+ /** Product attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2alpha.ICustomAttribute };
+
+ /** Product tags. */
+ public tags: string[];
+
+ /** Product priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2alpha.IPriceInfo|null);
+
+ /** Product rating. */
+ public rating?: (google.cloud.retail.v2alpha.IRating|null);
+
+ /** Product availableTime. */
+ public availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability. */
+ public availability: (google.cloud.retail.v2alpha.Product.Availability|keyof typeof google.cloud.retail.v2alpha.Product.Availability);
+
+ /** Product availableQuantity. */
+ public availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo. */
+ public fulfillmentInfo: google.cloud.retail.v2alpha.IFulfillmentInfo[];
+
+ /** Product uri. */
+ public uri: string;
+
+ /** Product images. */
+ public images: google.cloud.retail.v2alpha.IImage[];
+
+ /** Product audience. */
+ public audience?: (google.cloud.retail.v2alpha.IAudience|null);
+
+ /** Product colorInfo. */
+ public colorInfo?: (google.cloud.retail.v2alpha.IColorInfo|null);
+
+ /** Product sizes. */
+ public sizes: string[];
+
+ /** Product materials. */
+ public materials: string[];
+
+ /** Product patterns. */
+ public patterns: string[];
+
+ /** Product conditions. */
+ public conditions: string[];
+
+ /** Product promotions. */
+ public promotions: google.cloud.retail.v2alpha.IPromotion[];
+
+ /** Product publishTime. */
+ public publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields. */
+ public retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants. */
+ public variants: google.cloud.retail.v2alpha.IProduct[];
+
+ /** Product expiration. */
+ public expiration?: ("expireTime"|"ttl");
+
+ /**
+ * Creates a new Product instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Product instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IProduct): google.cloud.retail.v2alpha.Product;
+
+ /**
+ * Encodes the specified Product message. Does not implicitly {@link google.cloud.retail.v2alpha.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Product
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Product;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Product
+ * @throws {Error} If the payload 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.retail.v2alpha.Product;
+
+ /**
+ * Verifies a Product message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Product message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Product
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Product;
+
+ /**
+ * Creates a plain object from a Product message. Also converts values to other types if specified.
+ * @param message Product
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Product, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Product to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Product
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Product {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ PRIMARY = 1,
+ VARIANT = 2,
+ COLLECTION = 3
+ }
+
+ /** Availability enum. */
+ enum Availability {
+ AVAILABILITY_UNSPECIFIED = 0,
+ IN_STOCK = 1,
+ OUT_OF_STOCK = 2,
+ PREORDER = 3,
+ BACKORDER = 4
+ }
+ }
+
+ /** Properties of a Promotion. */
+ interface IPromotion {
+
+ /** Promotion promotionId */
+ promotionId?: (string|null);
+ }
+
+ /** Represents a Promotion. */
+ class Promotion implements IPromotion {
+
+ /**
+ * Constructs a new Promotion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPromotion);
+
+ /** Promotion promotionId. */
+ public promotionId: string;
+
+ /**
+ * Creates a new Promotion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Promotion instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPromotion): google.cloud.retail.v2alpha.Promotion;
+
+ /**
+ * Encodes the specified Promotion message. Does not implicitly {@link google.cloud.retail.v2alpha.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Promotion message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Promotion
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Promotion;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Promotion
+ * @throws {Error} If the payload 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.retail.v2alpha.Promotion;
+
+ /**
+ * Verifies a Promotion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Promotion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Promotion
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Promotion;
+
+ /**
+ * Creates a plain object from a Promotion message. Also converts values to other types if specified.
+ * @param message Promotion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Promotion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Promotion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Promotion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEvent. */
+ interface IUserEvent {
+
+ /** UserEvent eventType */
+ eventType?: (string|null);
+
+ /** UserEvent visitorId */
+ visitorId?: (string|null);
+
+ /** UserEvent sessionId */
+ sessionId?: (string|null);
+
+ /** UserEvent eventTime */
+ eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds */
+ experimentIds?: (string[]|null);
+
+ /** UserEvent attributionToken */
+ attributionToken?: (string|null);
+
+ /** UserEvent productDetails */
+ productDetails?: (google.cloud.retail.v2alpha.IProductDetail[]|null);
+
+ /** UserEvent completionDetail */
+ completionDetail?: (google.cloud.retail.v2alpha.ICompletionDetail|null);
+
+ /** UserEvent attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2alpha.ICustomAttribute }|null);
+
+ /** UserEvent cartId */
+ cartId?: (string|null);
+
+ /** UserEvent purchaseTransaction */
+ purchaseTransaction?: (google.cloud.retail.v2alpha.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery */
+ searchQuery?: (string|null);
+
+ /** UserEvent filter */
+ filter?: (string|null);
+
+ /** UserEvent orderBy */
+ orderBy?: (string|null);
+
+ /** UserEvent offset */
+ offset?: (number|null);
+
+ /** UserEvent pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** UserEvent userInfo */
+ userInfo?: (google.cloud.retail.v2alpha.IUserInfo|null);
+
+ /** UserEvent uri */
+ uri?: (string|null);
+
+ /** UserEvent referrerUri */
+ referrerUri?: (string|null);
+
+ /** UserEvent pageViewId */
+ pageViewId?: (string|null);
+ }
+
+ /** Represents a UserEvent. */
+ class UserEvent implements IUserEvent {
+
+ /**
+ * Constructs a new UserEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUserEvent);
+
+ /** UserEvent eventType. */
+ public eventType: string;
+
+ /** UserEvent visitorId. */
+ public visitorId: string;
+
+ /** UserEvent sessionId. */
+ public sessionId: string;
+
+ /** UserEvent eventTime. */
+ public eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds. */
+ public experimentIds: string[];
+
+ /** UserEvent attributionToken. */
+ public attributionToken: string;
+
+ /** UserEvent productDetails. */
+ public productDetails: google.cloud.retail.v2alpha.IProductDetail[];
+
+ /** UserEvent completionDetail. */
+ public completionDetail?: (google.cloud.retail.v2alpha.ICompletionDetail|null);
+
+ /** UserEvent attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2alpha.ICustomAttribute };
+
+ /** UserEvent cartId. */
+ public cartId: string;
+
+ /** UserEvent purchaseTransaction. */
+ public purchaseTransaction?: (google.cloud.retail.v2alpha.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery. */
+ public searchQuery: string;
+
+ /** UserEvent filter. */
+ public filter: string;
+
+ /** UserEvent orderBy. */
+ public orderBy: string;
+
+ /** UserEvent offset. */
+ public offset: number;
+
+ /** UserEvent pageCategories. */
+ public pageCategories: string[];
+
+ /** UserEvent userInfo. */
+ public userInfo?: (google.cloud.retail.v2alpha.IUserInfo|null);
+
+ /** UserEvent uri. */
+ public uri: string;
+
+ /** UserEvent referrerUri. */
+ public referrerUri: string;
+
+ /** UserEvent pageViewId. */
+ public pageViewId: string;
+
+ /**
+ * Creates a new UserEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEvent instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUserEvent): google.cloud.retail.v2alpha.UserEvent;
+
+ /**
+ * Encodes the specified UserEvent message. Does not implicitly {@link google.cloud.retail.v2alpha.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEvent message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEvent
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UserEvent;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEvent
+ * @throws {Error} If the payload 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.retail.v2alpha.UserEvent;
+
+ /**
+ * Verifies a UserEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UserEvent;
+
+ /**
+ * Creates a plain object from a UserEvent message. Also converts values to other types if specified.
+ * @param message UserEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UserEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductDetail. */
+ interface IProductDetail {
+
+ /** ProductDetail product */
+ product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** ProductDetail quantity */
+ quantity?: (google.protobuf.IInt32Value|null);
+ }
+
+ /** Represents a ProductDetail. */
+ class ProductDetail implements IProductDetail {
+
+ /**
+ * Constructs a new ProductDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IProductDetail);
+
+ /** ProductDetail product. */
+ public product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** ProductDetail quantity. */
+ public quantity?: (google.protobuf.IInt32Value|null);
+
+ /**
+ * Creates a new ProductDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IProductDetail): google.cloud.retail.v2alpha.ProductDetail;
+
+ /**
+ * Encodes the specified ProductDetail message. Does not implicitly {@link google.cloud.retail.v2alpha.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductDetail
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ProductDetail;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductDetail
+ * @throws {Error} If the payload 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.retail.v2alpha.ProductDetail;
+
+ /**
+ * Verifies a ProductDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ProductDetail;
+
+ /**
+ * Creates a plain object from a ProductDetail message. Also converts values to other types if specified.
+ * @param message ProductDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ProductDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDetail. */
+ interface ICompletionDetail {
+
+ /** CompletionDetail completionAttributionToken */
+ completionAttributionToken?: (string|null);
+
+ /** CompletionDetail selectedSuggestion */
+ selectedSuggestion?: (string|null);
+
+ /** CompletionDetail selectedPosition */
+ selectedPosition?: (number|null);
+ }
+
+ /** Represents a CompletionDetail. */
+ class CompletionDetail implements ICompletionDetail {
+
+ /**
+ * Constructs a new CompletionDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICompletionDetail);
+
+ /** CompletionDetail completionAttributionToken. */
+ public completionAttributionToken: string;
+
+ /** CompletionDetail selectedSuggestion. */
+ public selectedSuggestion: string;
+
+ /** CompletionDetail selectedPosition. */
+ public selectedPosition: number;
+
+ /**
+ * Creates a new CompletionDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICompletionDetail): google.cloud.retail.v2alpha.CompletionDetail;
+
+ /**
+ * Encodes the specified CompletionDetail message. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDetail
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CompletionDetail;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDetail
+ * @throws {Error} If the payload 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.retail.v2alpha.CompletionDetail;
+
+ /**
+ * Verifies a CompletionDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CompletionDetail;
+
+ /**
+ * Creates a plain object from a CompletionDetail message. Also converts values to other types if specified.
+ * @param message CompletionDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CompletionDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurchaseTransaction. */
+ interface IPurchaseTransaction {
+
+ /** PurchaseTransaction id */
+ id?: (string|null);
+
+ /** PurchaseTransaction revenue */
+ revenue?: (number|null);
+
+ /** PurchaseTransaction tax */
+ tax?: (number|null);
+
+ /** PurchaseTransaction cost */
+ cost?: (number|null);
+
+ /** PurchaseTransaction currencyCode */
+ currencyCode?: (string|null);
+ }
+
+ /** Represents a PurchaseTransaction. */
+ class PurchaseTransaction implements IPurchaseTransaction {
+
+ /**
+ * Constructs a new PurchaseTransaction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurchaseTransaction);
+
+ /** PurchaseTransaction id. */
+ public id: string;
+
+ /** PurchaseTransaction revenue. */
+ public revenue: number;
+
+ /** PurchaseTransaction tax. */
+ public tax: number;
+
+ /** PurchaseTransaction cost. */
+ public cost: number;
+
+ /** PurchaseTransaction currencyCode. */
+ public currencyCode: string;
+
+ /**
+ * Creates a new PurchaseTransaction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurchaseTransaction instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurchaseTransaction): google.cloud.retail.v2alpha.PurchaseTransaction;
+
+ /**
+ * Encodes the specified PurchaseTransaction message. Does not implicitly {@link google.cloud.retail.v2alpha.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurchaseTransaction message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurchaseTransaction;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload 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.retail.v2alpha.PurchaseTransaction;
+
+ /**
+ * Verifies a PurchaseTransaction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurchaseTransaction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurchaseTransaction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurchaseTransaction;
+
+ /**
+ * Creates a plain object from a PurchaseTransaction message. Also converts values to other types if specified.
+ * @param message PurchaseTransaction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurchaseTransaction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurchaseTransaction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurchaseTransaction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CatalogService */
+ class CatalogService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CatalogService 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 CatalogService 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): CatalogService;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCatalogsResponse
+ */
+ public listCatalogs(request: google.cloud.retail.v2alpha.IListCatalogsRequest, callback: google.cloud.retail.v2alpha.CatalogService.ListCatalogsCallback): void;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @returns Promise
+ */
+ public listCatalogs(request: google.cloud.retail.v2alpha.IListCatalogsRequest): Promise;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Catalog
+ */
+ public updateCatalog(request: google.cloud.retail.v2alpha.IUpdateCatalogRequest, callback: google.cloud.retail.v2alpha.CatalogService.UpdateCatalogCallback): void;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @returns Promise
+ */
+ public updateCatalog(request: google.cloud.retail.v2alpha.IUpdateCatalogRequest): Promise;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2alpha.ISetDefaultBranchRequest, callback: google.cloud.retail.v2alpha.CatalogService.SetDefaultBranchCallback): void;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2alpha.ISetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GetDefaultBranchResponse
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2alpha.IGetDefaultBranchRequest, callback: google.cloud.retail.v2alpha.CatalogService.GetDefaultBranchCallback): void;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2alpha.IGetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2alpha.IGetCompletionConfigRequest, callback: google.cloud.retail.v2alpha.CatalogService.GetCompletionConfigCallback): void;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2alpha.IGetCompletionConfigRequest): Promise;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest, callback: google.cloud.retail.v2alpha.CatalogService.UpdateCompletionConfigCallback): void;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest): Promise;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2alpha.IGetAttributesConfigRequest, callback: google.cloud.retail.v2alpha.CatalogService.GetAttributesConfigCallback): void;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2alpha.IGetAttributesConfigRequest): Promise;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest, callback: google.cloud.retail.v2alpha.CatalogService.UpdateAttributesConfigCallback): void;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest): Promise;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest, callback: google.cloud.retail.v2alpha.CatalogService.AddCatalogAttributeCallback): void;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest, callback: google.cloud.retail.v2alpha.CatalogService.RemoveCatalogAttributeCallback): void;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest, callback: google.cloud.retail.v2alpha.CatalogService.ReplaceCatalogAttributeCallback): void;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest): Promise;
+ }
+
+ namespace CatalogService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|listCatalogs}.
+ * @param error Error, if any
+ * @param [response] ListCatalogsResponse
+ */
+ type ListCatalogsCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ListCatalogsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|updateCatalog}.
+ * @param error Error, if any
+ * @param [response] Catalog
+ */
+ type UpdateCatalogCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Catalog) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|setDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type SetDefaultBranchCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|getDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] GetDefaultBranchResponse
+ */
+ type GetDefaultBranchCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.GetDefaultBranchResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|getCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type GetCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|updateCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type UpdateCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|getAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type GetAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|updateAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type UpdateAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|addCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type AddCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|removeCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type RemoveCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CatalogService|replaceCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type ReplaceCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.AttributesConfig) => void;
+ }
+
+ /** Properties of a ListCatalogsRequest. */
+ interface IListCatalogsRequest {
+
+ /** ListCatalogsRequest parent */
+ parent?: (string|null);
+
+ /** ListCatalogsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCatalogsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsRequest. */
+ class ListCatalogsRequest implements IListCatalogsRequest {
+
+ /**
+ * Constructs a new ListCatalogsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListCatalogsRequest);
+
+ /** ListCatalogsRequest parent. */
+ public parent: string;
+
+ /** ListCatalogsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCatalogsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListCatalogsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListCatalogsRequest): google.cloud.retail.v2alpha.ListCatalogsRequest;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListCatalogsRequest;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ListCatalogsRequest;
+
+ /**
+ * Verifies a ListCatalogsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListCatalogsRequest;
+
+ /**
+ * Creates a plain object from a ListCatalogsRequest message. Also converts values to other types if specified.
+ * @param message ListCatalogsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListCatalogsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCatalogsResponse. */
+ interface IListCatalogsResponse {
+
+ /** ListCatalogsResponse catalogs */
+ catalogs?: (google.cloud.retail.v2alpha.ICatalog[]|null);
+
+ /** ListCatalogsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsResponse. */
+ class ListCatalogsResponse implements IListCatalogsResponse {
+
+ /**
+ * Constructs a new ListCatalogsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListCatalogsResponse);
+
+ /** ListCatalogsResponse catalogs. */
+ public catalogs: google.cloud.retail.v2alpha.ICatalog[];
+
+ /** ListCatalogsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListCatalogsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListCatalogsResponse): google.cloud.retail.v2alpha.ListCatalogsResponse;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListCatalogsResponse;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ListCatalogsResponse;
+
+ /**
+ * Verifies a ListCatalogsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListCatalogsResponse;
+
+ /**
+ * Creates a plain object from a ListCatalogsResponse message. Also converts values to other types if specified.
+ * @param message ListCatalogsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListCatalogsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCatalogRequest. */
+ interface IUpdateCatalogRequest {
+
+ /** UpdateCatalogRequest catalog */
+ catalog?: (google.cloud.retail.v2alpha.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCatalogRequest. */
+ class UpdateCatalogRequest implements IUpdateCatalogRequest {
+
+ /**
+ * Constructs a new UpdateCatalogRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateCatalogRequest);
+
+ /** UpdateCatalogRequest catalog. */
+ public catalog?: (google.cloud.retail.v2alpha.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCatalogRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCatalogRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateCatalogRequest): google.cloud.retail.v2alpha.UpdateCatalogRequest;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateCatalogRequest;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateCatalogRequest;
+
+ /**
+ * Verifies an UpdateCatalogRequest message.
+ * @param message Plain 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 UpdateCatalogRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCatalogRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateCatalogRequest;
+
+ /**
+ * Creates a plain object from an UpdateCatalogRequest message. Also converts values to other types if specified.
+ * @param message UpdateCatalogRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateCatalogRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCatalogRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCatalogRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetDefaultBranchRequest. */
+ interface ISetDefaultBranchRequest {
+
+ /** SetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+
+ /** SetDefaultBranchRequest branchId */
+ branchId?: (string|null);
+
+ /** SetDefaultBranchRequest note */
+ note?: (string|null);
+
+ /** SetDefaultBranchRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a SetDefaultBranchRequest. */
+ class SetDefaultBranchRequest implements ISetDefaultBranchRequest {
+
+ /**
+ * Constructs a new SetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISetDefaultBranchRequest);
+
+ /** SetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /** SetDefaultBranchRequest branchId. */
+ public branchId: string;
+
+ /** SetDefaultBranchRequest note. */
+ public note: string;
+
+ /** SetDefaultBranchRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new SetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISetDefaultBranchRequest): google.cloud.retail.v2alpha.SetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SetDefaultBranchRequest;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.SetDefaultBranchRequest;
+
+ /**
+ * Verifies a SetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a SetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message SetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchRequest. */
+ interface IGetDefaultBranchRequest {
+
+ /** GetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchRequest. */
+ class GetDefaultBranchRequest implements IGetDefaultBranchRequest {
+
+ /**
+ * Constructs a new GetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetDefaultBranchRequest);
+
+ /** GetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /**
+ * Creates a new GetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetDefaultBranchRequest): google.cloud.retail.v2alpha.GetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetDefaultBranchRequest;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetDefaultBranchRequest;
+
+ /**
+ * Verifies a GetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchResponse. */
+ interface IGetDefaultBranchResponse {
+
+ /** GetDefaultBranchResponse branch */
+ branch?: (string|null);
+
+ /** GetDefaultBranchResponse setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note */
+ note?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchResponse. */
+ class GetDefaultBranchResponse implements IGetDefaultBranchResponse {
+
+ /**
+ * Constructs a new GetDefaultBranchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetDefaultBranchResponse);
+
+ /** GetDefaultBranchResponse branch. */
+ public branch: string;
+
+ /** GetDefaultBranchResponse setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note. */
+ public note: string;
+
+ /**
+ * Creates a new GetDefaultBranchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetDefaultBranchResponse): google.cloud.retail.v2alpha.GetDefaultBranchResponse;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetDefaultBranchResponse;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.GetDefaultBranchResponse;
+
+ /**
+ * Verifies a GetDefaultBranchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetDefaultBranchResponse;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchResponse message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetDefaultBranchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCompletionConfigRequest. */
+ interface IGetCompletionConfigRequest {
+
+ /** GetCompletionConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCompletionConfigRequest. */
+ class GetCompletionConfigRequest implements IGetCompletionConfigRequest {
+
+ /**
+ * Constructs a new GetCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetCompletionConfigRequest);
+
+ /** GetCompletionConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetCompletionConfigRequest): google.cloud.retail.v2alpha.GetCompletionConfigRequest;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetCompletionConfigRequest;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetCompletionConfigRequest;
+
+ /**
+ * Verifies a GetCompletionConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from a GetCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message GetCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCompletionConfigRequest. */
+ interface IUpdateCompletionConfigRequest {
+
+ /** UpdateCompletionConfigRequest completionConfig */
+ completionConfig?: (google.cloud.retail.v2alpha.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCompletionConfigRequest. */
+ class UpdateCompletionConfigRequest implements IUpdateCompletionConfigRequest {
+
+ /**
+ * Constructs a new UpdateCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest);
+
+ /** UpdateCompletionConfigRequest completionConfig. */
+ public completionConfig?: (google.cloud.retail.v2alpha.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest): google.cloud.retail.v2alpha.UpdateCompletionConfigRequest;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateCompletionConfigRequest;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateCompletionConfigRequest;
+
+ /**
+ * Verifies an UpdateCompletionConfigRequest message.
+ * @param message Plain 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 UpdateCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAttributesConfigRequest. */
+ interface IGetAttributesConfigRequest {
+
+ /** GetAttributesConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAttributesConfigRequest. */
+ class GetAttributesConfigRequest implements IGetAttributesConfigRequest {
+
+ /**
+ * Constructs a new GetAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetAttributesConfigRequest);
+
+ /** GetAttributesConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetAttributesConfigRequest): google.cloud.retail.v2alpha.GetAttributesConfigRequest;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetAttributesConfigRequest;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetAttributesConfigRequest;
+
+ /**
+ * Verifies a GetAttributesConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from a GetAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message GetAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAttributesConfigRequest. */
+ interface IUpdateAttributesConfigRequest {
+
+ /** UpdateAttributesConfigRequest attributesConfig */
+ attributesConfig?: (google.cloud.retail.v2alpha.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateAttributesConfigRequest. */
+ class UpdateAttributesConfigRequest implements IUpdateAttributesConfigRequest {
+
+ /**
+ * Constructs a new UpdateAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest);
+
+ /** UpdateAttributesConfigRequest attributesConfig. */
+ public attributesConfig?: (google.cloud.retail.v2alpha.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest): google.cloud.retail.v2alpha.UpdateAttributesConfigRequest;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateAttributesConfigRequest;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateAttributesConfigRequest;
+
+ /**
+ * Verifies an UpdateAttributesConfigRequest message.
+ * @param message Plain 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 UpdateAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddCatalogAttributeRequest. */
+ interface IAddCatalogAttributeRequest {
+
+ /** AddCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** AddCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2alpha.ICatalogAttribute|null);
+ }
+
+ /** Represents an AddCatalogAttributeRequest. */
+ class AddCatalogAttributeRequest implements IAddCatalogAttributeRequest {
+
+ /**
+ * Constructs a new AddCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest);
+
+ /** AddCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** AddCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2alpha.ICatalogAttribute|null);
+
+ /**
+ * Creates a new AddCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest): google.cloud.retail.v2alpha.AddCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddCatalogAttributeRequest;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.AddCatalogAttributeRequest;
+
+ /**
+ * Verifies an AddCatalogAttributeRequest message.
+ * @param message Plain 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 AddCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from an AddCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message AddCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveCatalogAttributeRequest. */
+ interface IRemoveCatalogAttributeRequest {
+
+ /** RemoveCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** RemoveCatalogAttributeRequest key */
+ key?: (string|null);
+ }
+
+ /** Represents a RemoveCatalogAttributeRequest. */
+ class RemoveCatalogAttributeRequest implements IRemoveCatalogAttributeRequest {
+
+ /**
+ * Constructs a new RemoveCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest);
+
+ /** RemoveCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** RemoveCatalogAttributeRequest key. */
+ public key: string;
+
+ /**
+ * Creates a new RemoveCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest): google.cloud.retail.v2alpha.RemoveCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveCatalogAttributeRequest;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveCatalogAttributeRequest;
+
+ /**
+ * Verifies a RemoveCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a RemoveCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message RemoveCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplaceCatalogAttributeRequest. */
+ interface IReplaceCatalogAttributeRequest {
+
+ /** ReplaceCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2alpha.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a ReplaceCatalogAttributeRequest. */
+ class ReplaceCatalogAttributeRequest implements IReplaceCatalogAttributeRequest {
+
+ /**
+ * Constructs a new ReplaceCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest);
+
+ /** ReplaceCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2alpha.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new ReplaceCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplaceCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest): google.cloud.retail.v2alpha.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Verifies a ReplaceCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplaceCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplaceCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a ReplaceCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message ReplaceCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ReplaceCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplaceCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplaceCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CompletionService */
+ class CompletionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CompletionService 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 CompletionService 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): CompletionService;
+
+ /**
+ * 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.retail.v2alpha.ICompleteQueryRequest, callback: google.cloud.retail.v2alpha.CompletionService.CompleteQueryCallback): void;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @returns Promise
+ */
+ public completeQuery(request: google.cloud.retail.v2alpha.ICompleteQueryRequest): Promise;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importCompletionData(request: google.cloud.retail.v2alpha.IImportCompletionDataRequest, callback: google.cloud.retail.v2alpha.CompletionService.ImportCompletionDataCallback): void;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @returns Promise
+ */
+ public importCompletionData(request: google.cloud.retail.v2alpha.IImportCompletionDataRequest): Promise;
+ }
+
+ namespace CompletionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CompletionService|completeQuery}.
+ * @param error Error, if any
+ * @param [response] CompleteQueryResponse
+ */
+ type CompleteQueryCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.CompleteQueryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.CompletionService|importCompletionData}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportCompletionDataCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CompleteQueryRequest. */
+ interface ICompleteQueryRequest {
+
+ /** CompleteQueryRequest catalog */
+ catalog?: (string|null);
+
+ /** CompleteQueryRequest query */
+ query?: (string|null);
+
+ /** CompleteQueryRequest visitorId */
+ visitorId?: (string|null);
+
+ /** CompleteQueryRequest languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** CompleteQueryRequest deviceType */
+ deviceType?: (string|null);
+
+ /** CompleteQueryRequest dataset */
+ dataset?: (string|null);
+
+ /** CompleteQueryRequest maxSuggestions */
+ maxSuggestions?: (number|null);
+ }
+
+ /** Represents a CompleteQueryRequest. */
+ class CompleteQueryRequest implements ICompleteQueryRequest {
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICompleteQueryRequest);
+
+ /** CompleteQueryRequest catalog. */
+ public catalog: string;
+
+ /** CompleteQueryRequest query. */
+ public query: string;
+
+ /** CompleteQueryRequest visitorId. */
+ public visitorId: string;
+
+ /** CompleteQueryRequest languageCodes. */
+ public languageCodes: string[];
+
+ /** CompleteQueryRequest deviceType. */
+ public deviceType: string;
+
+ /** CompleteQueryRequest dataset. */
+ public dataset: string;
+
+ /** CompleteQueryRequest maxSuggestions. */
+ public maxSuggestions: number;
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICompleteQueryRequest): google.cloud.retail.v2alpha.CompleteQueryRequest;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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;
+ }
+
+ /** Properties of a CompleteQueryResponse. */
+ interface ICompleteQueryResponse {
+
+ /** CompleteQueryResponse completionResults */
+ completionResults?: (google.cloud.retail.v2alpha.CompleteQueryResponse.ICompletionResult[]|null);
+
+ /** CompleteQueryResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** CompleteQueryResponse recentSearchResults */
+ recentSearchResults?: (google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult[]|null);
+ }
+
+ /** Represents a CompleteQueryResponse. */
+ class CompleteQueryResponse implements ICompleteQueryResponse {
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICompleteQueryResponse);
+
+ /** CompleteQueryResponse completionResults. */
+ public completionResults: google.cloud.retail.v2alpha.CompleteQueryResponse.ICompletionResult[];
+
+ /** CompleteQueryResponse attributionToken. */
+ public attributionToken: string;
+
+ /** CompleteQueryResponse recentSearchResults. */
+ public recentSearchResults: google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult[];
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICompleteQueryResponse): google.cloud.retail.v2alpha.CompleteQueryResponse;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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 attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2alpha.ICustomAttribute }|null);
+ }
+
+ /** Represents a CompletionResult. */
+ class CompletionResult implements ICompletionResult {
+
+ /**
+ * Constructs a new CompletionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.CompleteQueryResponse.ICompletionResult);
+
+ /** CompletionResult suggestion. */
+ public suggestion: string;
+
+ /** CompletionResult attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2alpha.ICustomAttribute };
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.CompleteQueryResponse.ICompletionResult): google.cloud.retail.v2alpha.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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.retail.v2alpha.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 RecentSearchResult. */
+ interface IRecentSearchResult {
+
+ /** RecentSearchResult recentSearch */
+ recentSearch?: (string|null);
+ }
+
+ /** Represents a RecentSearchResult. */
+ class RecentSearchResult implements IRecentSearchResult {
+
+ /**
+ * Constructs a new RecentSearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult);
+
+ /** RecentSearchResult recentSearch. */
+ public recentSearch: string;
+
+ /**
+ * Creates a new RecentSearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecentSearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult): google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Encodes the specified RecentSearchResult message. Does not implicitly {@link google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecentSearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload 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.retail.v2alpha.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Verifies a RecentSearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecentSearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecentSearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Creates a plain object from a RecentSearchResult message. Also converts values to other types if specified.
+ * @param message RecentSearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CompleteQueryResponse.RecentSearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecentSearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RecentSearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Control. */
+ interface IControl {
+
+ /** Control facetSpec */
+ facetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IFacetSpec|null);
+
+ /** Control rule */
+ rule?: (google.cloud.retail.v2alpha.IRule|null);
+
+ /** Control name */
+ name?: (string|null);
+
+ /** Control displayName */
+ displayName?: (string|null);
+
+ /** Control associatedServingConfigIds */
+ associatedServingConfigIds?: (string[]|null);
+
+ /** Control solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2alpha.SolutionType[]|null);
+
+ /** Control searchSolutionUseCase */
+ searchSolutionUseCase?: (google.cloud.retail.v2alpha.SearchSolutionUseCase[]|null);
+ }
+
+ /** Represents a Control. */
+ class Control implements IControl {
+
+ /**
+ * Constructs a new Control.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IControl);
+
+ /** Control facetSpec. */
+ public facetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IFacetSpec|null);
+
+ /** Control rule. */
+ public rule?: (google.cloud.retail.v2alpha.IRule|null);
+
+ /** Control name. */
+ public name: string;
+
+ /** Control displayName. */
+ public displayName: string;
+
+ /** Control associatedServingConfigIds. */
+ public associatedServingConfigIds: string[];
+
+ /** Control solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2alpha.SolutionType[];
+
+ /** Control searchSolutionUseCase. */
+ public searchSolutionUseCase: google.cloud.retail.v2alpha.SearchSolutionUseCase[];
+
+ /** Control control. */
+ public control?: ("facetSpec"|"rule");
+
+ /**
+ * Creates a new Control instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Control instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IControl): google.cloud.retail.v2alpha.Control;
+
+ /**
+ * Encodes the specified Control message. Does not implicitly {@link google.cloud.retail.v2alpha.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Control message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Control
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Control;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Control
+ * @throws {Error} If the payload 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.retail.v2alpha.Control;
+
+ /**
+ * Verifies a Control message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Control message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Control
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Control;
+
+ /**
+ * Creates a plain object from a Control message. Also converts values to other types if specified.
+ * @param message Control
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Control, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Control to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Control
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a SearchService */
+ class SearchService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SearchService 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 SearchService 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): SearchService;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchResponse
+ */
+ public search(request: google.cloud.retail.v2alpha.ISearchRequest, callback: google.cloud.retail.v2alpha.SearchService.SearchCallback): void;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @returns Promise
+ */
+ public search(request: google.cloud.retail.v2alpha.ISearchRequest): Promise;
+ }
+
+ namespace SearchService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.SearchService|search}.
+ * @param error Error, if any
+ * @param [response] SearchResponse
+ */
+ type SearchCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.SearchResponse) => void;
+ }
+
+ /** Properties of a SearchRequest. */
+ interface ISearchRequest {
+
+ /** SearchRequest placement */
+ placement?: (string|null);
+
+ /** SearchRequest branch */
+ branch?: (string|null);
+
+ /** SearchRequest query */
+ query?: (string|null);
+
+ /** SearchRequest visitorId */
+ visitorId?: (string|null);
+
+ /** SearchRequest userInfo */
+ userInfo?: (google.cloud.retail.v2alpha.IUserInfo|null);
+
+ /** SearchRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchRequest offset */
+ offset?: (number|null);
+
+ /** SearchRequest filter */
+ filter?: (string|null);
+
+ /** SearchRequest canonicalFilter */
+ canonicalFilter?: (string|null);
+
+ /** SearchRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchRequest facetSpecs */
+ facetSpecs?: (google.cloud.retail.v2alpha.SearchRequest.IFacetSpec[]|null);
+
+ /** SearchRequest dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec */
+ boostSpec?: (google.cloud.retail.v2alpha.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec */
+ queryExpansionSpec?: (google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest relevanceThreshold */
+ relevanceThreshold?: (google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold|keyof typeof google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold|null);
+
+ /** SearchRequest variantRollupKeys */
+ variantRollupKeys?: (string[]|null);
+
+ /** SearchRequest pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** SearchRequest searchMode */
+ searchMode?: (google.cloud.retail.v2alpha.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.SearchMode|null);
+
+ /** SearchRequest personalizationSpec */
+ personalizationSpec?: (google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** SearchRequest spellCorrectionSpec */
+ spellCorrectionSpec?: (google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec|null);
+ }
+
+ /** Represents a SearchRequest. */
+ class SearchRequest implements ISearchRequest {
+
+ /**
+ * Constructs a new SearchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISearchRequest);
+
+ /** SearchRequest placement. */
+ public placement: string;
+
+ /** SearchRequest branch. */
+ public branch: string;
+
+ /** SearchRequest query. */
+ public query: string;
+
+ /** SearchRequest visitorId. */
+ public visitorId: string;
+
+ /** SearchRequest userInfo. */
+ public userInfo?: (google.cloud.retail.v2alpha.IUserInfo|null);
+
+ /** SearchRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchRequest offset. */
+ public offset: number;
+
+ /** SearchRequest filter. */
+ public filter: string;
+
+ /** SearchRequest canonicalFilter. */
+ public canonicalFilter: string;
+
+ /** SearchRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchRequest facetSpecs. */
+ public facetSpecs: google.cloud.retail.v2alpha.SearchRequest.IFacetSpec[];
+
+ /** SearchRequest dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec. */
+ public boostSpec?: (google.cloud.retail.v2alpha.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec. */
+ public queryExpansionSpec?: (google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest relevanceThreshold. */
+ public relevanceThreshold: (google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold|keyof typeof google.cloud.retail.v2alpha.SearchRequest.RelevanceThreshold);
+
+ /** SearchRequest variantRollupKeys. */
+ public variantRollupKeys: string[];
+
+ /** SearchRequest pageCategories. */
+ public pageCategories: string[];
+
+ /** SearchRequest searchMode. */
+ public searchMode: (google.cloud.retail.v2alpha.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.SearchMode);
+
+ /** SearchRequest personalizationSpec. */
+ public personalizationSpec?: (google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** SearchRequest spellCorrectionSpec. */
+ public spellCorrectionSpec?: (google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec|null);
+
+ /** SearchRequest _spellCorrectionSpec. */
+ public _spellCorrectionSpec?: "spellCorrectionSpec";
+
+ /**
+ * Creates a new SearchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISearchRequest): google.cloud.retail.v2alpha.SearchRequest;
+
+ /**
+ * Encodes the specified SearchRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest;
+
+ /**
+ * Verifies a SearchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest;
+
+ /**
+ * Creates a plain object from a SearchRequest message. Also converts values to other types if specified.
+ * @param message SearchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchRequest {
+
+ /** Properties of a FacetSpec. */
+ interface IFacetSpec {
+
+ /** FacetSpec facetKey */
+ facetKey?: (google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit */
+ limit?: (number|null);
+
+ /** FacetSpec excludedFilterKeys */
+ excludedFilterKeys?: (string[]|null);
+
+ /** FacetSpec enableDynamicPosition */
+ enableDynamicPosition?: (boolean|null);
+ }
+
+ /** Represents a FacetSpec. */
+ class FacetSpec implements IFacetSpec {
+
+ /**
+ * Constructs a new FacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.IFacetSpec);
+
+ /** FacetSpec facetKey. */
+ public facetKey?: (google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit. */
+ public limit: number;
+
+ /** FacetSpec excludedFilterKeys. */
+ public excludedFilterKeys: string[];
+
+ /** FacetSpec enableDynamicPosition. */
+ public enableDynamicPosition: boolean;
+
+ /**
+ * Creates a new FacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.IFacetSpec): google.cloud.retail.v2alpha.SearchRequest.FacetSpec;
+
+ /**
+ * Encodes the specified FacetSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.FacetSpec;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.FacetSpec;
+
+ /**
+ * Verifies a FacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.FacetSpec;
+
+ /**
+ * Creates a plain object from a FacetSpec message. Also converts values to other types if specified.
+ * @param message FacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.FacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FacetSpec {
+
+ /** Properties of a FacetKey. */
+ interface IFacetKey {
+
+ /** FacetKey key */
+ key?: (string|null);
+
+ /** FacetKey intervals */
+ intervals?: (google.cloud.retail.v2alpha.IInterval[]|null);
+
+ /** FacetKey restrictedValues */
+ restrictedValues?: (string[]|null);
+
+ /** FacetKey prefixes */
+ prefixes?: (string[]|null);
+
+ /** FacetKey contains */
+ contains?: (string[]|null);
+
+ /** FacetKey caseInsensitive */
+ caseInsensitive?: (boolean|null);
+
+ /** FacetKey orderBy */
+ orderBy?: (string|null);
+
+ /** FacetKey query */
+ query?: (string|null);
+
+ /** FacetKey returnMinMax */
+ returnMinMax?: (boolean|null);
+ }
+
+ /** Represents a FacetKey. */
+ class FacetKey implements IFacetKey {
+
+ /**
+ * Constructs a new FacetKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey);
+
+ /** FacetKey key. */
+ public key: string;
+
+ /** FacetKey intervals. */
+ public intervals: google.cloud.retail.v2alpha.IInterval[];
+
+ /** FacetKey restrictedValues. */
+ public restrictedValues: string[];
+
+ /** FacetKey prefixes. */
+ public prefixes: string[];
+
+ /** FacetKey contains. */
+ public contains: string[];
+
+ /** FacetKey caseInsensitive. */
+ public caseInsensitive: boolean;
+
+ /** FacetKey orderBy. */
+ public orderBy: string;
+
+ /** FacetKey query. */
+ public query: string;
+
+ /** FacetKey returnMinMax. */
+ public returnMinMax: boolean;
+
+ /**
+ * Creates a new FacetKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetKey instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey): google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Encodes the specified FacetKey message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetKey message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetKey
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetKey
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Verifies a FacetKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Creates a plain object from a FacetKey message. Also converts values to other types if specified.
+ * @param message FacetKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.FacetSpec.FacetKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a DynamicFacetSpec. */
+ interface IDynamicFacetSpec {
+
+ /** DynamicFacetSpec mode */
+ mode?: (google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode|null);
+ }
+
+ /** Represents a DynamicFacetSpec. */
+ class DynamicFacetSpec implements IDynamicFacetSpec {
+
+ /**
+ * Constructs a new DynamicFacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec);
+
+ /** DynamicFacetSpec mode. */
+ public mode: (google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.Mode);
+
+ /**
+ * Creates a new DynamicFacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DynamicFacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec): google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Verifies a DynamicFacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DynamicFacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DynamicFacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Creates a plain object from a DynamicFacetSpec message. Also converts values to other types if specified.
+ * @param message DynamicFacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.DynamicFacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DynamicFacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DynamicFacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DynamicFacetSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ DISABLED = 1,
+ ENABLED = 2
+ }
+ }
+
+ /** Properties of a BoostSpec. */
+ interface IBoostSpec {
+
+ /** BoostSpec conditionBoostSpecs */
+ conditionBoostSpecs?: (google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+
+ /** BoostSpec skipBoostSpecValidation */
+ skipBoostSpecValidation?: (boolean|null);
+ }
+
+ /** Represents a BoostSpec. */
+ class BoostSpec implements IBoostSpec {
+
+ /**
+ * Constructs a new BoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.IBoostSpec);
+
+ /** BoostSpec conditionBoostSpecs. */
+ public conditionBoostSpecs: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /** BoostSpec skipBoostSpecValidation. */
+ public skipBoostSpecValidation?: (boolean|null);
+
+ /** BoostSpec _skipBoostSpecValidation. */
+ public _skipBoostSpecValidation?: "skipBoostSpecValidation";
+
+ /**
+ * Creates a new BoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.IBoostSpec): google.cloud.retail.v2alpha.SearchRequest.BoostSpec;
+
+ /**
+ * Encodes the specified BoostSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.BoostSpec;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.BoostSpec;
+
+ /**
+ * Verifies a BoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.BoostSpec;
+
+ /**
+ * Creates a plain object from a BoostSpec message. Also converts values to other types if specified.
+ * @param message BoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.BoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BoostSpec {
+
+ /** Properties of a ConditionBoostSpec. */
+ interface IConditionBoostSpec {
+
+ /** ConditionBoostSpec condition */
+ condition?: (string|null);
+
+ /** ConditionBoostSpec boost */
+ boost?: (number|null);
+ }
+
+ /** Represents a ConditionBoostSpec. */
+ class ConditionBoostSpec implements IConditionBoostSpec {
+
+ /**
+ * Constructs a new ConditionBoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec);
+
+ /** ConditionBoostSpec condition. */
+ public condition: string;
+
+ /** ConditionBoostSpec boost. */
+ public boost: number;
+
+ /**
+ * Creates a new ConditionBoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConditionBoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec): google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Verifies a ConditionBoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConditionBoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConditionBoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Creates a plain object from a ConditionBoostSpec message. Also converts values to other types if specified.
+ * @param message ConditionBoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.ConditionBoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConditionBoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConditionBoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionSpec. */
+ interface IQueryExpansionSpec {
+
+ /** QueryExpansionSpec condition */
+ condition?: (google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition|null);
+
+ /** QueryExpansionSpec pinUnexpandedResults */
+ pinUnexpandedResults?: (boolean|null);
+ }
+
+ /** Represents a QueryExpansionSpec. */
+ class QueryExpansionSpec implements IQueryExpansionSpec {
+
+ /**
+ * Constructs a new QueryExpansionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec);
+
+ /** QueryExpansionSpec condition. */
+ public condition: (google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.Condition);
+
+ /** QueryExpansionSpec pinUnexpandedResults. */
+ public pinUnexpandedResults: boolean;
+
+ /**
+ * Creates a new QueryExpansionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec): google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Verifies a QueryExpansionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Creates a plain object from a QueryExpansionSpec message. Also converts values to other types if specified.
+ * @param message QueryExpansionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.QueryExpansionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace QueryExpansionSpec {
+
+ /** Condition enum. */
+ enum Condition {
+ CONDITION_UNSPECIFIED = 0,
+ DISABLED = 1,
+ AUTO = 3
+ }
+ }
+
+ /** Properties of a PersonalizationSpec. */
+ interface IPersonalizationSpec {
+
+ /** PersonalizationSpec mode */
+ mode?: (google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode|null);
+ }
+
+ /** Represents a PersonalizationSpec. */
+ class PersonalizationSpec implements IPersonalizationSpec {
+
+ /**
+ * Constructs a new PersonalizationSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec);
+
+ /** PersonalizationSpec mode. */
+ public mode: (google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode);
+
+ /**
+ * Creates a new PersonalizationSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonalizationSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec): google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Encodes the specified PersonalizationSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonalizationSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Verifies a PersonalizationSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonalizationSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonalizationSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Creates a plain object from a PersonalizationSpec message. Also converts values to other types if specified.
+ * @param message PersonalizationSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonalizationSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonalizationSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PersonalizationSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ AUTO = 1,
+ DISABLED = 2
+ }
+ }
+
+ /** Properties of a SpellCorrectionSpec. */
+ interface ISpellCorrectionSpec {
+
+ /** SpellCorrectionSpec mode */
+ mode?: (google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode|null);
+ }
+
+ /** Represents a SpellCorrectionSpec. */
+ class SpellCorrectionSpec implements ISpellCorrectionSpec {
+
+ /**
+ * Constructs a new SpellCorrectionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec);
+
+ /** SpellCorrectionSpec mode. */
+ public mode: (google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.Mode);
+
+ /**
+ * Creates a new SpellCorrectionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpellCorrectionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec): google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Verifies a SpellCorrectionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpellCorrectionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpellCorrectionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Creates a plain object from a SpellCorrectionSpec message. Also converts values to other types if specified.
+ * @param message SpellCorrectionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchRequest.SpellCorrectionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpellCorrectionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpellCorrectionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SpellCorrectionSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ SUGGESTION_ONLY = 1,
+ AUTO = 2
+ }
+ }
+
+ /** RelevanceThreshold enum. */
+ enum RelevanceThreshold {
+ RELEVANCE_THRESHOLD_UNSPECIFIED = 0,
+ HIGH = 1,
+ MEDIUM = 2,
+ LOW = 3,
+ LOWEST = 4
+ }
+
+ /** SearchMode enum. */
+ enum SearchMode {
+ SEARCH_MODE_UNSPECIFIED = 0,
+ PRODUCT_SEARCH_ONLY = 1,
+ FACETED_SEARCH_ONLY = 2
+ }
+ }
+
+ /** Properties of a SearchResponse. */
+ interface ISearchResponse {
+
+ /** SearchResponse results */
+ results?: (google.cloud.retail.v2alpha.SearchResponse.ISearchResult[]|null);
+
+ /** SearchResponse facets */
+ facets?: (google.cloud.retail.v2alpha.SearchResponse.IFacet[]|null);
+
+ /** SearchResponse totalSize */
+ totalSize?: (number|null);
+
+ /** SearchResponse correctedQuery */
+ correctedQuery?: (string|null);
+
+ /** SearchResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** SearchResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** SearchResponse queryExpansionInfo */
+ queryExpansionInfo?: (google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri */
+ redirectUri?: (string|null);
+
+ /** SearchResponse appliedControls */
+ appliedControls?: (string[]|null);
+
+ /** SearchResponse invalidConditionBoostSpecs */
+ invalidConditionBoostSpecs?: (google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+ }
+
+ /** Represents a SearchResponse. */
+ class SearchResponse implements ISearchResponse {
+
+ /**
+ * Constructs a new SearchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISearchResponse);
+
+ /** SearchResponse results. */
+ public results: google.cloud.retail.v2alpha.SearchResponse.ISearchResult[];
+
+ /** SearchResponse facets. */
+ public facets: google.cloud.retail.v2alpha.SearchResponse.IFacet[];
+
+ /** SearchResponse totalSize. */
+ public totalSize: number;
+
+ /** SearchResponse correctedQuery. */
+ public correctedQuery: string;
+
+ /** SearchResponse attributionToken. */
+ public attributionToken: string;
+
+ /** SearchResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** SearchResponse queryExpansionInfo. */
+ public queryExpansionInfo?: (google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri. */
+ public redirectUri: string;
+
+ /** SearchResponse appliedControls. */
+ public appliedControls: string[];
+
+ /** SearchResponse invalidConditionBoostSpecs. */
+ public invalidConditionBoostSpecs: google.cloud.retail.v2alpha.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /**
+ * Creates a new SearchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISearchResponse): google.cloud.retail.v2alpha.SearchResponse;
+
+ /**
+ * Encodes the specified SearchResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchResponse;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchResponse;
+
+ /**
+ * Verifies a SearchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchResponse;
+
+ /**
+ * Creates a plain object from a SearchResponse message. Also converts values to other types if specified.
+ * @param message SearchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchResponse {
+
+ /** Properties of a SearchResult. */
+ interface ISearchResult {
+
+ /** SearchResult id */
+ id?: (string|null);
+
+ /** SearchResult product */
+ product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** SearchResult matchingVariantCount */
+ matchingVariantCount?: (number|null);
+
+ /** SearchResult matchingVariantFields */
+ matchingVariantFields?: ({ [k: string]: google.protobuf.IFieldMask }|null);
+
+ /** SearchResult variantRollupValues */
+ variantRollupValues?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a SearchResult. */
+ class SearchResult implements ISearchResult {
+
+ /**
+ * Constructs a new SearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchResponse.ISearchResult);
+
+ /** SearchResult id. */
+ public id: string;
+
+ /** SearchResult product. */
+ public product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** SearchResult matchingVariantCount. */
+ public matchingVariantCount: number;
+
+ /** SearchResult matchingVariantFields. */
+ public matchingVariantFields: { [k: string]: google.protobuf.IFieldMask };
+
+ /** SearchResult variantRollupValues. */
+ public variantRollupValues: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new SearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchResponse.ISearchResult): google.cloud.retail.v2alpha.SearchResponse.SearchResult;
+
+ /**
+ * Encodes the specified SearchResult message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResult
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchResponse.SearchResult;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResult
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchResponse.SearchResult;
+
+ /**
+ * Verifies a SearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchResponse.SearchResult;
+
+ /**
+ * Creates a plain object from a SearchResult message. Also converts values to other types if specified.
+ * @param message SearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchResponse.SearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Facet. */
+ interface IFacet {
+
+ /** Facet key */
+ key?: (string|null);
+
+ /** Facet values */
+ values?: (google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue[]|null);
+
+ /** Facet dynamicFacet */
+ dynamicFacet?: (boolean|null);
+ }
+
+ /** Represents a Facet. */
+ class Facet implements IFacet {
+
+ /**
+ * Constructs a new Facet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchResponse.IFacet);
+
+ /** Facet key. */
+ public key: string;
+
+ /** Facet values. */
+ public values: google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue[];
+
+ /** Facet dynamicFacet. */
+ public dynamicFacet: boolean;
+
+ /**
+ * Creates a new Facet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Facet instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchResponse.IFacet): google.cloud.retail.v2alpha.SearchResponse.Facet;
+
+ /**
+ * Encodes the specified Facet message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Facet message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Facet
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchResponse.Facet;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Facet
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchResponse.Facet;
+
+ /**
+ * Verifies a Facet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Facet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Facet
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchResponse.Facet;
+
+ /**
+ * Creates a plain object from a Facet message. Also converts values to other types if specified.
+ * @param message Facet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchResponse.Facet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Facet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Facet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Facet {
+
+ /** Properties of a FacetValue. */
+ interface IFacetValue {
+
+ /** FacetValue value */
+ value?: (string|null);
+
+ /** FacetValue interval */
+ interval?: (google.cloud.retail.v2alpha.IInterval|null);
+
+ /** FacetValue count */
+ count?: (number|Long|string|null);
+
+ /** FacetValue minValue */
+ minValue?: (number|null);
+
+ /** FacetValue maxValue */
+ maxValue?: (number|null);
+ }
+
+ /** Represents a FacetValue. */
+ class FacetValue implements IFacetValue {
+
+ /**
+ * Constructs a new FacetValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue);
+
+ /** FacetValue value. */
+ public value?: (string|null);
+
+ /** FacetValue interval. */
+ public interval?: (google.cloud.retail.v2alpha.IInterval|null);
+
+ /** FacetValue count. */
+ public count: (number|Long|string);
+
+ /** FacetValue minValue. */
+ public minValue: number;
+
+ /** FacetValue maxValue. */
+ public maxValue: number;
+
+ /** FacetValue facetValue. */
+ public facetValue?: ("value"|"interval");
+
+ /**
+ * Creates a new FacetValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetValue instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue): google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Encodes the specified FacetValue message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetValue message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetValue
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetValue
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Verifies a FacetValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Creates a plain object from a FacetValue message. Also converts values to other types if specified.
+ * @param message FacetValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchResponse.Facet.FacetValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionInfo. */
+ interface IQueryExpansionInfo {
+
+ /** QueryExpansionInfo expandedQuery */
+ expandedQuery?: (boolean|null);
+
+ /** QueryExpansionInfo pinnedResultCount */
+ pinnedResultCount?: (number|Long|string|null);
+ }
+
+ /** Represents a QueryExpansionInfo. */
+ class QueryExpansionInfo implements IQueryExpansionInfo {
+
+ /**
+ * Constructs a new QueryExpansionInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo);
+
+ /** QueryExpansionInfo expandedQuery. */
+ public expandedQuery: boolean;
+
+ /** QueryExpansionInfo pinnedResultCount. */
+ public pinnedResultCount: (number|Long|string);
+
+ /**
+ * Creates a new QueryExpansionInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo): google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload 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.retail.v2alpha.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Verifies a QueryExpansionInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Creates a plain object from a QueryExpansionInfo message. Also converts values to other types if specified.
+ * @param message QueryExpansionInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SearchResponse.QueryExpansionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ControlService */
+ class ControlService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ControlService 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 ControlService 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): ControlService;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public createControl(request: google.cloud.retail.v2alpha.ICreateControlRequest, callback: google.cloud.retail.v2alpha.ControlService.CreateControlCallback): void;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @returns Promise
+ */
+ public createControl(request: google.cloud.retail.v2alpha.ICreateControlRequest): Promise;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteControl(request: google.cloud.retail.v2alpha.IDeleteControlRequest, callback: google.cloud.retail.v2alpha.ControlService.DeleteControlCallback): void;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @returns Promise
+ */
+ public deleteControl(request: google.cloud.retail.v2alpha.IDeleteControlRequest): Promise;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public updateControl(request: google.cloud.retail.v2alpha.IUpdateControlRequest, callback: google.cloud.retail.v2alpha.ControlService.UpdateControlCallback): void;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @returns Promise
+ */
+ public updateControl(request: google.cloud.retail.v2alpha.IUpdateControlRequest): Promise;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public getControl(request: google.cloud.retail.v2alpha.IGetControlRequest, callback: google.cloud.retail.v2alpha.ControlService.GetControlCallback): void;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @returns Promise
+ */
+ public getControl(request: google.cloud.retail.v2alpha.IGetControlRequest): Promise;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListControlsResponse
+ */
+ public listControls(request: google.cloud.retail.v2alpha.IListControlsRequest, callback: google.cloud.retail.v2alpha.ControlService.ListControlsCallback): void;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @returns Promise
+ */
+ public listControls(request: google.cloud.retail.v2alpha.IListControlsRequest): Promise;
+ }
+
+ namespace ControlService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ControlService|createControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type CreateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ControlService|deleteControl}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteControlCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ControlService|updateControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type UpdateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ControlService|getControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type GetControlCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ControlService|listControls}.
+ * @param error Error, if any
+ * @param [response] ListControlsResponse
+ */
+ type ListControlsCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ListControlsResponse) => void;
+ }
+
+ /** Properties of a CreateControlRequest. */
+ interface ICreateControlRequest {
+
+ /** CreateControlRequest parent */
+ parent?: (string|null);
+
+ /** CreateControlRequest control */
+ control?: (google.cloud.retail.v2alpha.IControl|null);
+
+ /** CreateControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a CreateControlRequest. */
+ class CreateControlRequest implements ICreateControlRequest {
+
+ /**
+ * Constructs a new CreateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICreateControlRequest);
+
+ /** CreateControlRequest parent. */
+ public parent: string;
+
+ /** CreateControlRequest control. */
+ public control?: (google.cloud.retail.v2alpha.IControl|null);
+
+ /** CreateControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new CreateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICreateControlRequest): google.cloud.retail.v2alpha.CreateControlRequest;
+
+ /**
+ * Encodes the specified CreateControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CreateControlRequest;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.CreateControlRequest;
+
+ /**
+ * Verifies a CreateControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CreateControlRequest;
+
+ /**
+ * Creates a plain object from a CreateControlRequest message. Also converts values to other types if specified.
+ * @param message CreateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CreateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateControlRequest. */
+ interface IUpdateControlRequest {
+
+ /** UpdateControlRequest control */
+ control?: (google.cloud.retail.v2alpha.IControl|null);
+
+ /** UpdateControlRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateControlRequest. */
+ class UpdateControlRequest implements IUpdateControlRequest {
+
+ /**
+ * Constructs a new UpdateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateControlRequest);
+
+ /** UpdateControlRequest control. */
+ public control?: (google.cloud.retail.v2alpha.IControl|null);
+
+ /** UpdateControlRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateControlRequest): google.cloud.retail.v2alpha.UpdateControlRequest;
+
+ /**
+ * Encodes the specified UpdateControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateControlRequest;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateControlRequest;
+
+ /**
+ * Verifies an UpdateControlRequest message.
+ * @param message Plain 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 UpdateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateControlRequest;
+
+ /**
+ * Creates a plain object from an UpdateControlRequest message. Also converts values to other types if specified.
+ * @param message UpdateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteControlRequest. */
+ interface IDeleteControlRequest {
+
+ /** DeleteControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteControlRequest. */
+ class DeleteControlRequest implements IDeleteControlRequest {
+
+ /**
+ * Constructs a new DeleteControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IDeleteControlRequest);
+
+ /** DeleteControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IDeleteControlRequest): google.cloud.retail.v2alpha.DeleteControlRequest;
+
+ /**
+ * Encodes the specified DeleteControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.DeleteControlRequest;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.DeleteControlRequest;
+
+ /**
+ * Verifies a DeleteControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.DeleteControlRequest;
+
+ /**
+ * Creates a plain object from a DeleteControlRequest message. Also converts values to other types if specified.
+ * @param message DeleteControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.DeleteControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetControlRequest. */
+ interface IGetControlRequest {
+
+ /** GetControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetControlRequest. */
+ class GetControlRequest implements IGetControlRequest {
+
+ /**
+ * Constructs a new GetControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetControlRequest);
+
+ /** GetControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetControlRequest): google.cloud.retail.v2alpha.GetControlRequest;
+
+ /**
+ * Encodes the specified GetControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetControlRequest;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetControlRequest;
+
+ /**
+ * Verifies a GetControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetControlRequest;
+
+ /**
+ * Creates a plain object from a GetControlRequest message. Also converts values to other types if specified.
+ * @param message GetControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsRequest. */
+ interface IListControlsRequest {
+
+ /** ListControlsRequest parent */
+ parent?: (string|null);
+
+ /** ListControlsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListControlsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListControlsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListControlsRequest. */
+ class ListControlsRequest implements IListControlsRequest {
+
+ /**
+ * Constructs a new ListControlsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListControlsRequest);
+
+ /** ListControlsRequest parent. */
+ public parent: string;
+
+ /** ListControlsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListControlsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListControlsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListControlsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListControlsRequest): google.cloud.retail.v2alpha.ListControlsRequest;
+
+ /**
+ * Encodes the specified ListControlsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListControlsRequest;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ListControlsRequest;
+
+ /**
+ * Verifies a ListControlsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListControlsRequest;
+
+ /**
+ * Creates a plain object from a ListControlsRequest message. Also converts values to other types if specified.
+ * @param message ListControlsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListControlsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsResponse. */
+ interface IListControlsResponse {
+
+ /** ListControlsResponse controls */
+ controls?: (google.cloud.retail.v2alpha.IControl[]|null);
+
+ /** ListControlsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListControlsResponse. */
+ class ListControlsResponse implements IListControlsResponse {
+
+ /**
+ * Constructs a new ListControlsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListControlsResponse);
+
+ /** ListControlsResponse controls. */
+ public controls: google.cloud.retail.v2alpha.IControl[];
+
+ /** ListControlsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListControlsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListControlsResponse): google.cloud.retail.v2alpha.ListControlsResponse;
+
+ /**
+ * Encodes the specified ListControlsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListControlsResponse;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ListControlsResponse;
+
+ /**
+ * Verifies a ListControlsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListControlsResponse;
+
+ /**
+ * Creates a plain object from a ListControlsResponse message. Also converts values to other types if specified.
+ * @param message ListControlsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListControlsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportErrorsConfig. */
+ interface IExportErrorsConfig {
+
+ /** ExportErrorsConfig gcsPrefix */
+ gcsPrefix?: (string|null);
+ }
+
+ /** Represents an ExportErrorsConfig. */
+ class ExportErrorsConfig implements IExportErrorsConfig {
+
+ /**
+ * Constructs a new ExportErrorsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IExportErrorsConfig);
+
+ /** ExportErrorsConfig gcsPrefix. */
+ public gcsPrefix?: (string|null);
+
+ /** ExportErrorsConfig destination. */
+ public destination?: "gcsPrefix";
+
+ /**
+ * Creates a new ExportErrorsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportErrorsConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IExportErrorsConfig): google.cloud.retail.v2alpha.ExportErrorsConfig;
+
+ /**
+ * Encodes the specified ExportErrorsConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.ExportErrorsConfig.verify|verify} messages.
+ * @param message ExportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IExportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportErrorsConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ExportErrorsConfig.verify|verify} messages.
+ * @param message ExportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IExportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportErrorsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportErrorsConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ExportErrorsConfig;
+
+ /**
+ * Decodes an ExportErrorsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportErrorsConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.ExportErrorsConfig;
+
+ /**
+ * Verifies an ExportErrorsConfig message.
+ * @param message Plain 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 ExportErrorsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportErrorsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ExportErrorsConfig;
+
+ /**
+ * Creates a plain object from an ExportErrorsConfig message. Also converts values to other types if specified.
+ * @param message ExportErrorsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ExportErrorsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportErrorsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportErrorsConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportMetadata. */
+ interface IExportMetadata {
+
+ /** ExportMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an ExportMetadata. */
+ class ExportMetadata implements IExportMetadata {
+
+ /**
+ * Constructs a new ExportMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IExportMetadata);
+
+ /** ExportMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ExportMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IExportMetadata): google.cloud.retail.v2alpha.ExportMetadata;
+
+ /**
+ * Encodes the specified ExportMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.ExportMetadata.verify|verify} messages.
+ * @param message ExportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IExportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ExportMetadata.verify|verify} messages.
+ * @param message ExportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IExportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ExportMetadata;
+
+ /**
+ * Decodes an ExportMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.ExportMetadata;
+
+ /**
+ * Verifies an ExportMetadata message.
+ * @param message Plain 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 ExportMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ExportMetadata;
+
+ /**
+ * Creates a plain object from an ExportMetadata message. Also converts values to other types if specified.
+ * @param message ExportMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ExportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportProductsResponse. */
+ interface IExportProductsResponse {
+
+ /** ExportProductsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ExportProductsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IExportErrorsConfig|null);
+
+ /** ExportProductsResponse outputResult */
+ outputResult?: (google.cloud.retail.v2alpha.IOutputResult|null);
+ }
+
+ /** Represents an ExportProductsResponse. */
+ class ExportProductsResponse implements IExportProductsResponse {
+
+ /**
+ * Constructs a new ExportProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IExportProductsResponse);
+
+ /** ExportProductsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ExportProductsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IExportErrorsConfig|null);
+
+ /** ExportProductsResponse outputResult. */
+ public outputResult?: (google.cloud.retail.v2alpha.IOutputResult|null);
+
+ /**
+ * Creates a new ExportProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IExportProductsResponse): google.cloud.retail.v2alpha.ExportProductsResponse;
+
+ /**
+ * Encodes the specified ExportProductsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ExportProductsResponse.verify|verify} messages.
+ * @param message ExportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IExportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ExportProductsResponse.verify|verify} messages.
+ * @param message ExportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IExportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ExportProductsResponse;
+
+ /**
+ * Decodes an ExportProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportProductsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ExportProductsResponse;
+
+ /**
+ * Verifies an ExportProductsResponse message.
+ * @param message Plain 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 ExportProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ExportProductsResponse;
+
+ /**
+ * Creates a plain object from an ExportProductsResponse message. Also converts values to other types if specified.
+ * @param message ExportProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ExportProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportUserEventsResponse. */
+ interface IExportUserEventsResponse {
+
+ /** ExportUserEventsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ExportUserEventsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2alpha.IExportErrorsConfig|null);
+
+ /** ExportUserEventsResponse outputResult */
+ outputResult?: (google.cloud.retail.v2alpha.IOutputResult|null);
+ }
+
+ /** Represents an ExportUserEventsResponse. */
+ class ExportUserEventsResponse implements IExportUserEventsResponse {
+
+ /**
+ * Constructs a new ExportUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IExportUserEventsResponse);
+
+ /** ExportUserEventsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ExportUserEventsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2alpha.IExportErrorsConfig|null);
+
+ /** ExportUserEventsResponse outputResult. */
+ public outputResult?: (google.cloud.retail.v2alpha.IOutputResult|null);
+
+ /**
+ * Creates a new ExportUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IExportUserEventsResponse): google.cloud.retail.v2alpha.ExportUserEventsResponse;
+
+ /**
+ * Encodes the specified ExportUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ExportUserEventsResponse.verify|verify} messages.
+ * @param message ExportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IExportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ExportUserEventsResponse.verify|verify} messages.
+ * @param message ExportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IExportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ExportUserEventsResponse;
+
+ /**
+ * Decodes an ExportUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ExportUserEventsResponse;
+
+ /**
+ * Verifies an ExportUserEventsResponse message.
+ * @param message Plain 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 ExportUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ExportUserEventsResponse;
+
+ /**
+ * Creates a plain object from an ExportUserEventsResponse message. Also converts values to other types if specified.
+ * @param message ExportUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ExportUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputResult. */
+ interface IOutputResult {
+
+ /** OutputResult bigqueryResult */
+ bigqueryResult?: (google.cloud.retail.v2alpha.IBigQueryOutputResult[]|null);
+ }
+
+ /** Represents an OutputResult. */
+ class OutputResult implements IOutputResult {
+
+ /**
+ * Constructs a new OutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IOutputResult);
+
+ /** OutputResult bigqueryResult. */
+ public bigqueryResult: google.cloud.retail.v2alpha.IBigQueryOutputResult[];
+
+ /**
+ * Creates a new OutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IOutputResult): google.cloud.retail.v2alpha.OutputResult;
+
+ /**
+ * Encodes the specified OutputResult message. Does not implicitly {@link google.cloud.retail.v2alpha.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputResult
+ * @throws {Error} If the payload is not 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.retail.v2alpha.OutputResult;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputResult
+ * @throws {Error} If the payload 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.retail.v2alpha.OutputResult;
+
+ /**
+ * Verifies an OutputResult message.
+ * @param message Plain 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 OutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.OutputResult;
+
+ /**
+ * Creates a plain object from an OutputResult message. Also converts values to other types if specified.
+ * @param message OutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.OutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQueryOutputResult. */
+ interface IBigQueryOutputResult {
+
+ /** BigQueryOutputResult datasetId */
+ datasetId?: (string|null);
+
+ /** BigQueryOutputResult tableId */
+ tableId?: (string|null);
+ }
+
+ /** Represents a BigQueryOutputResult. */
+ class BigQueryOutputResult implements IBigQueryOutputResult {
+
+ /**
+ * Constructs a new BigQueryOutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IBigQueryOutputResult);
+
+ /** BigQueryOutputResult datasetId. */
+ public datasetId: string;
+
+ /** BigQueryOutputResult tableId. */
+ public tableId: string;
+
+ /**
+ * Creates a new BigQueryOutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryOutputResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IBigQueryOutputResult): google.cloud.retail.v2alpha.BigQueryOutputResult;
+
+ /**
+ * Encodes the specified BigQueryOutputResult message. Does not implicitly {@link google.cloud.retail.v2alpha.BigQueryOutputResult.verify|verify} messages.
+ * @param message BigQueryOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IBigQueryOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryOutputResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.BigQueryOutputResult.verify|verify} messages.
+ * @param message BigQueryOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IBigQueryOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryOutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryOutputResult
+ * @throws {Error} If the payload is not 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.retail.v2alpha.BigQueryOutputResult;
+
+ /**
+ * Decodes a BigQueryOutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryOutputResult
+ * @throws {Error} If the payload 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.retail.v2alpha.BigQueryOutputResult;
+
+ /**
+ * Verifies a BigQueryOutputResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryOutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryOutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.BigQueryOutputResult;
+
+ /**
+ * Creates a plain object from a BigQueryOutputResult message. Also converts values to other types if specified.
+ * @param message BigQueryOutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.BigQueryOutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryOutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryOutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Model. */
+ interface IModel {
+
+ /** Model pageOptimizationConfig */
+ pageOptimizationConfig?: (google.cloud.retail.v2alpha.Model.IPageOptimizationConfig|null);
+
+ /** Model name */
+ name?: (string|null);
+
+ /** Model displayName */
+ displayName?: (string|null);
+
+ /** Model trainingState */
+ trainingState?: (google.cloud.retail.v2alpha.Model.TrainingState|keyof typeof google.cloud.retail.v2alpha.Model.TrainingState|null);
+
+ /** Model servingState */
+ servingState?: (google.cloud.retail.v2alpha.Model.ServingState|keyof typeof google.cloud.retail.v2alpha.Model.ServingState|null);
+
+ /** Model createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model type */
+ type?: (string|null);
+
+ /** Model optimizationObjective */
+ optimizationObjective?: (string|null);
+
+ /** Model periodicTuningState */
+ periodicTuningState?: (google.cloud.retail.v2alpha.Model.PeriodicTuningState|keyof typeof google.cloud.retail.v2alpha.Model.PeriodicTuningState|null);
+
+ /** Model lastTuneTime */
+ lastTuneTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model tuningOperation */
+ tuningOperation?: (string|null);
+
+ /** Model dataState */
+ dataState?: (google.cloud.retail.v2alpha.Model.DataState|keyof typeof google.cloud.retail.v2alpha.Model.DataState|null);
+
+ /** Model filteringOption */
+ filteringOption?: (google.cloud.retail.v2alpha.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2alpha.RecommendationsFilteringOption|null);
+
+ /** Model servingConfigLists */
+ servingConfigLists?: (google.cloud.retail.v2alpha.Model.IServingConfigList[]|null);
+ }
+
+ /** Represents a Model. */
+ class Model implements IModel {
+
+ /**
+ * Constructs a new Model.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IModel);
+
+ /** Model pageOptimizationConfig. */
+ public pageOptimizationConfig?: (google.cloud.retail.v2alpha.Model.IPageOptimizationConfig|null);
+
+ /** Model name. */
+ public name: string;
+
+ /** Model displayName. */
+ public displayName: string;
+
+ /** Model trainingState. */
+ public trainingState: (google.cloud.retail.v2alpha.Model.TrainingState|keyof typeof google.cloud.retail.v2alpha.Model.TrainingState);
+
+ /** Model servingState. */
+ public servingState: (google.cloud.retail.v2alpha.Model.ServingState|keyof typeof google.cloud.retail.v2alpha.Model.ServingState);
+
+ /** Model createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model type. */
+ public type: string;
+
+ /** Model optimizationObjective. */
+ public optimizationObjective: string;
+
+ /** Model periodicTuningState. */
+ public periodicTuningState: (google.cloud.retail.v2alpha.Model.PeriodicTuningState|keyof typeof google.cloud.retail.v2alpha.Model.PeriodicTuningState);
+
+ /** Model lastTuneTime. */
+ public lastTuneTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model tuningOperation. */
+ public tuningOperation: string;
+
+ /** Model dataState. */
+ public dataState: (google.cloud.retail.v2alpha.Model.DataState|keyof typeof google.cloud.retail.v2alpha.Model.DataState);
+
+ /** Model filteringOption. */
+ public filteringOption: (google.cloud.retail.v2alpha.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2alpha.RecommendationsFilteringOption);
+
+ /** Model servingConfigLists. */
+ public servingConfigLists: google.cloud.retail.v2alpha.Model.IServingConfigList[];
+
+ /** Model trainingConfig. */
+ public trainingConfig?: "pageOptimizationConfig";
+
+ /**
+ * Creates a new Model instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Model instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IModel): google.cloud.retail.v2alpha.Model;
+
+ /**
+ * Encodes the specified Model message. Does not implicitly {@link google.cloud.retail.v2alpha.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Model message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Model
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Model;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Model
+ * @throws {Error} If the payload 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.retail.v2alpha.Model;
+
+ /**
+ * Verifies a Model message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Model message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Model
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Model;
+
+ /**
+ * Creates a plain object from a Model message. Also converts values to other types if specified.
+ * @param message Model
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Model, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Model to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Model
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Model {
+
+ /** Properties of a PageOptimizationConfig. */
+ interface IPageOptimizationConfig {
+
+ /** PageOptimizationConfig pageOptimizationEventType */
+ pageOptimizationEventType?: (string|null);
+
+ /** PageOptimizationConfig panels */
+ panels?: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel[]|null);
+
+ /** PageOptimizationConfig restriction */
+ restriction?: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction|keyof typeof google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction|null);
+ }
+
+ /** Represents a PageOptimizationConfig. */
+ class PageOptimizationConfig implements IPageOptimizationConfig {
+
+ /**
+ * Constructs a new PageOptimizationConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Model.IPageOptimizationConfig);
+
+ /** PageOptimizationConfig pageOptimizationEventType. */
+ public pageOptimizationEventType: string;
+
+ /** PageOptimizationConfig panels. */
+ public panels: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel[];
+
+ /** PageOptimizationConfig restriction. */
+ public restriction: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction|keyof typeof google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Restriction);
+
+ /**
+ * Creates a new PageOptimizationConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PageOptimizationConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Model.IPageOptimizationConfig): google.cloud.retail.v2alpha.Model.PageOptimizationConfig;
+
+ /**
+ * Encodes the specified PageOptimizationConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.verify|verify} messages.
+ * @param message PageOptimizationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Model.IPageOptimizationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PageOptimizationConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.verify|verify} messages.
+ * @param message PageOptimizationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Model.IPageOptimizationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PageOptimizationConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PageOptimizationConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Model.PageOptimizationConfig;
+
+ /**
+ * Decodes a PageOptimizationConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PageOptimizationConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.Model.PageOptimizationConfig;
+
+ /**
+ * Verifies a PageOptimizationConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PageOptimizationConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PageOptimizationConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Model.PageOptimizationConfig;
+
+ /**
+ * Creates a plain object from a PageOptimizationConfig message. Also converts values to other types if specified.
+ * @param message PageOptimizationConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PageOptimizationConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PageOptimizationConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PageOptimizationConfig {
+
+ /** Properties of a Candidate. */
+ interface ICandidate {
+
+ /** Candidate servingConfigId */
+ servingConfigId?: (string|null);
+ }
+
+ /** Represents a Candidate. */
+ class Candidate implements ICandidate {
+
+ /**
+ * Constructs a new Candidate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate);
+
+ /** Candidate servingConfigId. */
+ public servingConfigId?: (string|null);
+
+ /** Candidate candidate. */
+ public candidate?: "servingConfigId";
+
+ /**
+ * Creates a new Candidate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Candidate instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate): google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate;
+
+ /**
+ * Encodes the specified Candidate message. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate.verify|verify} messages.
+ * @param message Candidate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Candidate message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate.verify|verify} messages.
+ * @param message Candidate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Candidate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Candidate
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Model.PageOptimizationConfig.Candidate;
+
+ /**
+ * Decodes a Candidate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Candidate
+ * @throws {Error} If the payload 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.retail.v2alpha.Model.PageOptimizationConfig.Candidate;
+
+ /**
+ * Verifies a Candidate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Candidate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Candidate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate;
+
+ /**
+ * Creates a plain object from a Candidate message. Also converts values to other types if specified.
+ * @param message Candidate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Candidate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Candidate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Candidate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Panel. */
+ interface IPanel {
+
+ /** Panel displayName */
+ displayName?: (string|null);
+
+ /** Panel candidates */
+ candidates?: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate[]|null);
+
+ /** Panel defaultCandidate */
+ defaultCandidate?: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate|null);
+ }
+
+ /** Represents a Panel. */
+ class Panel implements IPanel {
+
+ /**
+ * Constructs a new Panel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel);
+
+ /** Panel displayName. */
+ public displayName: string;
+
+ /** Panel candidates. */
+ public candidates: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate[];
+
+ /** Panel defaultCandidate. */
+ public defaultCandidate?: (google.cloud.retail.v2alpha.Model.PageOptimizationConfig.ICandidate|null);
+
+ /**
+ * Creates a new Panel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Panel instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel): google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel;
+
+ /**
+ * Encodes the specified Panel message. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel.verify|verify} messages.
+ * @param message Panel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Panel message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel.verify|verify} messages.
+ * @param message Panel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.IPanel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Panel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Panel
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Model.PageOptimizationConfig.Panel;
+
+ /**
+ * Decodes a Panel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Panel
+ * @throws {Error} If the payload 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.retail.v2alpha.Model.PageOptimizationConfig.Panel;
+
+ /**
+ * Verifies a Panel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Panel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Panel
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel;
+
+ /**
+ * Creates a plain object from a Panel message. Also converts values to other types if specified.
+ * @param message Panel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Model.PageOptimizationConfig.Panel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Panel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Panel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Restriction enum. */
+ enum Restriction {
+ RESTRICTION_UNSPECIFIED = 0,
+ NO_RESTRICTION = 1,
+ UNIQUE_SERVING_CONFIG_RESTRICTION = 2,
+ UNIQUE_MODEL_RESTRICTION = 3,
+ UNIQUE_MODEL_TYPE_RESTRICTION = 4
+ }
+ }
+
+ /** Properties of a ServingConfigList. */
+ interface IServingConfigList {
+
+ /** ServingConfigList servingConfigIds */
+ servingConfigIds?: (string[]|null);
+ }
+
+ /** Represents a ServingConfigList. */
+ class ServingConfigList implements IServingConfigList {
+
+ /**
+ * Constructs a new ServingConfigList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.Model.IServingConfigList);
+
+ /** ServingConfigList servingConfigIds. */
+ public servingConfigIds: string[];
+
+ /**
+ * Creates a new ServingConfigList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServingConfigList instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.Model.IServingConfigList): google.cloud.retail.v2alpha.Model.ServingConfigList;
+
+ /**
+ * Encodes the specified ServingConfigList message. Does not implicitly {@link google.cloud.retail.v2alpha.Model.ServingConfigList.verify|verify} messages.
+ * @param message ServingConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.Model.IServingConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServingConfigList message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.Model.ServingConfigList.verify|verify} messages.
+ * @param message ServingConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.Model.IServingConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServingConfigList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServingConfigList
+ * @throws {Error} If the payload is not 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.retail.v2alpha.Model.ServingConfigList;
+
+ /**
+ * Decodes a ServingConfigList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServingConfigList
+ * @throws {Error} If the payload 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.retail.v2alpha.Model.ServingConfigList;
+
+ /**
+ * Verifies a ServingConfigList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServingConfigList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServingConfigList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.Model.ServingConfigList;
+
+ /**
+ * Creates a plain object from a ServingConfigList message. Also converts values to other types if specified.
+ * @param message ServingConfigList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.Model.ServingConfigList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServingConfigList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServingConfigList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** ServingState enum. */
+ enum ServingState {
+ SERVING_STATE_UNSPECIFIED = 0,
+ INACTIVE = 1,
+ ACTIVE = 2,
+ TUNED = 3
+ }
+
+ /** TrainingState enum. */
+ enum TrainingState {
+ TRAINING_STATE_UNSPECIFIED = 0,
+ PAUSED = 1,
+ TRAINING = 2
+ }
+
+ /** PeriodicTuningState enum. */
+ enum PeriodicTuningState {
+ PERIODIC_TUNING_STATE_UNSPECIFIED = 0,
+ PERIODIC_TUNING_DISABLED = 1,
+ ALL_TUNING_DISABLED = 3,
+ PERIODIC_TUNING_ENABLED = 2
+ }
+
+ /** DataState enum. */
+ enum DataState {
+ DATA_STATE_UNSPECIFIED = 0,
+ DATA_OK = 1,
+ DATA_ERROR = 2
+ }
+ }
+
+ /** Represents a ModelService */
+ class ModelService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ModelService 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 ModelService 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): ModelService;
+
+ /**
+ * Calls CreateModel.
+ * @param request CreateModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createModel(request: google.cloud.retail.v2alpha.ICreateModelRequest, callback: google.cloud.retail.v2alpha.ModelService.CreateModelCallback): void;
+
+ /**
+ * Calls CreateModel.
+ * @param request CreateModelRequest message or plain object
+ * @returns Promise
+ */
+ public createModel(request: google.cloud.retail.v2alpha.ICreateModelRequest): Promise;
+
+ /**
+ * Calls PauseModel.
+ * @param request PauseModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public pauseModel(request: google.cloud.retail.v2alpha.IPauseModelRequest, callback: google.cloud.retail.v2alpha.ModelService.PauseModelCallback): void;
+
+ /**
+ * Calls PauseModel.
+ * @param request PauseModelRequest message or plain object
+ * @returns Promise
+ */
+ public pauseModel(request: google.cloud.retail.v2alpha.IPauseModelRequest): Promise;
+
+ /**
+ * Calls ResumeModel.
+ * @param request ResumeModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public resumeModel(request: google.cloud.retail.v2alpha.IResumeModelRequest, callback: google.cloud.retail.v2alpha.ModelService.ResumeModelCallback): void;
+
+ /**
+ * Calls ResumeModel.
+ * @param request ResumeModelRequest message or plain object
+ * @returns Promise
+ */
+ public resumeModel(request: google.cloud.retail.v2alpha.IResumeModelRequest): Promise;
+
+ /**
+ * Calls DeleteModel.
+ * @param request DeleteModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteModel(request: google.cloud.retail.v2alpha.IDeleteModelRequest, callback: google.cloud.retail.v2alpha.ModelService.DeleteModelCallback): void;
+
+ /**
+ * Calls DeleteModel.
+ * @param request DeleteModelRequest message or plain object
+ * @returns Promise
+ */
+ public deleteModel(request: google.cloud.retail.v2alpha.IDeleteModelRequest): Promise;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListModelsResponse
+ */
+ public listModels(request: google.cloud.retail.v2alpha.IListModelsRequest, callback: google.cloud.retail.v2alpha.ModelService.ListModelsCallback): void;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @returns Promise
+ */
+ public listModels(request: google.cloud.retail.v2alpha.IListModelsRequest): Promise;
+
+ /**
+ * Calls UpdateModel.
+ * @param request UpdateModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public updateModel(request: google.cloud.retail.v2alpha.IUpdateModelRequest, callback: google.cloud.retail.v2alpha.ModelService.UpdateModelCallback): void;
+
+ /**
+ * Calls UpdateModel.
+ * @param request UpdateModelRequest message or plain object
+ * @returns Promise
+ */
+ public updateModel(request: google.cloud.retail.v2alpha.IUpdateModelRequest): Promise;
+
+ /**
+ * Calls TuneModel.
+ * @param request TuneModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public tuneModel(request: google.cloud.retail.v2alpha.ITuneModelRequest, callback: google.cloud.retail.v2alpha.ModelService.TuneModelCallback): void;
+
+ /**
+ * Calls TuneModel.
+ * @param request TuneModelRequest message or plain object
+ * @returns Promise
+ */
+ public tuneModel(request: google.cloud.retail.v2alpha.ITuneModelRequest): Promise;
+ }
+
+ namespace ModelService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|createModel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateModelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|pauseModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type PauseModelCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|resumeModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type ResumeModelCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|deleteModel}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteModelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|listModels}.
+ * @param error Error, if any
+ * @param [response] ListModelsResponse
+ */
+ type ListModelsCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ListModelsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|updateModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type UpdateModelCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ModelService|tuneModel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type TuneModelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateModelRequest. */
+ interface ICreateModelRequest {
+
+ /** CreateModelRequest parent */
+ parent?: (string|null);
+
+ /** CreateModelRequest model */
+ model?: (google.cloud.retail.v2alpha.IModel|null);
+
+ /** CreateModelRequest dryRun */
+ dryRun?: (boolean|null);
+ }
+
+ /** Represents a CreateModelRequest. */
+ class CreateModelRequest implements ICreateModelRequest {
+
+ /**
+ * Constructs a new CreateModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICreateModelRequest);
+
+ /** CreateModelRequest parent. */
+ public parent: string;
+
+ /** CreateModelRequest model. */
+ public model?: (google.cloud.retail.v2alpha.IModel|null);
+
+ /** CreateModelRequest dryRun. */
+ public dryRun: boolean;
+
+ /**
+ * Creates a new CreateModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICreateModelRequest): google.cloud.retail.v2alpha.CreateModelRequest;
+
+ /**
+ * Encodes the specified CreateModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.CreateModelRequest.verify|verify} messages.
+ * @param message CreateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICreateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CreateModelRequest.verify|verify} messages.
+ * @param message CreateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICreateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CreateModelRequest;
+
+ /**
+ * Decodes a CreateModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.CreateModelRequest;
+
+ /**
+ * Verifies a CreateModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CreateModelRequest;
+
+ /**
+ * Creates a plain object from a CreateModelRequest message. Also converts values to other types if specified.
+ * @param message CreateModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CreateModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateModelRequest. */
+ interface IUpdateModelRequest {
+
+ /** UpdateModelRequest model */
+ model?: (google.cloud.retail.v2alpha.IModel|null);
+
+ /** UpdateModelRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateModelRequest. */
+ class UpdateModelRequest implements IUpdateModelRequest {
+
+ /**
+ * Constructs a new UpdateModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateModelRequest);
+
+ /** UpdateModelRequest model. */
+ public model?: (google.cloud.retail.v2alpha.IModel|null);
+
+ /** UpdateModelRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateModelRequest): google.cloud.retail.v2alpha.UpdateModelRequest;
+
+ /**
+ * Encodes the specified UpdateModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateModelRequest.verify|verify} messages.
+ * @param message UpdateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateModelRequest.verify|verify} messages.
+ * @param message UpdateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateModelRequest;
+
+ /**
+ * Decodes an UpdateModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateModelRequest;
+
+ /**
+ * Verifies an UpdateModelRequest message.
+ * @param message Plain 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 UpdateModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateModelRequest;
+
+ /**
+ * Creates a plain object from an UpdateModelRequest message. Also converts values to other types if specified.
+ * @param message UpdateModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PauseModelRequest. */
+ interface IPauseModelRequest {
+
+ /** PauseModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a PauseModelRequest. */
+ class PauseModelRequest implements IPauseModelRequest {
+
+ /**
+ * Constructs a new PauseModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPauseModelRequest);
+
+ /** PauseModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new PauseModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PauseModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPauseModelRequest): google.cloud.retail.v2alpha.PauseModelRequest;
+
+ /**
+ * Encodes the specified PauseModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.PauseModelRequest.verify|verify} messages.
+ * @param message PauseModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPauseModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PauseModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PauseModelRequest.verify|verify} messages.
+ * @param message PauseModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPauseModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PauseModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PauseModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PauseModelRequest;
+
+ /**
+ * Decodes a PauseModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PauseModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.PauseModelRequest;
+
+ /**
+ * Verifies a PauseModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PauseModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PauseModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PauseModelRequest;
+
+ /**
+ * Creates a plain object from a PauseModelRequest message. Also converts values to other types if specified.
+ * @param message PauseModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PauseModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PauseModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PauseModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResumeModelRequest. */
+ interface IResumeModelRequest {
+
+ /** ResumeModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a ResumeModelRequest. */
+ class ResumeModelRequest implements IResumeModelRequest {
+
+ /**
+ * Constructs a new ResumeModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IResumeModelRequest);
+
+ /** ResumeModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new ResumeModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResumeModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IResumeModelRequest): google.cloud.retail.v2alpha.ResumeModelRequest;
+
+ /**
+ * Encodes the specified ResumeModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ResumeModelRequest.verify|verify} messages.
+ * @param message ResumeModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IResumeModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResumeModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ResumeModelRequest.verify|verify} messages.
+ * @param message ResumeModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IResumeModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResumeModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResumeModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ResumeModelRequest;
+
+ /**
+ * Decodes a ResumeModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResumeModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ResumeModelRequest;
+
+ /**
+ * Verifies a ResumeModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResumeModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResumeModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ResumeModelRequest;
+
+ /**
+ * Creates a plain object from a ResumeModelRequest message. Also converts values to other types if specified.
+ * @param message ResumeModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ResumeModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResumeModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResumeModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsRequest. */
+ interface IListModelsRequest {
+
+ /** ListModelsRequest parent */
+ parent?: (string|null);
+
+ /** ListModelsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListModelsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsRequest. */
+ class ListModelsRequest implements IListModelsRequest {
+
+ /**
+ * Constructs a new ListModelsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListModelsRequest);
+
+ /** ListModelsRequest parent. */
+ public parent: string;
+
+ /** ListModelsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListModelsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListModelsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListModelsRequest): google.cloud.retail.v2alpha.ListModelsRequest;
+
+ /**
+ * Encodes the specified ListModelsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListModelsRequest;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ListModelsRequest;
+
+ /**
+ * Verifies a ListModelsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListModelsRequest;
+
+ /**
+ * Creates a plain object from a ListModelsRequest message. Also converts values to other types if specified.
+ * @param message ListModelsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListModelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteModelRequest. */
+ interface IDeleteModelRequest {
+
+ /** DeleteModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteModelRequest. */
+ class DeleteModelRequest implements IDeleteModelRequest {
+
+ /**
+ * Constructs a new DeleteModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IDeleteModelRequest);
+
+ /** DeleteModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IDeleteModelRequest): google.cloud.retail.v2alpha.DeleteModelRequest;
+
+ /**
+ * Encodes the specified DeleteModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteModelRequest.verify|verify} messages.
+ * @param message DeleteModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IDeleteModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteModelRequest.verify|verify} messages.
+ * @param message DeleteModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IDeleteModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.DeleteModelRequest;
+
+ /**
+ * Decodes a DeleteModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.DeleteModelRequest;
+
+ /**
+ * Verifies a DeleteModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.DeleteModelRequest;
+
+ /**
+ * Creates a plain object from a DeleteModelRequest message. Also converts values to other types if specified.
+ * @param message DeleteModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.DeleteModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsResponse. */
+ interface IListModelsResponse {
+
+ /** ListModelsResponse models */
+ models?: (google.cloud.retail.v2alpha.IModel[]|null);
+
+ /** ListModelsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsResponse. */
+ class ListModelsResponse implements IListModelsResponse {
+
+ /**
+ * Constructs a new ListModelsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListModelsResponse);
+
+ /** ListModelsResponse models. */
+ public models: google.cloud.retail.v2alpha.IModel[];
+
+ /** ListModelsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListModelsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListModelsResponse): google.cloud.retail.v2alpha.ListModelsResponse;
+
+ /**
+ * Encodes the specified ListModelsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListModelsResponse;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ListModelsResponse;
+
+ /**
+ * Verifies a ListModelsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListModelsResponse;
+
+ /**
+ * Creates a plain object from a ListModelsResponse message. Also converts values to other types if specified.
+ * @param message ListModelsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListModelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelRequest. */
+ interface ITuneModelRequest {
+
+ /** TuneModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a TuneModelRequest. */
+ class TuneModelRequest implements ITuneModelRequest {
+
+ /**
+ * Constructs a new TuneModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ITuneModelRequest);
+
+ /** TuneModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new TuneModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ITuneModelRequest): google.cloud.retail.v2alpha.TuneModelRequest;
+
+ /**
+ * Encodes the specified TuneModelRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelRequest.verify|verify} messages.
+ * @param message TuneModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ITuneModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelRequest.verify|verify} messages.
+ * @param message TuneModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ITuneModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.TuneModelRequest;
+
+ /**
+ * Decodes a TuneModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.TuneModelRequest;
+
+ /**
+ * Verifies a TuneModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.TuneModelRequest;
+
+ /**
+ * Creates a plain object from a TuneModelRequest message. Also converts values to other types if specified.
+ * @param message TuneModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.TuneModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateModelMetadata. */
+ interface ICreateModelMetadata {
+
+ /** CreateModelMetadata model */
+ model?: (string|null);
+ }
+
+ /** Represents a CreateModelMetadata. */
+ class CreateModelMetadata implements ICreateModelMetadata {
+
+ /**
+ * Constructs a new CreateModelMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICreateModelMetadata);
+
+ /** CreateModelMetadata model. */
+ public model: string;
+
+ /**
+ * Creates a new CreateModelMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateModelMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICreateModelMetadata): google.cloud.retail.v2alpha.CreateModelMetadata;
+
+ /**
+ * Encodes the specified CreateModelMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.CreateModelMetadata.verify|verify} messages.
+ * @param message CreateModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICreateModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateModelMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CreateModelMetadata.verify|verify} messages.
+ * @param message CreateModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICreateModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateModelMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateModelMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CreateModelMetadata;
+
+ /**
+ * Decodes a CreateModelMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateModelMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.CreateModelMetadata;
+
+ /**
+ * Verifies a CreateModelMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateModelMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateModelMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CreateModelMetadata;
+
+ /**
+ * Creates a plain object from a CreateModelMetadata message. Also converts values to other types if specified.
+ * @param message CreateModelMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CreateModelMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateModelMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateModelMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelMetadata. */
+ interface ITuneModelMetadata {
+
+ /** TuneModelMetadata model */
+ model?: (string|null);
+ }
+
+ /** Represents a TuneModelMetadata. */
+ class TuneModelMetadata implements ITuneModelMetadata {
+
+ /**
+ * Constructs a new TuneModelMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ITuneModelMetadata);
+
+ /** TuneModelMetadata model. */
+ public model: string;
+
+ /**
+ * Creates a new TuneModelMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ITuneModelMetadata): google.cloud.retail.v2alpha.TuneModelMetadata;
+
+ /**
+ * Encodes the specified TuneModelMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelMetadata.verify|verify} messages.
+ * @param message TuneModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ITuneModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelMetadata.verify|verify} messages.
+ * @param message TuneModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ITuneModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.TuneModelMetadata;
+
+ /**
+ * Decodes a TuneModelMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.TuneModelMetadata;
+
+ /**
+ * Verifies a TuneModelMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.TuneModelMetadata;
+
+ /**
+ * Creates a plain object from a TuneModelMetadata message. Also converts values to other types if specified.
+ * @param message TuneModelMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.TuneModelMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelResponse. */
+ interface ITuneModelResponse {
+ }
+
+ /** Represents a TuneModelResponse. */
+ class TuneModelResponse implements ITuneModelResponse {
+
+ /**
+ * Constructs a new TuneModelResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ITuneModelResponse);
+
+ /**
+ * Creates a new TuneModelResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ITuneModelResponse): google.cloud.retail.v2alpha.TuneModelResponse;
+
+ /**
+ * Encodes the specified TuneModelResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelResponse.verify|verify} messages.
+ * @param message TuneModelResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ITuneModelResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.TuneModelResponse.verify|verify} messages.
+ * @param message TuneModelResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ITuneModelResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.TuneModelResponse;
+
+ /**
+ * Decodes a TuneModelResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.TuneModelResponse;
+
+ /**
+ * Verifies a TuneModelResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.TuneModelResponse;
+
+ /**
+ * Creates a plain object from a TuneModelResponse message. Also converts values to other types if specified.
+ * @param message TuneModelResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.TuneModelResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a PredictionService */
+ class PredictionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new PredictionService 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 PredictionService 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): PredictionService;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PredictResponse
+ */
+ public predict(request: google.cloud.retail.v2alpha.IPredictRequest, callback: google.cloud.retail.v2alpha.PredictionService.PredictCallback): void;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @returns Promise
+ */
+ public predict(request: google.cloud.retail.v2alpha.IPredictRequest): Promise;
+ }
+
+ namespace PredictionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.PredictionService|predict}.
+ * @param error Error, if any
+ * @param [response] PredictResponse
+ */
+ type PredictCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.PredictResponse) => void;
+ }
+
+ /** Properties of a PredictRequest. */
+ interface IPredictRequest {
+
+ /** PredictRequest placement */
+ placement?: (string|null);
+
+ /** PredictRequest userEvent */
+ userEvent?: (google.cloud.retail.v2alpha.IUserEvent|null);
+
+ /** PredictRequest pageSize */
+ pageSize?: (number|null);
+
+ /** PredictRequest pageToken */
+ pageToken?: (string|null);
+
+ /** PredictRequest filter */
+ filter?: (string|null);
+
+ /** PredictRequest validateOnly */
+ validateOnly?: (boolean|null);
+
+ /** PredictRequest params */
+ params?: ({ [k: string]: google.protobuf.IValue }|null);
+
+ /** PredictRequest labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a PredictRequest. */
+ class PredictRequest implements IPredictRequest {
+
+ /**
+ * Constructs a new PredictRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPredictRequest);
+
+ /** PredictRequest placement. */
+ public placement: string;
+
+ /** PredictRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2alpha.IUserEvent|null);
+
+ /** PredictRequest pageSize. */
+ public pageSize: number;
+
+ /** PredictRequest pageToken. */
+ public pageToken: string;
+
+ /** PredictRequest filter. */
+ public filter: string;
+
+ /** PredictRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /** PredictRequest params. */
+ public params: { [k: string]: google.protobuf.IValue };
+
+ /** PredictRequest labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new PredictRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPredictRequest): google.cloud.retail.v2alpha.PredictRequest;
+
+ /**
+ * Encodes the specified PredictRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PredictRequest;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.PredictRequest;
+
+ /**
+ * Verifies a PredictRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PredictRequest;
+
+ /**
+ * Creates a plain object from a PredictRequest message. Also converts values to other types if specified.
+ * @param message PredictRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PredictRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PredictResponse. */
+ interface IPredictResponse {
+
+ /** PredictResponse results */
+ results?: (google.cloud.retail.v2alpha.PredictResponse.IPredictionResult[]|null);
+
+ /** PredictResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** PredictResponse missingIds */
+ missingIds?: (string[]|null);
+
+ /** PredictResponse validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents a PredictResponse. */
+ class PredictResponse implements IPredictResponse {
+
+ /**
+ * Constructs a new PredictResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPredictResponse);
+
+ /** PredictResponse results. */
+ public results: google.cloud.retail.v2alpha.PredictResponse.IPredictionResult[];
+
+ /** PredictResponse attributionToken. */
+ public attributionToken: string;
+
+ /** PredictResponse missingIds. */
+ public missingIds: string[];
+
+ /** PredictResponse validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new PredictResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPredictResponse): google.cloud.retail.v2alpha.PredictResponse;
+
+ /**
+ * Encodes the specified PredictResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PredictResponse;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.PredictResponse;
+
+ /**
+ * Verifies a PredictResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PredictResponse;
+
+ /**
+ * Creates a plain object from a PredictResponse message. Also converts values to other types if specified.
+ * @param message PredictResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PredictResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PredictResponse {
+
+ /** Properties of a PredictionResult. */
+ interface IPredictionResult {
+
+ /** PredictionResult id */
+ id?: (string|null);
+
+ /** PredictionResult metadata */
+ metadata?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a PredictionResult. */
+ class PredictionResult implements IPredictionResult {
+
+ /**
+ * Constructs a new PredictionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.PredictResponse.IPredictionResult);
+
+ /** PredictionResult id. */
+ public id: string;
+
+ /** PredictionResult metadata. */
+ public metadata: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new PredictionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.PredictResponse.IPredictionResult): google.cloud.retail.v2alpha.PredictResponse.PredictionResult;
+
+ /**
+ * Encodes the specified PredictionResult message. Does not implicitly {@link google.cloud.retail.v2alpha.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictionResult
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PredictResponse.PredictionResult;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictionResult
+ * @throws {Error} If the payload 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.retail.v2alpha.PredictResponse.PredictionResult;
+
+ /**
+ * Verifies a PredictionResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictionResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictionResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PredictResponse.PredictionResult;
+
+ /**
+ * Creates a plain object from a PredictionResult message. Also converts values to other types if specified.
+ * @param message PredictionResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PredictResponse.PredictionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictionResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictionResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ProductService */
+ class ProductService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ProductService 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 ProductService 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): ProductService;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public createProduct(request: google.cloud.retail.v2alpha.ICreateProductRequest, callback: google.cloud.retail.v2alpha.ProductService.CreateProductCallback): void;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @returns Promise
+ */
+ public createProduct(request: google.cloud.retail.v2alpha.ICreateProductRequest): Promise;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public getProduct(request: google.cloud.retail.v2alpha.IGetProductRequest, callback: google.cloud.retail.v2alpha.ProductService.GetProductCallback): void;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @returns Promise
+ */
+ public getProduct(request: google.cloud.retail.v2alpha.IGetProductRequest): Promise;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListProductsResponse
+ */
+ public listProducts(request: google.cloud.retail.v2alpha.IListProductsRequest, callback: google.cloud.retail.v2alpha.ProductService.ListProductsCallback): void;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @returns Promise
+ */
+ public listProducts(request: google.cloud.retail.v2alpha.IListProductsRequest): Promise;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public updateProduct(request: google.cloud.retail.v2alpha.IUpdateProductRequest, callback: google.cloud.retail.v2alpha.ProductService.UpdateProductCallback): void;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @returns Promise
+ */
+ public updateProduct(request: google.cloud.retail.v2alpha.IUpdateProductRequest): Promise;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteProduct(request: google.cloud.retail.v2alpha.IDeleteProductRequest, callback: google.cloud.retail.v2alpha.ProductService.DeleteProductCallback): void;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @returns Promise
+ */
+ public deleteProduct(request: google.cloud.retail.v2alpha.IDeleteProductRequest): Promise;
+
+ /**
+ * Calls PurgeProducts.
+ * @param request PurgeProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public purgeProducts(request: google.cloud.retail.v2alpha.IPurgeProductsRequest, callback: google.cloud.retail.v2alpha.ProductService.PurgeProductsCallback): void;
+
+ /**
+ * Calls PurgeProducts.
+ * @param request PurgeProductsRequest message or plain object
+ * @returns Promise
+ */
+ public purgeProducts(request: google.cloud.retail.v2alpha.IPurgeProductsRequest): Promise;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importProducts(request: google.cloud.retail.v2alpha.IImportProductsRequest, callback: google.cloud.retail.v2alpha.ProductService.ImportProductsCallback): void;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @returns Promise
+ */
+ public importProducts(request: google.cloud.retail.v2alpha.IImportProductsRequest): Promise;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public setInventory(request: google.cloud.retail.v2alpha.ISetInventoryRequest, callback: google.cloud.retail.v2alpha.ProductService.SetInventoryCallback): void;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @returns Promise
+ */
+ public setInventory(request: google.cloud.retail.v2alpha.ISetInventoryRequest): Promise;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest, callback: google.cloud.retail.v2alpha.ProductService.AddFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest, callback: google.cloud.retail.v2alpha.ProductService.RemoveFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addLocalInventories(request: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest, callback: google.cloud.retail.v2alpha.ProductService.AddLocalInventoriesCallback): void;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public addLocalInventories(request: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest): Promise;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest, callback: google.cloud.retail.v2alpha.ProductService.RemoveLocalInventoriesCallback): void;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest): Promise;
+ }
+
+ namespace ProductService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|createProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type CreateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|getProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type GetProductCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|listProducts}.
+ * @param error Error, if any
+ * @param [response] ListProductsResponse
+ */
+ type ListProductsCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ListProductsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|updateProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|deleteProduct}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|purgeProducts}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type PurgeProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|importProducts}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|setInventory}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type SetInventoryCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|addFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|removeFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|addLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ProductService|removeLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateProductRequest. */
+ interface ICreateProductRequest {
+
+ /** CreateProductRequest parent */
+ parent?: (string|null);
+
+ /** CreateProductRequest product */
+ product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** CreateProductRequest productId */
+ productId?: (string|null);
+ }
+
+ /** Represents a CreateProductRequest. */
+ class CreateProductRequest implements ICreateProductRequest {
+
+ /**
+ * Constructs a new CreateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICreateProductRequest);
+
+ /** CreateProductRequest parent. */
+ public parent: string;
+
+ /** CreateProductRequest product. */
+ public product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** CreateProductRequest productId. */
+ public productId: string;
+
+ /**
+ * Creates a new CreateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICreateProductRequest): google.cloud.retail.v2alpha.CreateProductRequest;
+
+ /**
+ * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CreateProductRequest;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.CreateProductRequest;
+
+ /**
+ * Verifies a CreateProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CreateProductRequest;
+
+ /**
+ * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified.
+ * @param message CreateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetProductRequest. */
+ interface IGetProductRequest {
+
+ /** GetProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetProductRequest. */
+ class GetProductRequest implements IGetProductRequest {
+
+ /**
+ * Constructs a new GetProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetProductRequest);
+
+ /** GetProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetProductRequest): google.cloud.retail.v2alpha.GetProductRequest;
+
+ /**
+ * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetProductRequest;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetProductRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetProductRequest;
+
+ /**
+ * Verifies a GetProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetProductRequest;
+
+ /**
+ * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified.
+ * @param message GetProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateProductRequest. */
+ interface IUpdateProductRequest {
+
+ /** UpdateProductRequest product */
+ product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** UpdateProductRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an UpdateProductRequest. */
+ class UpdateProductRequest implements IUpdateProductRequest {
+
+ /**
+ * Constructs a new UpdateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateProductRequest);
+
+ /** UpdateProductRequest product. */
+ public product?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** UpdateProductRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new UpdateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateProductRequest): google.cloud.retail.v2alpha.UpdateProductRequest;
+
+ /**
+ * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateProductRequest;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateProductRequest;
+
+ /**
+ * Verifies an UpdateProductRequest message.
+ * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateProductRequest;
+
+ /**
+ * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified.
+ * @param message UpdateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteProductRequest. */
+ interface IDeleteProductRequest {
+
+ /** DeleteProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteProductRequest. */
+ class DeleteProductRequest implements IDeleteProductRequest {
+
+ /**
+ * Constructs a new DeleteProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IDeleteProductRequest);
+
+ /** DeleteProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IDeleteProductRequest): google.cloud.retail.v2alpha.DeleteProductRequest;
+
+ /**
+ * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.DeleteProductRequest;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.DeleteProductRequest;
+
+ /**
+ * Verifies a DeleteProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.DeleteProductRequest;
+
+ /**
+ * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified.
+ * @param message DeleteProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsRequest. */
+ interface IListProductsRequest {
+
+ /** ListProductsRequest parent */
+ parent?: (string|null);
+
+ /** ListProductsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListProductsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListProductsRequest filter */
+ filter?: (string|null);
+
+ /** ListProductsRequest readMask */
+ readMask?: (google.protobuf.IFieldMask|null);
+
+ /** ListProductsRequest requireTotalSize */
+ requireTotalSize?: (boolean|null);
+ }
+
+ /** Represents a ListProductsRequest. */
+ class ListProductsRequest implements IListProductsRequest {
+
+ /**
+ * Constructs a new ListProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListProductsRequest);
+
+ /** ListProductsRequest parent. */
+ public parent: string;
+
+ /** ListProductsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListProductsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListProductsRequest filter. */
+ public filter: string;
+
+ /** ListProductsRequest readMask. */
+ public readMask?: (google.protobuf.IFieldMask|null);
+
+ /** ListProductsRequest requireTotalSize. */
+ public requireTotalSize: boolean;
+
+ /**
+ * Creates a new ListProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListProductsRequest): google.cloud.retail.v2alpha.ListProductsRequest;
+
+ /**
+ * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListProductsRequest;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ListProductsRequest;
+
+ /**
+ * Verifies a ListProductsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListProductsRequest;
+
+ /**
+ * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified.
+ * @param message ListProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsResponse. */
+ interface IListProductsResponse {
+
+ /** ListProductsResponse products */
+ products?: (google.cloud.retail.v2alpha.IProduct[]|null);
+
+ /** ListProductsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListProductsResponse totalSize */
+ totalSize?: (number|null);
+ }
+
+ /** Represents a ListProductsResponse. */
+ class ListProductsResponse implements IListProductsResponse {
+
+ /**
+ * Constructs a new ListProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListProductsResponse);
+
+ /** ListProductsResponse products. */
+ public products: google.cloud.retail.v2alpha.IProduct[];
+
+ /** ListProductsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListProductsResponse totalSize. */
+ public totalSize: number;
+
+ /**
+ * Creates a new ListProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListProductsResponse): google.cloud.retail.v2alpha.ListProductsResponse;
+
+ /**
+ * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListProductsResponse;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ListProductsResponse;
+
+ /**
+ * Verifies a ListProductsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListProductsResponse;
+
+ /**
+ * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified.
+ * @param message ListProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryRequest. */
+ interface ISetInventoryRequest {
+
+ /** SetInventoryRequest inventory */
+ inventory?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** SetInventoryRequest setMask */
+ setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a SetInventoryRequest. */
+ class SetInventoryRequest implements ISetInventoryRequest {
+
+ /**
+ * Constructs a new SetInventoryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISetInventoryRequest);
+
+ /** SetInventoryRequest inventory. */
+ public inventory?: (google.cloud.retail.v2alpha.IProduct|null);
+
+ /** SetInventoryRequest setMask. */
+ public setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new SetInventoryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISetInventoryRequest): google.cloud.retail.v2alpha.SetInventoryRequest;
+
+ /**
+ * Encodes the specified SetInventoryRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SetInventoryRequest;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.SetInventoryRequest;
+
+ /**
+ * Verifies a SetInventoryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SetInventoryRequest;
+
+ /**
+ * Creates a plain object from a SetInventoryRequest message. Also converts values to other types if specified.
+ * @param message SetInventoryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SetInventoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryMetadata. */
+ interface ISetInventoryMetadata {
+ }
+
+ /** Represents a SetInventoryMetadata. */
+ class SetInventoryMetadata implements ISetInventoryMetadata {
+
+ /**
+ * Constructs a new SetInventoryMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISetInventoryMetadata);
+
+ /**
+ * Creates a new SetInventoryMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISetInventoryMetadata): google.cloud.retail.v2alpha.SetInventoryMetadata;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SetInventoryMetadata;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.SetInventoryMetadata;
+
+ /**
+ * Verifies a SetInventoryMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SetInventoryMetadata;
+
+ /**
+ * Creates a plain object from a SetInventoryMetadata message. Also converts values to other types if specified.
+ * @param message SetInventoryMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SetInventoryMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryResponse. */
+ interface ISetInventoryResponse {
+ }
+
+ /** Represents a SetInventoryResponse. */
+ class SetInventoryResponse implements ISetInventoryResponse {
+
+ /**
+ * Constructs a new SetInventoryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ISetInventoryResponse);
+
+ /**
+ * Creates a new SetInventoryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ISetInventoryResponse): google.cloud.retail.v2alpha.SetInventoryResponse;
+
+ /**
+ * Encodes the specified SetInventoryResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.SetInventoryResponse;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.SetInventoryResponse;
+
+ /**
+ * Verifies a SetInventoryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.SetInventoryResponse;
+
+ /**
+ * Creates a plain object from a SetInventoryResponse message. Also converts values to other types if specified.
+ * @param message SetInventoryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.SetInventoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesRequest. */
+ interface IAddFulfillmentPlacesRequest {
+
+ /** AddFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** AddFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** AddFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** AddFulfillmentPlacesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddFulfillmentPlacesRequest. */
+ class AddFulfillmentPlacesRequest implements IAddFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest);
+
+ /** AddFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** AddFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** AddFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** AddFulfillmentPlacesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest): google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddFulfillmentPlacesRequest;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.AddFulfillmentPlacesRequest;
+
+ /**
+ * Verifies an AddFulfillmentPlacesRequest message.
+ * @param message Plain 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 AddFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesMetadata. */
+ interface IAddFulfillmentPlacesMetadata {
+ }
+
+ /** Represents an AddFulfillmentPlacesMetadata. */
+ class AddFulfillmentPlacesMetadata implements IAddFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new AddFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesMetadata): google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies an AddFulfillmentPlacesMetadata message.
+ * @param message Plain 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 AddFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesResponse. */
+ interface IAddFulfillmentPlacesResponse {
+ }
+
+ /** Represents an AddFulfillmentPlacesResponse. */
+ class AddFulfillmentPlacesResponse implements IAddFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new AddFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddFulfillmentPlacesResponse): google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddFulfillmentPlacesResponse;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.AddFulfillmentPlacesResponse;
+
+ /**
+ * Verifies an AddFulfillmentPlacesResponse message.
+ * @param message Plain 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 AddFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesRequest. */
+ interface IAddLocalInventoriesRequest {
+
+ /** AddLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** AddLocalInventoriesRequest localInventories */
+ localInventories?: (google.cloud.retail.v2alpha.ILocalInventory[]|null);
+
+ /** AddLocalInventoriesRequest addMask */
+ addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddLocalInventoriesRequest. */
+ class AddLocalInventoriesRequest implements IAddLocalInventoriesRequest {
+
+ /**
+ * Constructs a new AddLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest);
+
+ /** AddLocalInventoriesRequest product. */
+ public product: string;
+
+ /** AddLocalInventoriesRequest localInventories. */
+ public localInventories: google.cloud.retail.v2alpha.ILocalInventory[];
+
+ /** AddLocalInventoriesRequest addMask. */
+ public addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest): google.cloud.retail.v2alpha.AddLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddLocalInventoriesRequest;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.AddLocalInventoriesRequest;
+
+ /**
+ * Verifies an AddLocalInventoriesRequest message.
+ * @param message Plain 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 AddLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesMetadata. */
+ interface IAddLocalInventoriesMetadata {
+ }
+
+ /** Represents an AddLocalInventoriesMetadata. */
+ class AddLocalInventoriesMetadata implements IAddLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new AddLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesMetadata);
+
+ /**
+ * Creates a new AddLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesMetadata): google.cloud.retail.v2alpha.AddLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddLocalInventoriesMetadata;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.AddLocalInventoriesMetadata;
+
+ /**
+ * Verifies an AddLocalInventoriesMetadata message.
+ * @param message Plain 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 AddLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesResponse. */
+ interface IAddLocalInventoriesResponse {
+ }
+
+ /** Represents an AddLocalInventoriesResponse. */
+ class AddLocalInventoriesResponse implements IAddLocalInventoriesResponse {
+
+ /**
+ * Constructs a new AddLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesResponse);
+
+ /**
+ * Creates a new AddLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddLocalInventoriesResponse): google.cloud.retail.v2alpha.AddLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddLocalInventoriesResponse;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.AddLocalInventoriesResponse;
+
+ /**
+ * Verifies an AddLocalInventoriesResponse message.
+ * @param message Plain 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 AddLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesRequest. */
+ interface IRemoveLocalInventoriesRequest {
+
+ /** RemoveLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** RemoveLocalInventoriesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveLocalInventoriesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveLocalInventoriesRequest. */
+ class RemoveLocalInventoriesRequest implements IRemoveLocalInventoriesRequest {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest);
+
+ /** RemoveLocalInventoriesRequest product. */
+ public product: string;
+
+ /** RemoveLocalInventoriesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveLocalInventoriesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest): google.cloud.retail.v2alpha.RemoveLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveLocalInventoriesRequest;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveLocalInventoriesRequest;
+
+ /**
+ * Verifies a RemoveLocalInventoriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesMetadata. */
+ interface IRemoveLocalInventoriesMetadata {
+ }
+
+ /** Represents a RemoveLocalInventoriesMetadata. */
+ class RemoveLocalInventoriesMetadata implements IRemoveLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesMetadata);
+
+ /**
+ * Creates a new RemoveLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesMetadata): google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Verifies a RemoveLocalInventoriesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesResponse. */
+ interface IRemoveLocalInventoriesResponse {
+ }
+
+ /** Represents a RemoveLocalInventoriesResponse. */
+ class RemoveLocalInventoriesResponse implements IRemoveLocalInventoriesResponse {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesResponse);
+
+ /**
+ * Creates a new RemoveLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveLocalInventoriesResponse): google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveLocalInventoriesResponse;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveLocalInventoriesResponse;
+
+ /**
+ * Verifies a RemoveLocalInventoriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesRequest. */
+ interface IRemoveFulfillmentPlacesRequest {
+
+ /** RemoveFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveFulfillmentPlacesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveFulfillmentPlacesRequest. */
+ class RemoveFulfillmentPlacesRequest implements IRemoveFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest);
+
+ /** RemoveFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** RemoveFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** RemoveFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveFulfillmentPlacesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesMetadata. */
+ interface IRemoveFulfillmentPlacesMetadata {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesMetadata. */
+ class RemoveFulfillmentPlacesMetadata implements IRemoveFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesMetadata): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesResponse. */
+ interface IRemoveFulfillmentPlacesResponse {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesResponse. */
+ class RemoveFulfillmentPlacesResponse implements IRemoveFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesResponse): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeMetadata. */
+ interface IPurgeMetadata {
+ }
+
+ /** Represents a PurgeMetadata. */
+ class PurgeMetadata implements IPurgeMetadata {
+
+ /**
+ * Constructs a new PurgeMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeMetadata);
+
+ /**
+ * Creates a new PurgeMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeMetadata): google.cloud.retail.v2alpha.PurgeMetadata;
+
+ /**
+ * Encodes the specified PurgeMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeMetadata;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeMetadata;
+
+ /**
+ * Verifies a PurgeMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeMetadata;
+
+ /**
+ * Creates a plain object from a PurgeMetadata message. Also converts values to other types if specified.
+ * @param message PurgeMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeProductsMetadata. */
+ interface IPurgeProductsMetadata {
+
+ /** PurgeProductsMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** PurgeProductsMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** PurgeProductsMetadata successCount */
+ successCount?: (number|Long|string|null);
+
+ /** PurgeProductsMetadata failureCount */
+ failureCount?: (number|Long|string|null);
+ }
+
+ /** Represents a PurgeProductsMetadata. */
+ class PurgeProductsMetadata implements IPurgeProductsMetadata {
+
+ /**
+ * Constructs a new PurgeProductsMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeProductsMetadata);
+
+ /** PurgeProductsMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** PurgeProductsMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** PurgeProductsMetadata successCount. */
+ public successCount: (number|Long|string);
+
+ /** PurgeProductsMetadata failureCount. */
+ public failureCount: (number|Long|string);
+
+ /**
+ * Creates a new PurgeProductsMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeProductsMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeProductsMetadata): google.cloud.retail.v2alpha.PurgeProductsMetadata;
+
+ /**
+ * Encodes the specified PurgeProductsMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsMetadata.verify|verify} messages.
+ * @param message PurgeProductsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeProductsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeProductsMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsMetadata.verify|verify} messages.
+ * @param message PurgeProductsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeProductsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeProductsMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeProductsMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeProductsMetadata;
+
+ /**
+ * Decodes a PurgeProductsMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeProductsMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeProductsMetadata;
+
+ /**
+ * Verifies a PurgeProductsMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeProductsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeProductsMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeProductsMetadata;
+
+ /**
+ * Creates a plain object from a PurgeProductsMetadata message. Also converts values to other types if specified.
+ * @param message PurgeProductsMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeProductsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeProductsMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeProductsMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeProductsRequest. */
+ interface IPurgeProductsRequest {
+
+ /** PurgeProductsRequest parent */
+ parent?: (string|null);
+
+ /** PurgeProductsRequest filter */
+ filter?: (string|null);
+
+ /** PurgeProductsRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a PurgeProductsRequest. */
+ class PurgeProductsRequest implements IPurgeProductsRequest {
+
+ /**
+ * Constructs a new PurgeProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeProductsRequest);
+
+ /** PurgeProductsRequest parent. */
+ public parent: string;
+
+ /** PurgeProductsRequest filter. */
+ public filter: string;
+
+ /** PurgeProductsRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new PurgeProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeProductsRequest): google.cloud.retail.v2alpha.PurgeProductsRequest;
+
+ /**
+ * Encodes the specified PurgeProductsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsRequest.verify|verify} messages.
+ * @param message PurgeProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsRequest.verify|verify} messages.
+ * @param message PurgeProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeProductsRequest;
+
+ /**
+ * Decodes a PurgeProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeProductsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeProductsRequest;
+
+ /**
+ * Verifies a PurgeProductsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeProductsRequest;
+
+ /**
+ * Creates a plain object from a PurgeProductsRequest message. Also converts values to other types if specified.
+ * @param message PurgeProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeProductsResponse. */
+ interface IPurgeProductsResponse {
+
+ /** PurgeProductsResponse purgeCount */
+ purgeCount?: (number|Long|string|null);
+
+ /** PurgeProductsResponse purgeSample */
+ purgeSample?: (string[]|null);
+ }
+
+ /** Represents a PurgeProductsResponse. */
+ class PurgeProductsResponse implements IPurgeProductsResponse {
+
+ /**
+ * Constructs a new PurgeProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeProductsResponse);
+
+ /** PurgeProductsResponse purgeCount. */
+ public purgeCount: (number|Long|string);
+
+ /** PurgeProductsResponse purgeSample. */
+ public purgeSample: string[];
+
+ /**
+ * Creates a new PurgeProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeProductsResponse): google.cloud.retail.v2alpha.PurgeProductsResponse;
+
+ /**
+ * Encodes the specified PurgeProductsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsResponse.verify|verify} messages.
+ * @param message PurgeProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeProductsResponse.verify|verify} messages.
+ * @param message PurgeProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeProductsResponse;
+
+ /**
+ * Decodes a PurgeProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeProductsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeProductsResponse;
+
+ /**
+ * Verifies a PurgeProductsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeProductsResponse;
+
+ /**
+ * Creates a plain object from a PurgeProductsResponse message. Also converts values to other types if specified.
+ * @param message PurgeProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsRequest. */
+ interface IPurgeUserEventsRequest {
+
+ /** PurgeUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** PurgeUserEventsRequest filter */
+ filter?: (string|null);
+
+ /** PurgeUserEventsRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a PurgeUserEventsRequest. */
+ class PurgeUserEventsRequest implements IPurgeUserEventsRequest {
+
+ /**
+ * Constructs a new PurgeUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeUserEventsRequest);
+
+ /** PurgeUserEventsRequest parent. */
+ public parent: string;
+
+ /** PurgeUserEventsRequest filter. */
+ public filter: string;
+
+ /** PurgeUserEventsRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new PurgeUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeUserEventsRequest): google.cloud.retail.v2alpha.PurgeUserEventsRequest;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeUserEventsRequest;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeUserEventsRequest;
+
+ /**
+ * Verifies a PurgeUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeUserEventsRequest;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsRequest message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsResponse. */
+ interface IPurgeUserEventsResponse {
+
+ /** PurgeUserEventsResponse purgedEventsCount */
+ purgedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a PurgeUserEventsResponse. */
+ class PurgeUserEventsResponse implements IPurgeUserEventsResponse {
+
+ /**
+ * Constructs a new PurgeUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IPurgeUserEventsResponse);
+
+ /** PurgeUserEventsResponse purgedEventsCount. */
+ public purgedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new PurgeUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IPurgeUserEventsResponse): google.cloud.retail.v2alpha.PurgeUserEventsResponse;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.PurgeUserEventsResponse;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.PurgeUserEventsResponse;
+
+ /**
+ * Verifies a PurgeUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.PurgeUserEventsResponse;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsResponse message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.PurgeUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServingConfig. */
+ interface IServingConfig {
+
+ /** ServingConfig name */
+ name?: (string|null);
+
+ /** ServingConfig displayName */
+ displayName?: (string|null);
+
+ /** ServingConfig modelId */
+ modelId?: (string|null);
+
+ /** ServingConfig priceRerankingLevel */
+ priceRerankingLevel?: (string|null);
+
+ /** ServingConfig facetControlIds */
+ facetControlIds?: (string[]|null);
+
+ /** ServingConfig dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds */
+ boostControlIds?: (string[]|null);
+
+ /** ServingConfig filterControlIds */
+ filterControlIds?: (string[]|null);
+
+ /** ServingConfig redirectControlIds */
+ redirectControlIds?: (string[]|null);
+
+ /** ServingConfig twowaySynonymsControlIds */
+ twowaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig onewaySynonymsControlIds */
+ onewaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig doNotAssociateControlIds */
+ doNotAssociateControlIds?: (string[]|null);
+
+ /** ServingConfig replacementControlIds */
+ replacementControlIds?: (string[]|null);
+
+ /** ServingConfig ignoreControlIds */
+ ignoreControlIds?: (string[]|null);
+
+ /** ServingConfig diversityLevel */
+ diversityLevel?: (string|null);
+
+ /** ServingConfig enableCategoryFilterLevel */
+ enableCategoryFilterLevel?: (string|null);
+
+ /** ServingConfig solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2alpha.SolutionType[]|null);
+ }
+
+ /** Represents a ServingConfig. */
+ class ServingConfig implements IServingConfig {
+
+ /**
+ * Constructs a new ServingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IServingConfig);
+
+ /** ServingConfig name. */
+ public name: string;
+
+ /** ServingConfig displayName. */
+ public displayName: string;
+
+ /** ServingConfig modelId. */
+ public modelId: string;
+
+ /** ServingConfig priceRerankingLevel. */
+ public priceRerankingLevel: string;
+
+ /** ServingConfig facetControlIds. */
+ public facetControlIds: string[];
+
+ /** ServingConfig dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2alpha.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds. */
+ public boostControlIds: string[];
+
+ /** ServingConfig filterControlIds. */
+ public filterControlIds: string[];
+
+ /** ServingConfig redirectControlIds. */
+ public redirectControlIds: string[];
+
+ /** ServingConfig twowaySynonymsControlIds. */
+ public twowaySynonymsControlIds: string[];
+
+ /** ServingConfig onewaySynonymsControlIds. */
+ public onewaySynonymsControlIds: string[];
+
+ /** ServingConfig doNotAssociateControlIds. */
+ public doNotAssociateControlIds: string[];
+
+ /** ServingConfig replacementControlIds. */
+ public replacementControlIds: string[];
+
+ /** ServingConfig ignoreControlIds. */
+ public ignoreControlIds: string[];
+
+ /** ServingConfig diversityLevel. */
+ public diversityLevel: string;
+
+ /** ServingConfig enableCategoryFilterLevel. */
+ public enableCategoryFilterLevel: string;
+
+ /** ServingConfig solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2alpha.SolutionType[];
+
+ /**
+ * Creates a new ServingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServingConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IServingConfig): google.cloud.retail.v2alpha.ServingConfig;
+
+ /**
+ * Encodes the specified ServingConfig message. Does not implicitly {@link google.cloud.retail.v2alpha.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServingConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServingConfig
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ServingConfig;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServingConfig
+ * @throws {Error} If the payload 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.retail.v2alpha.ServingConfig;
+
+ /**
+ * Verifies a ServingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ServingConfig;
+
+ /**
+ * Creates a plain object from a ServingConfig message. Also converts values to other types if specified.
+ * @param message ServingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ServingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a ServingConfigService */
+ class ServingConfigService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ServingConfigService 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 ServingConfigService 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): ServingConfigService;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public createServingConfig(request: google.cloud.retail.v2alpha.ICreateServingConfigRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.CreateServingConfigCallback): void;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createServingConfig(request: google.cloud.retail.v2alpha.ICreateServingConfigRequest): Promise;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2alpha.IDeleteServingConfigRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.DeleteServingConfigCallback): void;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2alpha.IDeleteServingConfigRequest): Promise;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public updateServingConfig(request: google.cloud.retail.v2alpha.IUpdateServingConfigRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.UpdateServingConfigCallback): void;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateServingConfig(request: google.cloud.retail.v2alpha.IUpdateServingConfigRequest): Promise;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public getServingConfig(request: google.cloud.retail.v2alpha.IGetServingConfigRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.GetServingConfigCallback): void;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getServingConfig(request: google.cloud.retail.v2alpha.IGetServingConfigRequest): Promise;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServingConfigsResponse
+ */
+ public listServingConfigs(request: google.cloud.retail.v2alpha.IListServingConfigsRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.ListServingConfigsCallback): void;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listServingConfigs(request: google.cloud.retail.v2alpha.IListServingConfigsRequest): Promise;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public addControl(request: google.cloud.retail.v2alpha.IAddControlRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.AddControlCallback): void;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @returns Promise
+ */
+ public addControl(request: google.cloud.retail.v2alpha.IAddControlRequest): Promise;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public removeControl(request: google.cloud.retail.v2alpha.IRemoveControlRequest, callback: google.cloud.retail.v2alpha.ServingConfigService.RemoveControlCallback): void;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @returns Promise
+ */
+ public removeControl(request: google.cloud.retail.v2alpha.IRemoveControlRequest): Promise;
+ }
+
+ namespace ServingConfigService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|createServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type CreateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|deleteServingConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServingConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|updateServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type UpdateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|getServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type GetServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|listServingConfigs}.
+ * @param error Error, if any
+ * @param [response] ListServingConfigsResponse
+ */
+ type ListServingConfigsCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ListServingConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|addControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type AddControlCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.ServingConfigService|removeControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type RemoveControlCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.ServingConfig) => void;
+ }
+
+ /** Properties of a CreateServingConfigRequest. */
+ interface ICreateServingConfigRequest {
+
+ /** CreateServingConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2alpha.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId */
+ servingConfigId?: (string|null);
+ }
+
+ /** Represents a CreateServingConfigRequest. */
+ class CreateServingConfigRequest implements ICreateServingConfigRequest {
+
+ /**
+ * Constructs a new CreateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICreateServingConfigRequest);
+
+ /** CreateServingConfigRequest parent. */
+ public parent: string;
+
+ /** CreateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2alpha.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId. */
+ public servingConfigId: string;
+
+ /**
+ * Creates a new CreateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICreateServingConfigRequest): google.cloud.retail.v2alpha.CreateServingConfigRequest;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CreateServingConfigRequest;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.CreateServingConfigRequest;
+
+ /**
+ * Verifies a CreateServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CreateServingConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CreateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServingConfigRequest. */
+ interface IUpdateServingConfigRequest {
+
+ /** UpdateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2alpha.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServingConfigRequest. */
+ class UpdateServingConfigRequest implements IUpdateServingConfigRequest {
+
+ /**
+ * Constructs a new UpdateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IUpdateServingConfigRequest);
+
+ /** UpdateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2alpha.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IUpdateServingConfigRequest): google.cloud.retail.v2alpha.UpdateServingConfigRequest;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.UpdateServingConfigRequest;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.UpdateServingConfigRequest;
+
+ /**
+ * Verifies an UpdateServingConfigRequest message.
+ * @param message Plain 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 UpdateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.UpdateServingConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.UpdateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServingConfigRequest. */
+ interface IDeleteServingConfigRequest {
+
+ /** DeleteServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServingConfigRequest. */
+ class DeleteServingConfigRequest implements IDeleteServingConfigRequest {
+
+ /**
+ * Constructs a new DeleteServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IDeleteServingConfigRequest);
+
+ /** DeleteServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IDeleteServingConfigRequest): google.cloud.retail.v2alpha.DeleteServingConfigRequest;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.DeleteServingConfigRequest;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.DeleteServingConfigRequest;
+
+ /**
+ * Verifies a DeleteServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.DeleteServingConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteServingConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.DeleteServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServingConfigRequest. */
+ interface IGetServingConfigRequest {
+
+ /** GetServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServingConfigRequest. */
+ class GetServingConfigRequest implements IGetServingConfigRequest {
+
+ /**
+ * Constructs a new GetServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IGetServingConfigRequest);
+
+ /** GetServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IGetServingConfigRequest): google.cloud.retail.v2alpha.GetServingConfigRequest;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.GetServingConfigRequest;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.GetServingConfigRequest;
+
+ /**
+ * Verifies a GetServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.GetServingConfigRequest;
+
+ /**
+ * Creates a plain object from a GetServingConfigRequest message. Also converts values to other types if specified.
+ * @param message GetServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.GetServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsRequest. */
+ interface IListServingConfigsRequest {
+
+ /** ListServingConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListServingConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServingConfigsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsRequest. */
+ class ListServingConfigsRequest implements IListServingConfigsRequest {
+
+ /**
+ * Constructs a new ListServingConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListServingConfigsRequest);
+
+ /** ListServingConfigsRequest parent. */
+ public parent: string;
+
+ /** ListServingConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServingConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListServingConfigsRequest): google.cloud.retail.v2alpha.ListServingConfigsRequest;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListServingConfigsRequest;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.ListServingConfigsRequest;
+
+ /**
+ * Verifies a ListServingConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListServingConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListServingConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListServingConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListServingConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsResponse. */
+ interface IListServingConfigsResponse {
+
+ /** ListServingConfigsResponse servingConfigs */
+ servingConfigs?: (google.cloud.retail.v2alpha.IServingConfig[]|null);
+
+ /** ListServingConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsResponse. */
+ class ListServingConfigsResponse implements IListServingConfigsResponse {
+
+ /**
+ * Constructs a new ListServingConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IListServingConfigsResponse);
+
+ /** ListServingConfigsResponse servingConfigs. */
+ public servingConfigs: google.cloud.retail.v2alpha.IServingConfig[];
+
+ /** ListServingConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IListServingConfigsResponse): google.cloud.retail.v2alpha.ListServingConfigsResponse;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.ListServingConfigsResponse;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.ListServingConfigsResponse;
+
+ /**
+ * Verifies a ListServingConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.ListServingConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListServingConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListServingConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.ListServingConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddControlRequest. */
+ interface IAddControlRequest {
+
+ /** AddControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** AddControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents an AddControlRequest. */
+ class AddControlRequest implements IAddControlRequest {
+
+ /**
+ * Constructs a new AddControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IAddControlRequest);
+
+ /** AddControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** AddControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new AddControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IAddControlRequest): google.cloud.retail.v2alpha.AddControlRequest;
+
+ /**
+ * Encodes the specified AddControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.AddControlRequest;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.AddControlRequest;
+
+ /**
+ * Verifies an AddControlRequest message.
+ * @param message Plain 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 AddControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.AddControlRequest;
+
+ /**
+ * Creates a plain object from an AddControlRequest message. Also converts values to other types if specified.
+ * @param message AddControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.AddControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveControlRequest. */
+ interface IRemoveControlRequest {
+
+ /** RemoveControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** RemoveControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a RemoveControlRequest. */
+ class RemoveControlRequest implements IRemoveControlRequest {
+
+ /**
+ * Constructs a new RemoveControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRemoveControlRequest);
+
+ /** RemoveControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** RemoveControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new RemoveControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRemoveControlRequest): google.cloud.retail.v2alpha.RemoveControlRequest;
+
+ /**
+ * Encodes the specified RemoveControlRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RemoveControlRequest;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.RemoveControlRequest;
+
+ /**
+ * Verifies a RemoveControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RemoveControlRequest;
+
+ /**
+ * Creates a plain object from a RemoveControlRequest message. Also converts values to other types if specified.
+ * @param message RemoveControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RemoveControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a UserEventService */
+ class UserEventService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new UserEventService 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 UserEventService 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): UserEventService;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UserEvent
+ */
+ public writeUserEvent(request: google.cloud.retail.v2alpha.IWriteUserEventRequest, callback: google.cloud.retail.v2alpha.UserEventService.WriteUserEventCallback): void;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public writeUserEvent(request: google.cloud.retail.v2alpha.IWriteUserEventRequest): Promise;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and HttpBody
+ */
+ public collectUserEvent(request: google.cloud.retail.v2alpha.ICollectUserEventRequest, callback: google.cloud.retail.v2alpha.UserEventService.CollectUserEventCallback): void;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public collectUserEvent(request: google.cloud.retail.v2alpha.ICollectUserEventRequest): Promise;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2alpha.IPurgeUserEventsRequest, callback: google.cloud.retail.v2alpha.UserEventService.PurgeUserEventsCallback): void;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2alpha.IPurgeUserEventsRequest): Promise;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importUserEvents(request: google.cloud.retail.v2alpha.IImportUserEventsRequest, callback: google.cloud.retail.v2alpha.UserEventService.ImportUserEventsCallback): void;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public importUserEvents(request: google.cloud.retail.v2alpha.IImportUserEventsRequest): Promise;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2alpha.IRejoinUserEventsRequest, callback: google.cloud.retail.v2alpha.UserEventService.RejoinUserEventsCallback): void;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2alpha.IRejoinUserEventsRequest): Promise;
+ }
+
+ namespace UserEventService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.UserEventService|writeUserEvent}.
+ * @param error Error, if any
+ * @param [response] UserEvent
+ */
+ type WriteUserEventCallback = (error: (Error|null), response?: google.cloud.retail.v2alpha.UserEvent) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.UserEventService|collectUserEvent}.
+ * @param error Error, if any
+ * @param [response] HttpBody
+ */
+ type CollectUserEventCallback = (error: (Error|null), response?: google.api.HttpBody) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.UserEventService|purgeUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type PurgeUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.UserEventService|importUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2alpha.UserEventService|rejoinUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RejoinUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a WriteUserEventRequest. */
+ interface IWriteUserEventRequest {
+
+ /** WriteUserEventRequest parent */
+ parent?: (string|null);
+
+ /** WriteUserEventRequest userEvent */
+ userEvent?: (google.cloud.retail.v2alpha.IUserEvent|null);
+ }
+
+ /** Represents a WriteUserEventRequest. */
+ class WriteUserEventRequest implements IWriteUserEventRequest {
+
+ /**
+ * Constructs a new WriteUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IWriteUserEventRequest);
+
+ /** WriteUserEventRequest parent. */
+ public parent: string;
+
+ /** WriteUserEventRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2alpha.IUserEvent|null);
+
+ /**
+ * Creates a new WriteUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IWriteUserEventRequest): google.cloud.retail.v2alpha.WriteUserEventRequest;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.WriteUserEventRequest;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.WriteUserEventRequest;
+
+ /**
+ * Verifies a WriteUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WriteUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.WriteUserEventRequest;
+
+ /**
+ * Creates a plain object from a WriteUserEventRequest message. Also converts values to other types if specified.
+ * @param message WriteUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.WriteUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CollectUserEventRequest. */
+ interface ICollectUserEventRequest {
+
+ /** CollectUserEventRequest parent */
+ parent?: (string|null);
+
+ /** CollectUserEventRequest userEvent */
+ userEvent?: (string|null);
+
+ /** CollectUserEventRequest uri */
+ uri?: (string|null);
+
+ /** CollectUserEventRequest ets */
+ ets?: (number|Long|string|null);
+ }
+
+ /** Represents a CollectUserEventRequest. */
+ class CollectUserEventRequest implements ICollectUserEventRequest {
+
+ /**
+ * Constructs a new CollectUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.ICollectUserEventRequest);
+
+ /** CollectUserEventRequest parent. */
+ public parent: string;
+
+ /** CollectUserEventRequest userEvent. */
+ public userEvent: string;
+
+ /** CollectUserEventRequest uri. */
+ public uri: string;
+
+ /** CollectUserEventRequest ets. */
+ public ets: (number|Long|string);
+
+ /**
+ * Creates a new CollectUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CollectUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.ICollectUserEventRequest): google.cloud.retail.v2alpha.CollectUserEventRequest;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.CollectUserEventRequest;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.CollectUserEventRequest;
+
+ /**
+ * Verifies a CollectUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CollectUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CollectUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.CollectUserEventRequest;
+
+ /**
+ * Creates a plain object from a CollectUserEventRequest message. Also converts values to other types if specified.
+ * @param message CollectUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.CollectUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CollectUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CollectUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsRequest. */
+ interface IRejoinUserEventsRequest {
+
+ /** RejoinUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** RejoinUserEventsRequest userEventRejoinScope */
+ userEventRejoinScope?: (google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope|null);
+ }
+
+ /** Represents a RejoinUserEventsRequest. */
+ class RejoinUserEventsRequest implements IRejoinUserEventsRequest {
+
+ /**
+ * Constructs a new RejoinUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsRequest);
+
+ /** RejoinUserEventsRequest parent. */
+ public parent: string;
+
+ /** RejoinUserEventsRequest userEventRejoinScope. */
+ public userEventRejoinScope: (google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2alpha.RejoinUserEventsRequest.UserEventRejoinScope);
+
+ /**
+ * Creates a new RejoinUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsRequest): google.cloud.retail.v2alpha.RejoinUserEventsRequest;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RejoinUserEventsRequest;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2alpha.RejoinUserEventsRequest;
+
+ /**
+ * Verifies a RejoinUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RejoinUserEventsRequest;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsRequest message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RejoinUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RejoinUserEventsRequest {
+
+ /** UserEventRejoinScope enum. */
+ enum UserEventRejoinScope {
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0,
+ JOINED_EVENTS = 1,
+ UNJOINED_EVENTS = 2
+ }
+ }
+
+ /** Properties of a RejoinUserEventsResponse. */
+ interface IRejoinUserEventsResponse {
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount */
+ rejoinedUserEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a RejoinUserEventsResponse. */
+ class RejoinUserEventsResponse implements IRejoinUserEventsResponse {
+
+ /**
+ * Constructs a new RejoinUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsResponse);
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount. */
+ public rejoinedUserEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new RejoinUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsResponse): google.cloud.retail.v2alpha.RejoinUserEventsResponse;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RejoinUserEventsResponse;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2alpha.RejoinUserEventsResponse;
+
+ /**
+ * Verifies a RejoinUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RejoinUserEventsResponse;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsResponse message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RejoinUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsMetadata. */
+ interface IRejoinUserEventsMetadata {
+ }
+
+ /** Represents a RejoinUserEventsMetadata. */
+ class RejoinUserEventsMetadata implements IRejoinUserEventsMetadata {
+
+ /**
+ * Constructs a new RejoinUserEventsMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsMetadata);
+
+ /**
+ * Creates a new RejoinUserEventsMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2alpha.IRejoinUserEventsMetadata): google.cloud.retail.v2alpha.RejoinUserEventsMetadata;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2alpha.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2alpha.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2alpha.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload is not 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.retail.v2alpha.RejoinUserEventsMetadata;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload 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.retail.v2alpha.RejoinUserEventsMetadata;
+
+ /**
+ * Verifies a RejoinUserEventsMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2alpha.RejoinUserEventsMetadata;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsMetadata message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2alpha.RejoinUserEventsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v2beta. */
+ namespace v2beta {
+
+ /** Properties of a ProductLevelConfig. */
+ interface IProductLevelConfig {
+
+ /** ProductLevelConfig ingestionProductType */
+ ingestionProductType?: (string|null);
+
+ /** ProductLevelConfig merchantCenterProductIdField */
+ merchantCenterProductIdField?: (string|null);
+ }
+
+ /** Represents a ProductLevelConfig. */
+ class ProductLevelConfig implements IProductLevelConfig {
+
+ /**
+ * Constructs a new ProductLevelConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IProductLevelConfig);
+
+ /** ProductLevelConfig ingestionProductType. */
+ public ingestionProductType: string;
+
+ /** ProductLevelConfig merchantCenterProductIdField. */
+ public merchantCenterProductIdField: string;
+
+ /**
+ * Creates a new ProductLevelConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductLevelConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IProductLevelConfig): google.cloud.retail.v2beta.ProductLevelConfig;
+
+ /**
+ * Encodes the specified ProductLevelConfig message. Does not implicitly {@link google.cloud.retail.v2beta.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductLevelConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ProductLevelConfig.verify|verify} messages.
+ * @param message ProductLevelConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IProductLevelConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.ProductLevelConfig;
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductLevelConfig
+ * @throws {Error} If the payload 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.retail.v2beta.ProductLevelConfig;
+
+ /**
+ * Verifies a ProductLevelConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductLevelConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductLevelConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ProductLevelConfig;
+
+ /**
+ * Creates a plain object from a ProductLevelConfig message. Also converts values to other types if specified.
+ * @param message ProductLevelConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ProductLevelConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductLevelConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductLevelConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CatalogAttribute. */
+ interface ICatalogAttribute {
+
+ /** CatalogAttribute key */
+ key?: (string|null);
+
+ /** CatalogAttribute inUse */
+ inUse?: (boolean|null);
+
+ /** CatalogAttribute type */
+ type?: (google.cloud.retail.v2beta.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.AttributeType|null);
+
+ /** CatalogAttribute indexableOption */
+ indexableOption?: (google.cloud.retail.v2beta.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.IndexableOption|null);
+
+ /** CatalogAttribute dynamicFacetableOption */
+ dynamicFacetableOption?: (google.cloud.retail.v2beta.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.DynamicFacetableOption|null);
+
+ /** CatalogAttribute searchableOption */
+ searchableOption?: (google.cloud.retail.v2beta.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.SearchableOption|null);
+
+ /** CatalogAttribute recommendationsFilteringOption */
+ recommendationsFilteringOption?: (google.cloud.retail.v2beta.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2beta.RecommendationsFilteringOption|null);
+
+ /** CatalogAttribute exactSearchableOption */
+ exactSearchableOption?: (google.cloud.retail.v2beta.CatalogAttribute.ExactSearchableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.ExactSearchableOption|null);
+ }
+
+ /** Represents a CatalogAttribute. */
+ class CatalogAttribute implements ICatalogAttribute {
+
+ /**
+ * Constructs a new CatalogAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICatalogAttribute);
+
+ /** CatalogAttribute key. */
+ public key: string;
+
+ /** CatalogAttribute inUse. */
+ public inUse: boolean;
+
+ /** CatalogAttribute type. */
+ public type: (google.cloud.retail.v2beta.CatalogAttribute.AttributeType|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.AttributeType);
+
+ /** CatalogAttribute indexableOption. */
+ public indexableOption: (google.cloud.retail.v2beta.CatalogAttribute.IndexableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.IndexableOption);
+
+ /** CatalogAttribute dynamicFacetableOption. */
+ public dynamicFacetableOption: (google.cloud.retail.v2beta.CatalogAttribute.DynamicFacetableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.DynamicFacetableOption);
+
+ /** CatalogAttribute searchableOption. */
+ public searchableOption: (google.cloud.retail.v2beta.CatalogAttribute.SearchableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.SearchableOption);
+
+ /** CatalogAttribute recommendationsFilteringOption. */
+ public recommendationsFilteringOption: (google.cloud.retail.v2beta.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2beta.RecommendationsFilteringOption);
+
+ /** CatalogAttribute exactSearchableOption. */
+ public exactSearchableOption: (google.cloud.retail.v2beta.CatalogAttribute.ExactSearchableOption|keyof typeof google.cloud.retail.v2beta.CatalogAttribute.ExactSearchableOption);
+
+ /**
+ * Creates a new CatalogAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CatalogAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICatalogAttribute): google.cloud.retail.v2beta.CatalogAttribute;
+
+ /**
+ * Encodes the specified CatalogAttribute message. Does not implicitly {@link google.cloud.retail.v2beta.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CatalogAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CatalogAttribute.verify|verify} messages.
+ * @param message CatalogAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICatalogAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload is not 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.retail.v2beta.CatalogAttribute;
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CatalogAttribute
+ * @throws {Error} If the payload 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.retail.v2beta.CatalogAttribute;
+
+ /**
+ * Verifies a CatalogAttribute message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CatalogAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CatalogAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CatalogAttribute;
+
+ /**
+ * Creates a plain object from a CatalogAttribute message. Also converts values to other types if specified.
+ * @param message CatalogAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CatalogAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CatalogAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CatalogAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CatalogAttribute {
+
+ /** AttributeType enum. */
+ enum AttributeType {
+ UNKNOWN = 0,
+ TEXTUAL = 1,
+ NUMERICAL = 2
+ }
+
+ /** IndexableOption enum. */
+ enum IndexableOption {
+ INDEXABLE_OPTION_UNSPECIFIED = 0,
+ INDEXABLE_ENABLED = 1,
+ INDEXABLE_DISABLED = 2
+ }
+
+ /** DynamicFacetableOption enum. */
+ enum DynamicFacetableOption {
+ DYNAMIC_FACETABLE_OPTION_UNSPECIFIED = 0,
+ DYNAMIC_FACETABLE_ENABLED = 1,
+ DYNAMIC_FACETABLE_DISABLED = 2
+ }
+
+ /** SearchableOption enum. */
+ enum SearchableOption {
+ SEARCHABLE_OPTION_UNSPECIFIED = 0,
+ SEARCHABLE_ENABLED = 1,
+ SEARCHABLE_DISABLED = 2
+ }
+
+ /** ExactSearchableOption enum. */
+ enum ExactSearchableOption {
+ EXACT_SEARCHABLE_OPTION_UNSPECIFIED = 0,
+ EXACT_SEARCHABLE_ENABLED = 1,
+ EXACT_SEARCHABLE_DISABLED = 2
+ }
+ }
+
+ /** Properties of an AttributesConfig. */
+ interface IAttributesConfig {
+
+ /** AttributesConfig name */
+ name?: (string|null);
+
+ /** AttributesConfig catalogAttributes */
+ catalogAttributes?: ({ [k: string]: google.cloud.retail.v2beta.ICatalogAttribute }|null);
+
+ /** AttributesConfig attributeConfigLevel */
+ attributeConfigLevel?: (google.cloud.retail.v2beta.AttributeConfigLevel|keyof typeof google.cloud.retail.v2beta.AttributeConfigLevel|null);
+ }
+
+ /** Represents an AttributesConfig. */
+ class AttributesConfig implements IAttributesConfig {
+
+ /**
+ * Constructs a new AttributesConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAttributesConfig);
+
+ /** AttributesConfig name. */
+ public name: string;
+
+ /** AttributesConfig catalogAttributes. */
+ public catalogAttributes: { [k: string]: google.cloud.retail.v2beta.ICatalogAttribute };
+
+ /** AttributesConfig attributeConfigLevel. */
+ public attributeConfigLevel: (google.cloud.retail.v2beta.AttributeConfigLevel|keyof typeof google.cloud.retail.v2beta.AttributeConfigLevel);
+
+ /**
+ * Creates a new AttributesConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttributesConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAttributesConfig): google.cloud.retail.v2beta.AttributesConfig;
+
+ /**
+ * Encodes the specified AttributesConfig message. Does not implicitly {@link google.cloud.retail.v2beta.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttributesConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AttributesConfig.verify|verify} messages.
+ * @param message AttributesConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAttributesConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttributesConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.AttributesConfig;
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttributesConfig
+ * @throws {Error} If the payload 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.retail.v2beta.AttributesConfig;
+
+ /**
+ * Verifies an AttributesConfig message.
+ * @param message Plain 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 AttributesConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttributesConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AttributesConfig;
+
+ /**
+ * Creates a plain object from an AttributesConfig message. Also converts values to other types if specified.
+ * @param message AttributesConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AttributesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttributesConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttributesConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionConfig. */
+ interface ICompletionConfig {
+
+ /** CompletionConfig name */
+ name?: (string|null);
+
+ /** CompletionConfig matchingOrder */
+ matchingOrder?: (string|null);
+
+ /** CompletionConfig maxSuggestions */
+ maxSuggestions?: (number|null);
+
+ /** CompletionConfig minPrefixLength */
+ minPrefixLength?: (number|null);
+
+ /** CompletionConfig autoLearning */
+ autoLearning?: (boolean|null);
+
+ /** CompletionConfig suggestionsInputConfig */
+ suggestionsInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation */
+ lastSuggestionsImportOperation?: (string|null);
+
+ /** CompletionConfig denylistInputConfig */
+ denylistInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation */
+ lastDenylistImportOperation?: (string|null);
+
+ /** CompletionConfig allowlistInputConfig */
+ allowlistInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation */
+ lastAllowlistImportOperation?: (string|null);
+ }
+
+ /** Represents a CompletionConfig. */
+ class CompletionConfig implements ICompletionConfig {
+
+ /**
+ * Constructs a new CompletionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICompletionConfig);
+
+ /** CompletionConfig name. */
+ public name: string;
+
+ /** CompletionConfig matchingOrder. */
+ public matchingOrder: string;
+
+ /** CompletionConfig maxSuggestions. */
+ public maxSuggestions: number;
+
+ /** CompletionConfig minPrefixLength. */
+ public minPrefixLength: number;
+
+ /** CompletionConfig autoLearning. */
+ public autoLearning: boolean;
+
+ /** CompletionConfig suggestionsInputConfig. */
+ public suggestionsInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastSuggestionsImportOperation. */
+ public lastSuggestionsImportOperation: string;
+
+ /** CompletionConfig denylistInputConfig. */
+ public denylistInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastDenylistImportOperation. */
+ public lastDenylistImportOperation: string;
+
+ /** CompletionConfig allowlistInputConfig. */
+ public allowlistInputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** CompletionConfig lastAllowlistImportOperation. */
+ public lastAllowlistImportOperation: string;
+
+ /**
+ * Creates a new CompletionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICompletionConfig): google.cloud.retail.v2beta.CompletionConfig;
+
+ /**
+ * Encodes the specified CompletionConfig message. Does not implicitly {@link google.cloud.retail.v2beta.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CompletionConfig.verify|verify} messages.
+ * @param message CompletionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICompletionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.CompletionConfig;
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionConfig
+ * @throws {Error} If the payload 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.retail.v2beta.CompletionConfig;
+
+ /**
+ * Verifies a CompletionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CompletionConfig;
+
+ /**
+ * Creates a plain object from a CompletionConfig message. Also converts values to other types if specified.
+ * @param message CompletionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CompletionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantCenterLink. */
+ interface IMerchantCenterLink {
+
+ /** MerchantCenterLink merchantCenterAccountId */
+ merchantCenterAccountId?: (number|Long|string|null);
+
+ /** MerchantCenterLink branchId */
+ branchId?: (string|null);
+
+ /** MerchantCenterLink destinations */
+ destinations?: (string[]|null);
+
+ /** MerchantCenterLink regionCode */
+ regionCode?: (string|null);
+
+ /** MerchantCenterLink languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a MerchantCenterLink. */
+ class MerchantCenterLink implements IMerchantCenterLink {
+
+ /**
+ * Constructs a new MerchantCenterLink.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IMerchantCenterLink);
+
+ /** MerchantCenterLink merchantCenterAccountId. */
+ public merchantCenterAccountId: (number|Long|string);
+
+ /** MerchantCenterLink branchId. */
+ public branchId: string;
+
+ /** MerchantCenterLink destinations. */
+ public destinations: string[];
+
+ /** MerchantCenterLink regionCode. */
+ public regionCode: string;
+
+ /** MerchantCenterLink languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new MerchantCenterLink instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantCenterLink instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IMerchantCenterLink): google.cloud.retail.v2beta.MerchantCenterLink;
+
+ /**
+ * Encodes the specified MerchantCenterLink message. Does not implicitly {@link google.cloud.retail.v2beta.MerchantCenterLink.verify|verify} messages.
+ * @param message MerchantCenterLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IMerchantCenterLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantCenterLink message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.MerchantCenterLink.verify|verify} messages.
+ * @param message MerchantCenterLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IMerchantCenterLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantCenterLink message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantCenterLink
+ * @throws {Error} If the payload is not 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.retail.v2beta.MerchantCenterLink;
+
+ /**
+ * Decodes a MerchantCenterLink message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantCenterLink
+ * @throws {Error} If the payload 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.retail.v2beta.MerchantCenterLink;
+
+ /**
+ * Verifies a MerchantCenterLink message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantCenterLink message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantCenterLink
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.MerchantCenterLink;
+
+ /**
+ * Creates a plain object from a MerchantCenterLink message. Also converts values to other types if specified.
+ * @param message MerchantCenterLink
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.MerchantCenterLink, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantCenterLink to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantCenterLink
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MerchantCenterLinkingConfig. */
+ interface IMerchantCenterLinkingConfig {
+
+ /** MerchantCenterLinkingConfig links */
+ links?: (google.cloud.retail.v2beta.IMerchantCenterLink[]|null);
+ }
+
+ /** Represents a MerchantCenterLinkingConfig. */
+ class MerchantCenterLinkingConfig implements IMerchantCenterLinkingConfig {
+
+ /**
+ * Constructs a new MerchantCenterLinkingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IMerchantCenterLinkingConfig);
+
+ /** MerchantCenterLinkingConfig links. */
+ public links: google.cloud.retail.v2beta.IMerchantCenterLink[];
+
+ /**
+ * Creates a new MerchantCenterLinkingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MerchantCenterLinkingConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IMerchantCenterLinkingConfig): google.cloud.retail.v2beta.MerchantCenterLinkingConfig;
+
+ /**
+ * Encodes the specified MerchantCenterLinkingConfig message. Does not implicitly {@link google.cloud.retail.v2beta.MerchantCenterLinkingConfig.verify|verify} messages.
+ * @param message MerchantCenterLinkingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IMerchantCenterLinkingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MerchantCenterLinkingConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.MerchantCenterLinkingConfig.verify|verify} messages.
+ * @param message MerchantCenterLinkingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IMerchantCenterLinkingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MerchantCenterLinkingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MerchantCenterLinkingConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.MerchantCenterLinkingConfig;
+
+ /**
+ * Decodes a MerchantCenterLinkingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MerchantCenterLinkingConfig
+ * @throws {Error} If the payload 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.retail.v2beta.MerchantCenterLinkingConfig;
+
+ /**
+ * Verifies a MerchantCenterLinkingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MerchantCenterLinkingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MerchantCenterLinkingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.MerchantCenterLinkingConfig;
+
+ /**
+ * Creates a plain object from a MerchantCenterLinkingConfig message. Also converts values to other types if specified.
+ * @param message MerchantCenterLinkingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.MerchantCenterLinkingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MerchantCenterLinkingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MerchantCenterLinkingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Catalog. */
+ interface ICatalog {
+
+ /** Catalog name */
+ name?: (string|null);
+
+ /** Catalog displayName */
+ displayName?: (string|null);
+
+ /** Catalog productLevelConfig */
+ productLevelConfig?: (google.cloud.retail.v2beta.IProductLevelConfig|null);
+
+ /** Catalog merchantCenterLinkingConfig */
+ merchantCenterLinkingConfig?: (google.cloud.retail.v2beta.IMerchantCenterLinkingConfig|null);
+ }
+
+ /** Represents a Catalog. */
+ class Catalog implements ICatalog {
+
+ /**
+ * Constructs a new Catalog.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICatalog);
+
+ /** Catalog name. */
+ public name: string;
+
+ /** Catalog displayName. */
+ public displayName: string;
+
+ /** Catalog productLevelConfig. */
+ public productLevelConfig?: (google.cloud.retail.v2beta.IProductLevelConfig|null);
+
+ /** Catalog merchantCenterLinkingConfig. */
+ public merchantCenterLinkingConfig?: (google.cloud.retail.v2beta.IMerchantCenterLinkingConfig|null);
+
+ /**
+ * Creates a new Catalog instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Catalog instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICatalog): google.cloud.retail.v2beta.Catalog;
+
+ /**
+ * Encodes the specified Catalog message. Does not implicitly {@link google.cloud.retail.v2beta.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Catalog message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Catalog.verify|verify} messages.
+ * @param message Catalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Catalog
+ * @throws {Error} If the payload is not 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.retail.v2beta.Catalog;
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Catalog
+ * @throws {Error} If the payload 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.retail.v2beta.Catalog;
+
+ /**
+ * Verifies a Catalog message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Catalog message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Catalog
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Catalog;
+
+ /**
+ * Creates a plain object from a Catalog message. Also converts values to other types if specified.
+ * @param message Catalog
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Catalog, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Catalog to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Catalog
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** AttributeConfigLevel enum. */
+ enum AttributeConfigLevel {
+ ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED = 0,
+ PRODUCT_LEVEL_ATTRIBUTE_CONFIG = 1,
+ CATALOG_LEVEL_ATTRIBUTE_CONFIG = 2
+ }
+
+ /** SolutionType enum. */
+ enum SolutionType {
+ SOLUTION_TYPE_UNSPECIFIED = 0,
+ SOLUTION_TYPE_RECOMMENDATION = 1,
+ SOLUTION_TYPE_SEARCH = 2
+ }
+
+ /** RecommendationsFilteringOption enum. */
+ enum RecommendationsFilteringOption {
+ RECOMMENDATIONS_FILTERING_OPTION_UNSPECIFIED = 0,
+ RECOMMENDATIONS_FILTERING_DISABLED = 1,
+ RECOMMENDATIONS_FILTERING_ENABLED = 3
+ }
+
+ /** SearchSolutionUseCase enum. */
+ enum SearchSolutionUseCase {
+ SEARCH_SOLUTION_USE_CASE_UNSPECIFIED = 0,
+ SEARCH_SOLUTION_USE_CASE_SEARCH = 1,
+ SEARCH_SOLUTION_USE_CASE_BROWSE = 2
+ }
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition queryTerms */
+ queryTerms?: (google.cloud.retail.v2beta.Condition.IQueryTerm[]|null);
+
+ /** Condition activeTimeRange */
+ activeTimeRange?: (google.cloud.retail.v2beta.Condition.ITimeRange[]|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICondition);
+
+ /** Condition queryTerms. */
+ public queryTerms: google.cloud.retail.v2beta.Condition.IQueryTerm[];
+
+ /** Condition activeTimeRange. */
+ public activeTimeRange: google.cloud.retail.v2beta.Condition.ITimeRange[];
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICondition): google.cloud.retail.v2beta.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.cloud.retail.v2beta.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Condition
+ * @throws {Error} If the payload is not 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.retail.v2beta.Condition;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Condition
+ * @throws {Error} If the payload 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.retail.v2beta.Condition;
+
+ /**
+ * Verifies a Condition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Condition
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Condition;
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @param message Condition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Condition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Condition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Condition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Condition {
+
+ /** Properties of a QueryTerm. */
+ interface IQueryTerm {
+
+ /** QueryTerm value */
+ value?: (string|null);
+
+ /** QueryTerm fullMatch */
+ fullMatch?: (boolean|null);
+ }
+
+ /** Represents a QueryTerm. */
+ class QueryTerm implements IQueryTerm {
+
+ /**
+ * Constructs a new QueryTerm.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Condition.IQueryTerm);
+
+ /** QueryTerm value. */
+ public value: string;
+
+ /** QueryTerm fullMatch. */
+ public fullMatch: boolean;
+
+ /**
+ * Creates a new QueryTerm instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryTerm instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Condition.IQueryTerm): google.cloud.retail.v2beta.Condition.QueryTerm;
+
+ /**
+ * Encodes the specified QueryTerm message. Does not implicitly {@link google.cloud.retail.v2beta.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryTerm message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Condition.QueryTerm.verify|verify} messages.
+ * @param message QueryTerm message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Condition.IQueryTerm, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryTerm
+ * @throws {Error} If the payload is not 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.retail.v2beta.Condition.QueryTerm;
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryTerm
+ * @throws {Error} If the payload 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.retail.v2beta.Condition.QueryTerm;
+
+ /**
+ * Verifies a QueryTerm message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryTerm message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryTerm
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Condition.QueryTerm;
+
+ /**
+ * Creates a plain object from a QueryTerm message. Also converts values to other types if specified.
+ * @param message QueryTerm
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Condition.QueryTerm, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryTerm to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryTerm
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeRange. */
+ interface ITimeRange {
+
+ /** TimeRange startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeRange. */
+ class TimeRange implements ITimeRange {
+
+ /**
+ * Constructs a new TimeRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Condition.ITimeRange);
+
+ /** TimeRange startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeRange endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Condition.ITimeRange): google.cloud.retail.v2beta.Condition.TimeRange;
+
+ /**
+ * Encodes the specified TimeRange message. Does not implicitly {@link google.cloud.retail.v2beta.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Condition.TimeRange.verify|verify} messages.
+ * @param message TimeRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Condition.ITimeRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeRange
+ * @throws {Error} If the payload is not 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.retail.v2beta.Condition.TimeRange;
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeRange
+ * @throws {Error} If the payload 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.retail.v2beta.Condition.TimeRange;
+
+ /**
+ * Verifies a TimeRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Condition.TimeRange;
+
+ /**
+ * Creates a plain object from a TimeRange message. Also converts values to other types if specified.
+ * @param message TimeRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Condition.TimeRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rule. */
+ interface IRule {
+
+ /** Rule boostAction */
+ boostAction?: (google.cloud.retail.v2beta.Rule.IBoostAction|null);
+
+ /** Rule redirectAction */
+ redirectAction?: (google.cloud.retail.v2beta.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction */
+ onewaySynonymsAction?: (google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction */
+ doNotAssociateAction?: (google.cloud.retail.v2beta.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction */
+ replacementAction?: (google.cloud.retail.v2beta.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction */
+ ignoreAction?: (google.cloud.retail.v2beta.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction */
+ filterAction?: (google.cloud.retail.v2beta.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction */
+ twowaySynonymsAction?: (google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition */
+ condition?: (google.cloud.retail.v2beta.ICondition|null);
+ }
+
+ /** Represents a Rule. */
+ class Rule implements IRule {
+
+ /**
+ * Constructs a new Rule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRule);
+
+ /** Rule boostAction. */
+ public boostAction?: (google.cloud.retail.v2beta.Rule.IBoostAction|null);
+
+ /** Rule redirectAction. */
+ public redirectAction?: (google.cloud.retail.v2beta.Rule.IRedirectAction|null);
+
+ /** Rule onewaySynonymsAction. */
+ public onewaySynonymsAction?: (google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction|null);
+
+ /** Rule doNotAssociateAction. */
+ public doNotAssociateAction?: (google.cloud.retail.v2beta.Rule.IDoNotAssociateAction|null);
+
+ /** Rule replacementAction. */
+ public replacementAction?: (google.cloud.retail.v2beta.Rule.IReplacementAction|null);
+
+ /** Rule ignoreAction. */
+ public ignoreAction?: (google.cloud.retail.v2beta.Rule.IIgnoreAction|null);
+
+ /** Rule filterAction. */
+ public filterAction?: (google.cloud.retail.v2beta.Rule.IFilterAction|null);
+
+ /** Rule twowaySynonymsAction. */
+ public twowaySynonymsAction?: (google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction|null);
+
+ /** Rule condition. */
+ public condition?: (google.cloud.retail.v2beta.ICondition|null);
+
+ /** Rule action. */
+ public action?: ("boostAction"|"redirectAction"|"onewaySynonymsAction"|"doNotAssociateAction"|"replacementAction"|"ignoreAction"|"filterAction"|"twowaySynonymsAction");
+
+ /**
+ * Creates a new Rule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rule instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRule): google.cloud.retail.v2beta.Rule;
+
+ /**
+ * Encodes the specified Rule message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rule message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.verify|verify} messages.
+ * @param message Rule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rule
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule;
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rule
+ * @throws {Error} If the payload 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.retail.v2beta.Rule;
+
+ /**
+ * Verifies a Rule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule;
+
+ /**
+ * Creates a plain object from a Rule message. Also converts values to other types if specified.
+ * @param message Rule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Rule {
+
+ /** Properties of a BoostAction. */
+ interface IBoostAction {
+
+ /** BoostAction boost */
+ boost?: (number|null);
+
+ /** BoostAction productsFilter */
+ productsFilter?: (string|null);
+ }
+
+ /** Represents a BoostAction. */
+ class BoostAction implements IBoostAction {
+
+ /**
+ * Constructs a new BoostAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IBoostAction);
+
+ /** BoostAction boost. */
+ public boost: number;
+
+ /** BoostAction productsFilter. */
+ public productsFilter: string;
+
+ /**
+ * Creates a new BoostAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IBoostAction): google.cloud.retail.v2beta.Rule.BoostAction;
+
+ /**
+ * Encodes the specified BoostAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.BoostAction.verify|verify} messages.
+ * @param message BoostAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IBoostAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.BoostAction;
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.BoostAction;
+
+ /**
+ * Verifies a BoostAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.BoostAction;
+
+ /**
+ * Creates a plain object from a BoostAction message. Also converts values to other types if specified.
+ * @param message BoostAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.BoostAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FilterAction. */
+ interface IFilterAction {
+
+ /** FilterAction filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a FilterAction. */
+ class FilterAction implements IFilterAction {
+
+ /**
+ * Constructs a new FilterAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IFilterAction);
+
+ /** FilterAction filter. */
+ public filter: string;
+
+ /**
+ * Creates a new FilterAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FilterAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IFilterAction): google.cloud.retail.v2beta.Rule.FilterAction;
+
+ /**
+ * Encodes the specified FilterAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FilterAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.FilterAction.verify|verify} messages.
+ * @param message FilterAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IFilterAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FilterAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.FilterAction;
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FilterAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.FilterAction;
+
+ /**
+ * Verifies a FilterAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FilterAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FilterAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.FilterAction;
+
+ /**
+ * Creates a plain object from a FilterAction message. Also converts values to other types if specified.
+ * @param message FilterAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.FilterAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FilterAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FilterAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RedirectAction. */
+ interface IRedirectAction {
+
+ /** RedirectAction redirectUri */
+ redirectUri?: (string|null);
+ }
+
+ /** Represents a RedirectAction. */
+ class RedirectAction implements IRedirectAction {
+
+ /**
+ * Constructs a new RedirectAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IRedirectAction);
+
+ /** RedirectAction redirectUri. */
+ public redirectUri: string;
+
+ /**
+ * Creates a new RedirectAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedirectAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IRedirectAction): google.cloud.retail.v2beta.Rule.RedirectAction;
+
+ /**
+ * Encodes the specified RedirectAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedirectAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.RedirectAction.verify|verify} messages.
+ * @param message RedirectAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IRedirectAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedirectAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.RedirectAction;
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedirectAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.RedirectAction;
+
+ /**
+ * Verifies a RedirectAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedirectAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedirectAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.RedirectAction;
+
+ /**
+ * Creates a plain object from a RedirectAction message. Also converts values to other types if specified.
+ * @param message RedirectAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.RedirectAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedirectAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RedirectAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TwowaySynonymsAction. */
+ interface ITwowaySynonymsAction {
+
+ /** TwowaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+ }
+
+ /** Represents a TwowaySynonymsAction. */
+ class TwowaySynonymsAction implements ITwowaySynonymsAction {
+
+ /**
+ * Constructs a new TwowaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction);
+
+ /** TwowaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /**
+ * Creates a new TwowaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TwowaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction): google.cloud.retail.v2beta.Rule.TwowaySynonymsAction;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @param message TwowaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.ITwowaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.TwowaySynonymsAction;
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TwowaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.TwowaySynonymsAction;
+
+ /**
+ * Verifies a TwowaySynonymsAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TwowaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TwowaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.TwowaySynonymsAction;
+
+ /**
+ * Creates a plain object from a TwowaySynonymsAction message. Also converts values to other types if specified.
+ * @param message TwowaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.TwowaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TwowaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TwowaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OnewaySynonymsAction. */
+ interface IOnewaySynonymsAction {
+
+ /** OnewaySynonymsAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** OnewaySynonymsAction synonyms */
+ synonyms?: (string[]|null);
+
+ /** OnewaySynonymsAction onewayTerms */
+ onewayTerms?: (string[]|null);
+ }
+
+ /** Represents an OnewaySynonymsAction. */
+ class OnewaySynonymsAction implements IOnewaySynonymsAction {
+
+ /**
+ * Constructs a new OnewaySynonymsAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction);
+
+ /** OnewaySynonymsAction queryTerms. */
+ public queryTerms: string[];
+
+ /** OnewaySynonymsAction synonyms. */
+ public synonyms: string[];
+
+ /** OnewaySynonymsAction onewayTerms. */
+ public onewayTerms: string[];
+
+ /**
+ * Creates a new OnewaySynonymsAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OnewaySynonymsAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction): google.cloud.retail.v2beta.Rule.OnewaySynonymsAction;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @param message OnewaySynonymsAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IOnewaySynonymsAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.OnewaySynonymsAction;
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OnewaySynonymsAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.OnewaySynonymsAction;
+
+ /**
+ * Verifies an OnewaySynonymsAction message.
+ * @param message Plain 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 OnewaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OnewaySynonymsAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.OnewaySynonymsAction;
+
+ /**
+ * Creates a plain object from an OnewaySynonymsAction message. Also converts values to other types if specified.
+ * @param message OnewaySynonymsAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.OnewaySynonymsAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OnewaySynonymsAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OnewaySynonymsAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoNotAssociateAction. */
+ interface IDoNotAssociateAction {
+
+ /** DoNotAssociateAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** DoNotAssociateAction doNotAssociateTerms */
+ doNotAssociateTerms?: (string[]|null);
+
+ /** DoNotAssociateAction terms */
+ terms?: (string[]|null);
+ }
+
+ /** Represents a DoNotAssociateAction. */
+ class DoNotAssociateAction implements IDoNotAssociateAction {
+
+ /**
+ * Constructs a new DoNotAssociateAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IDoNotAssociateAction);
+
+ /** DoNotAssociateAction queryTerms. */
+ public queryTerms: string[];
+
+ /** DoNotAssociateAction doNotAssociateTerms. */
+ public doNotAssociateTerms: string[];
+
+ /** DoNotAssociateAction terms. */
+ public terms: string[];
+
+ /**
+ * Creates a new DoNotAssociateAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoNotAssociateAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IDoNotAssociateAction): google.cloud.retail.v2beta.Rule.DoNotAssociateAction;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoNotAssociateAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.DoNotAssociateAction.verify|verify} messages.
+ * @param message DoNotAssociateAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IDoNotAssociateAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.DoNotAssociateAction;
+
+ /**
+ * Decodes a DoNotAssociateAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoNotAssociateAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.DoNotAssociateAction;
+
+ /**
+ * Verifies a DoNotAssociateAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoNotAssociateAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoNotAssociateAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.DoNotAssociateAction;
+
+ /**
+ * Creates a plain object from a DoNotAssociateAction message. Also converts values to other types if specified.
+ * @param message DoNotAssociateAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.DoNotAssociateAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoNotAssociateAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoNotAssociateAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplacementAction. */
+ interface IReplacementAction {
+
+ /** ReplacementAction queryTerms */
+ queryTerms?: (string[]|null);
+
+ /** ReplacementAction replacementTerm */
+ replacementTerm?: (string|null);
+
+ /** ReplacementAction term */
+ term?: (string|null);
+ }
+
+ /** Represents a ReplacementAction. */
+ class ReplacementAction implements IReplacementAction {
+
+ /**
+ * Constructs a new ReplacementAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IReplacementAction);
+
+ /** ReplacementAction queryTerms. */
+ public queryTerms: string[];
+
+ /** ReplacementAction replacementTerm. */
+ public replacementTerm: string;
+
+ /** ReplacementAction term. */
+ public term: string;
+
+ /**
+ * Creates a new ReplacementAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplacementAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IReplacementAction): google.cloud.retail.v2beta.Rule.ReplacementAction;
+
+ /**
+ * Encodes the specified ReplacementAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplacementAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.ReplacementAction.verify|verify} messages.
+ * @param message ReplacementAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IReplacementAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplacementAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.ReplacementAction;
+
+ /**
+ * Decodes a ReplacementAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplacementAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.ReplacementAction;
+
+ /**
+ * Verifies a ReplacementAction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplacementAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplacementAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.ReplacementAction;
+
+ /**
+ * Creates a plain object from a ReplacementAction message. Also converts values to other types if specified.
+ * @param message ReplacementAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.ReplacementAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplacementAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplacementAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IgnoreAction. */
+ interface IIgnoreAction {
+
+ /** IgnoreAction ignoreTerms */
+ ignoreTerms?: (string[]|null);
+ }
+
+ /** Represents an IgnoreAction. */
+ class IgnoreAction implements IIgnoreAction {
+
+ /**
+ * Constructs a new IgnoreAction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Rule.IIgnoreAction);
+
+ /** IgnoreAction ignoreTerms. */
+ public ignoreTerms: string[];
+
+ /**
+ * Creates a new IgnoreAction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IgnoreAction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Rule.IIgnoreAction): google.cloud.retail.v2beta.Rule.IgnoreAction;
+
+ /**
+ * Encodes the specified IgnoreAction message. Does not implicitly {@link google.cloud.retail.v2beta.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IgnoreAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rule.IgnoreAction.verify|verify} messages.
+ * @param message IgnoreAction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Rule.IIgnoreAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IgnoreAction
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rule.IgnoreAction;
+
+ /**
+ * Decodes an IgnoreAction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IgnoreAction
+ * @throws {Error} If the payload 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.retail.v2beta.Rule.IgnoreAction;
+
+ /**
+ * Verifies an IgnoreAction message.
+ * @param message Plain 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 IgnoreAction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IgnoreAction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rule.IgnoreAction;
+
+ /**
+ * Creates a plain object from an IgnoreAction message. Also converts values to other types if specified.
+ * @param message IgnoreAction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rule.IgnoreAction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IgnoreAction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IgnoreAction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Audience. */
+ interface IAudience {
+
+ /** Audience genders */
+ genders?: (string[]|null);
+
+ /** Audience ageGroups */
+ ageGroups?: (string[]|null);
+ }
+
+ /** Represents an Audience. */
+ class Audience implements IAudience {
+
+ /**
+ * Constructs a new Audience.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAudience);
+
+ /** Audience genders. */
+ public genders: string[];
+
+ /** Audience ageGroups. */
+ public ageGroups: string[];
+
+ /**
+ * Creates a new Audience instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Audience instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAudience): google.cloud.retail.v2beta.Audience;
+
+ /**
+ * Encodes the specified Audience message. Does not implicitly {@link google.cloud.retail.v2beta.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Audience message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Audience.verify|verify} messages.
+ * @param message Audience message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAudience, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Audience
+ * @throws {Error} If the payload is not 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.retail.v2beta.Audience;
+
+ /**
+ * Decodes an Audience message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Audience
+ * @throws {Error} If the payload 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.retail.v2beta.Audience;
+
+ /**
+ * Verifies an Audience message.
+ * @param message Plain 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 Audience message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Audience
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Audience;
+
+ /**
+ * Creates a plain object from an Audience message. Also converts values to other types if specified.
+ * @param message Audience
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Audience, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Audience to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Audience
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ColorInfo. */
+ interface IColorInfo {
+
+ /** ColorInfo colorFamilies */
+ colorFamilies?: (string[]|null);
+
+ /** ColorInfo colors */
+ colors?: (string[]|null);
+ }
+
+ /** Represents a ColorInfo. */
+ class ColorInfo implements IColorInfo {
+
+ /**
+ * Constructs a new ColorInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IColorInfo);
+
+ /** ColorInfo colorFamilies. */
+ public colorFamilies: string[];
+
+ /** ColorInfo colors. */
+ public colors: string[];
+
+ /**
+ * Creates a new ColorInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ColorInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IColorInfo): google.cloud.retail.v2beta.ColorInfo;
+
+ /**
+ * Encodes the specified ColorInfo message. Does not implicitly {@link google.cloud.retail.v2beta.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ColorInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ColorInfo.verify|verify} messages.
+ * @param message ColorInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IColorInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ColorInfo
+ * @throws {Error} If the payload is not 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.retail.v2beta.ColorInfo;
+
+ /**
+ * Decodes a ColorInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ColorInfo
+ * @throws {Error} If the payload 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.retail.v2beta.ColorInfo;
+
+ /**
+ * Verifies a ColorInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ColorInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ColorInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ColorInfo;
+
+ /**
+ * Creates a plain object from a ColorInfo message. Also converts values to other types if specified.
+ * @param message ColorInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ColorInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ColorInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ColorInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomAttribute. */
+ interface ICustomAttribute {
+
+ /** CustomAttribute text */
+ text?: (string[]|null);
+
+ /** CustomAttribute numbers */
+ numbers?: (number[]|null);
+
+ /** CustomAttribute searchable */
+ searchable?: (boolean|null);
+
+ /** CustomAttribute indexable */
+ indexable?: (boolean|null);
+ }
+
+ /** Represents a CustomAttribute. */
+ class CustomAttribute implements ICustomAttribute {
+
+ /**
+ * Constructs a new CustomAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICustomAttribute);
+
+ /** CustomAttribute text. */
+ public text: string[];
+
+ /** CustomAttribute numbers. */
+ public numbers: number[];
+
+ /** CustomAttribute searchable. */
+ public searchable?: (boolean|null);
+
+ /** CustomAttribute indexable. */
+ public indexable?: (boolean|null);
+
+ /** CustomAttribute _searchable. */
+ public _searchable?: "searchable";
+
+ /** CustomAttribute _indexable. */
+ public _indexable?: "indexable";
+
+ /**
+ * Creates a new CustomAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomAttribute instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICustomAttribute): google.cloud.retail.v2beta.CustomAttribute;
+
+ /**
+ * Encodes the specified CustomAttribute message. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.ICustomAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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 FulfillmentInfo. */
+ interface IFulfillmentInfo {
+
+ /** FulfillmentInfo type */
+ type?: (string|null);
+
+ /** FulfillmentInfo placeIds */
+ placeIds?: (string[]|null);
+ }
+
+ /** Represents a FulfillmentInfo. */
+ class FulfillmentInfo implements IFulfillmentInfo {
+
+ /**
+ * Constructs a new FulfillmentInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IFulfillmentInfo);
+
+ /** FulfillmentInfo type. */
+ public type: string;
+
+ /** FulfillmentInfo placeIds. */
+ public placeIds: string[];
+
+ /**
+ * Creates a new FulfillmentInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FulfillmentInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IFulfillmentInfo): google.cloud.retail.v2beta.FulfillmentInfo;
+
+ /**
+ * Encodes the specified FulfillmentInfo message. Does not implicitly {@link google.cloud.retail.v2beta.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FulfillmentInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.FulfillmentInfo.verify|verify} messages.
+ * @param message FulfillmentInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload is not 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.retail.v2beta.FulfillmentInfo;
+
+ /**
+ * Decodes a FulfillmentInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FulfillmentInfo
+ * @throws {Error} If the payload 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.retail.v2beta.FulfillmentInfo;
+
+ /**
+ * Verifies a FulfillmentInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FulfillmentInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FulfillmentInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.FulfillmentInfo;
+
+ /**
+ * Creates a plain object from a FulfillmentInfo message. Also converts values to other types if specified.
+ * @param message FulfillmentInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.FulfillmentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FulfillmentInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FulfillmentInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Image. */
+ interface IImage {
+
+ /** Image uri */
+ uri?: (string|null);
+
+ /** Image height */
+ height?: (number|null);
+
+ /** Image width */
+ width?: (number|null);
+ }
+
+ /** Represents an Image. */
+ class Image implements IImage {
+
+ /**
+ * Constructs a new Image.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImage);
+
+ /** Image uri. */
+ public uri: string;
+
+ /** Image height. */
+ public height: number;
+
+ /** Image width. */
+ public width: number;
+
+ /**
+ * Creates a new Image instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Image instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImage): google.cloud.retail.v2beta.Image;
+
+ /**
+ * Encodes the specified Image message. Does not implicitly {@link google.cloud.retail.v2beta.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Image message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Image.verify|verify} messages.
+ * @param message Image message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Image
+ * @throws {Error} If the payload is not 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.retail.v2beta.Image;
+
+ /**
+ * Decodes an Image message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Image
+ * @throws {Error} If the payload 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.retail.v2beta.Image;
+
+ /**
+ * Verifies an Image message.
+ * @param message Plain 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 Image message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Image
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Image;
+
+ /**
+ * Creates a plain object from an Image message. Also converts values to other types if specified.
+ * @param message Image
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Image, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Image to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Image
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Interval. */
+ interface IInterval {
+
+ /** Interval minimum */
+ minimum?: (number|null);
+
+ /** Interval exclusiveMinimum */
+ exclusiveMinimum?: (number|null);
+
+ /** Interval maximum */
+ maximum?: (number|null);
+
+ /** Interval exclusiveMaximum */
+ exclusiveMaximum?: (number|null);
+ }
+
+ /** Represents an Interval. */
+ class Interval implements IInterval {
+
+ /**
+ * Constructs a new Interval.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IInterval);
+
+ /** Interval minimum. */
+ public minimum?: (number|null);
+
+ /** Interval exclusiveMinimum. */
+ public exclusiveMinimum?: (number|null);
+
+ /** Interval maximum. */
+ public maximum?: (number|null);
+
+ /** Interval exclusiveMaximum. */
+ public exclusiveMaximum?: (number|null);
+
+ /** Interval min. */
+ public min?: ("minimum"|"exclusiveMinimum");
+
+ /** Interval max. */
+ public max?: ("maximum"|"exclusiveMaximum");
+
+ /**
+ * Creates a new Interval instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Interval instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IInterval): google.cloud.retail.v2beta.Interval;
+
+ /**
+ * Encodes the specified Interval message. Does not implicitly {@link google.cloud.retail.v2beta.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Interval.verify|verify} messages.
+ * @param message Interval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Interval
+ * @throws {Error} If the payload is not 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.retail.v2beta.Interval;
+
+ /**
+ * Decodes an Interval message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Interval
+ * @throws {Error} If the payload 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.retail.v2beta.Interval;
+
+ /**
+ * Verifies an Interval message.
+ * @param message Plain 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 Interval message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Interval
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Interval;
+
+ /**
+ * Creates a plain object from an Interval message. Also converts values to other types if specified.
+ * @param message Interval
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Interval to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Interval
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PriceInfo. */
+ interface IPriceInfo {
+
+ /** PriceInfo currencyCode */
+ currencyCode?: (string|null);
+
+ /** PriceInfo price */
+ price?: (number|null);
+
+ /** PriceInfo originalPrice */
+ originalPrice?: (number|null);
+
+ /** PriceInfo cost */
+ cost?: (number|null);
+
+ /** PriceInfo priceEffectiveTime */
+ priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime */
+ priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange */
+ priceRange?: (google.cloud.retail.v2beta.PriceInfo.IPriceRange|null);
+ }
+
+ /** Represents a PriceInfo. */
+ class PriceInfo implements IPriceInfo {
+
+ /**
+ * Constructs a new PriceInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPriceInfo);
+
+ /** PriceInfo currencyCode. */
+ public currencyCode: string;
+
+ /** PriceInfo price. */
+ public price: number;
+
+ /** PriceInfo originalPrice. */
+ public originalPrice: number;
+
+ /** PriceInfo cost. */
+ public cost: number;
+
+ /** PriceInfo priceEffectiveTime. */
+ public priceEffectiveTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceExpireTime. */
+ public priceExpireTime?: (google.protobuf.ITimestamp|null);
+
+ /** PriceInfo priceRange. */
+ public priceRange?: (google.cloud.retail.v2beta.PriceInfo.IPriceRange|null);
+
+ /**
+ * Creates a new PriceInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPriceInfo): google.cloud.retail.v2beta.PriceInfo;
+
+ /**
+ * Encodes the specified PriceInfo message. Does not implicitly {@link google.cloud.retail.v2beta.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PriceInfo.verify|verify} messages.
+ * @param message PriceInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPriceInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceInfo
+ * @throws {Error} If the payload is not 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.retail.v2beta.PriceInfo;
+
+ /**
+ * Decodes a PriceInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceInfo
+ * @throws {Error} If the payload 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.retail.v2beta.PriceInfo;
+
+ /**
+ * Verifies a PriceInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PriceInfo;
+
+ /**
+ * Creates a plain object from a PriceInfo message. Also converts values to other types if specified.
+ * @param message PriceInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PriceInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PriceInfo {
+
+ /** Properties of a PriceRange. */
+ interface IPriceRange {
+
+ /** PriceRange price */
+ price?: (google.cloud.retail.v2beta.IInterval|null);
+
+ /** PriceRange originalPrice */
+ originalPrice?: (google.cloud.retail.v2beta.IInterval|null);
+ }
+
+ /** Represents a PriceRange. */
+ class PriceRange implements IPriceRange {
+
+ /**
+ * Constructs a new PriceRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.PriceInfo.IPriceRange);
+
+ /** PriceRange price. */
+ public price?: (google.cloud.retail.v2beta.IInterval|null);
+
+ /** PriceRange originalPrice. */
+ public originalPrice?: (google.cloud.retail.v2beta.IInterval|null);
+
+ /**
+ * Creates a new PriceRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceRange instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.PriceInfo.IPriceRange): google.cloud.retail.v2beta.PriceInfo.PriceRange;
+
+ /**
+ * Encodes the specified PriceRange message. Does not implicitly {@link google.cloud.retail.v2beta.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PriceInfo.PriceRange.verify|verify} messages.
+ * @param message PriceRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.PriceInfo.IPriceRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceRange
+ * @throws {Error} If the payload is not 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.retail.v2beta.PriceInfo.PriceRange;
+
+ /**
+ * Decodes a PriceRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceRange
+ * @throws {Error} If the payload 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.retail.v2beta.PriceInfo.PriceRange;
+
+ /**
+ * Verifies a PriceRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PriceInfo.PriceRange;
+
+ /**
+ * Creates a plain object from a PriceRange message. Also converts values to other types if specified.
+ * @param message PriceRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PriceInfo.PriceRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Rating. */
+ interface IRating {
+
+ /** Rating ratingCount */
+ ratingCount?: (number|null);
+
+ /** Rating averageRating */
+ averageRating?: (number|null);
+
+ /** Rating ratingHistogram */
+ ratingHistogram?: (number[]|null);
+ }
+
+ /** Represents a Rating. */
+ class Rating implements IRating {
+
+ /**
+ * Constructs a new Rating.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRating);
+
+ /** Rating ratingCount. */
+ public ratingCount: number;
+
+ /** Rating averageRating. */
+ public averageRating: number;
+
+ /** Rating ratingHistogram. */
+ public ratingHistogram: number[];
+
+ /**
+ * Creates a new Rating instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Rating instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRating): google.cloud.retail.v2beta.Rating;
+
+ /**
+ * Encodes the specified Rating message. Does not implicitly {@link google.cloud.retail.v2beta.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Rating message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Rating.verify|verify} messages.
+ * @param message Rating message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRating, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Rating
+ * @throws {Error} If the payload is not 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.retail.v2beta.Rating;
+
+ /**
+ * Decodes a Rating message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Rating
+ * @throws {Error} If the payload 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.retail.v2beta.Rating;
+
+ /**
+ * Verifies a Rating message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Rating message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Rating
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Rating;
+
+ /**
+ * Creates a plain object from a Rating message. Also converts values to other types if specified.
+ * @param message Rating
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Rating, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Rating to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Rating
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserInfo. */
+ interface IUserInfo {
+
+ /** UserInfo userId */
+ userId?: (string|null);
+
+ /** UserInfo ipAddress */
+ ipAddress?: (string|null);
+
+ /** UserInfo userAgent */
+ userAgent?: (string|null);
+
+ /** UserInfo directUserRequest */
+ directUserRequest?: (boolean|null);
+ }
+
+ /** Represents a UserInfo. */
+ class UserInfo implements IUserInfo {
+
+ /**
+ * Constructs a new UserInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUserInfo);
+
+ /** UserInfo userId. */
+ public userId: string;
+
+ /** UserInfo ipAddress. */
+ public ipAddress: string;
+
+ /** UserInfo userAgent. */
+ public userAgent: string;
+
+ /** UserInfo directUserRequest. */
+ public directUserRequest: boolean;
+
+ /**
+ * Creates a new UserInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUserInfo): google.cloud.retail.v2beta.UserInfo;
+
+ /**
+ * Encodes the specified UserInfo message. Does not implicitly {@link google.cloud.retail.v2beta.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UserInfo.verify|verify} messages.
+ * @param message UserInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUserInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserInfo
+ * @throws {Error} If the payload is not 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.retail.v2beta.UserInfo;
+
+ /**
+ * Decodes a UserInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserInfo
+ * @throws {Error} If the payload 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.retail.v2beta.UserInfo;
+
+ /**
+ * Verifies a UserInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UserInfo;
+
+ /**
+ * Creates a plain object from a UserInfo message. Also converts values to other types if specified.
+ * @param message UserInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UserInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocalInventory. */
+ interface ILocalInventory {
+
+ /** LocalInventory placeId */
+ placeId?: (string|null);
+
+ /** LocalInventory priceInfo */
+ priceInfo?: (google.cloud.retail.v2beta.IPriceInfo|null);
+
+ /** LocalInventory attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2beta.ICustomAttribute }|null);
+
+ /** LocalInventory fulfillmentTypes */
+ fulfillmentTypes?: (string[]|null);
+ }
+
+ /** Represents a LocalInventory. */
+ class LocalInventory implements ILocalInventory {
+
+ /**
+ * Constructs a new LocalInventory.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ILocalInventory);
+
+ /** LocalInventory placeId. */
+ public placeId: string;
+
+ /** LocalInventory priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2beta.IPriceInfo|null);
+
+ /** LocalInventory attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2beta.ICustomAttribute };
+
+ /** LocalInventory fulfillmentTypes. */
+ public fulfillmentTypes: string[];
+
+ /**
+ * Creates a new LocalInventory instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocalInventory instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ILocalInventory): google.cloud.retail.v2beta.LocalInventory;
+
+ /**
+ * Encodes the specified LocalInventory message. Does not implicitly {@link google.cloud.retail.v2beta.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocalInventory message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.LocalInventory.verify|verify} messages.
+ * @param message LocalInventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ILocalInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocalInventory
+ * @throws {Error} If the payload is not 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.retail.v2beta.LocalInventory;
+
+ /**
+ * Decodes a LocalInventory message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocalInventory
+ * @throws {Error} If the payload 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.retail.v2beta.LocalInventory;
+
+ /**
+ * Verifies a LocalInventory message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LocalInventory message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocalInventory
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.LocalInventory;
+
+ /**
+ * Creates a plain object from a LocalInventory message. Also converts values to other types if specified.
+ * @param message LocalInventory
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.LocalInventory, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocalInventory to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocalInventory
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsSource. */
+ interface IGcsSource {
+
+ /** GcsSource inputUris */
+ inputUris?: (string[]|null);
+
+ /** GcsSource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a GcsSource. */
+ class GcsSource implements IGcsSource {
+
+ /**
+ * Constructs a new GcsSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGcsSource);
+
+ /** GcsSource inputUris. */
+ public inputUris: string[];
+
+ /** GcsSource dataSchema. */
+ public dataSchema: string;
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGcsSource): google.cloud.retail.v2beta.GcsSource;
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.retail.v2beta.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsSource
+ * @throws {Error} If the payload is not 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.retail.v2beta.GcsSource;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsSource
+ * @throws {Error} If the payload 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.retail.v2beta.GcsSource;
+
+ /**
+ * Verifies a GcsSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GcsSource;
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @param message GcsSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQuerySource. */
+ interface IBigQuerySource {
+
+ /** BigQuerySource partitionDate */
+ partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId */
+ projectId?: (string|null);
+
+ /** BigQuerySource datasetId */
+ datasetId?: (string|null);
+
+ /** BigQuerySource tableId */
+ tableId?: (string|null);
+
+ /** BigQuerySource gcsStagingDir */
+ gcsStagingDir?: (string|null);
+
+ /** BigQuerySource dataSchema */
+ dataSchema?: (string|null);
+ }
+
+ /** Represents a BigQuerySource. */
+ class BigQuerySource implements IBigQuerySource {
+
+ /**
+ * Constructs a new BigQuerySource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IBigQuerySource);
+
+ /** BigQuerySource partitionDate. */
+ public partitionDate?: (google.type.IDate|null);
+
+ /** BigQuerySource projectId. */
+ public projectId: string;
+
+ /** BigQuerySource datasetId. */
+ public datasetId: string;
+
+ /** BigQuerySource tableId. */
+ public tableId: string;
+
+ /** BigQuerySource gcsStagingDir. */
+ public gcsStagingDir: string;
+
+ /** BigQuerySource dataSchema. */
+ public dataSchema: string;
+
+ /** BigQuerySource partition. */
+ public partition?: "partitionDate";
+
+ /**
+ * Creates a new BigQuerySource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQuerySource instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IBigQuerySource): google.cloud.retail.v2beta.BigQuerySource;
+
+ /**
+ * Encodes the specified BigQuerySource message. Does not implicitly {@link google.cloud.retail.v2beta.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQuerySource message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.BigQuerySource.verify|verify} messages.
+ * @param message BigQuerySource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IBigQuerySource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQuerySource
+ * @throws {Error} If the payload is not 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.retail.v2beta.BigQuerySource;
+
+ /**
+ * Decodes a BigQuerySource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQuerySource
+ * @throws {Error} If the payload 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.retail.v2beta.BigQuerySource;
+
+ /**
+ * Verifies a BigQuerySource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQuerySource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQuerySource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.BigQuerySource;
+
+ /**
+ * Creates a plain object from a BigQuerySource message. Also converts values to other types if specified.
+ * @param message BigQuerySource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.BigQuerySource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQuerySource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQuerySource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInlineSource. */
+ interface IProductInlineSource {
+
+ /** ProductInlineSource products */
+ products?: (google.cloud.retail.v2beta.IProduct[]|null);
+ }
+
+ /** Represents a ProductInlineSource. */
+ class ProductInlineSource implements IProductInlineSource {
+
+ /**
+ * Constructs a new ProductInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IProductInlineSource);
+
+ /** ProductInlineSource products. */
+ public products: google.cloud.retail.v2beta.IProduct[];
+
+ /**
+ * Creates a new ProductInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IProductInlineSource): google.cloud.retail.v2beta.ProductInlineSource;
+
+ /**
+ * Encodes the specified ProductInlineSource message. Does not implicitly {@link google.cloud.retail.v2beta.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ProductInlineSource.verify|verify} messages.
+ * @param message ProductInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IProductInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2beta.ProductInlineSource;
+
+ /**
+ * Decodes a ProductInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInlineSource
+ * @throws {Error} If the payload 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.retail.v2beta.ProductInlineSource;
+
+ /**
+ * Verifies a ProductInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ProductInlineSource;
+
+ /**
+ * Creates a plain object from a ProductInlineSource message. Also converts values to other types if specified.
+ * @param message ProductInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ProductInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInlineSource. */
+ interface IUserEventInlineSource {
+
+ /** UserEventInlineSource userEvents */
+ userEvents?: (google.cloud.retail.v2beta.IUserEvent[]|null);
+ }
+
+ /** Represents a UserEventInlineSource. */
+ class UserEventInlineSource implements IUserEventInlineSource {
+
+ /**
+ * Constructs a new UserEventInlineSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUserEventInlineSource);
+
+ /** UserEventInlineSource userEvents. */
+ public userEvents: google.cloud.retail.v2beta.IUserEvent[];
+
+ /**
+ * Creates a new UserEventInlineSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInlineSource instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUserEventInlineSource): google.cloud.retail.v2beta.UserEventInlineSource;
+
+ /**
+ * Encodes the specified UserEventInlineSource message. Does not implicitly {@link google.cloud.retail.v2beta.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInlineSource message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UserEventInlineSource.verify|verify} messages.
+ * @param message UserEventInlineSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUserEventInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload is not 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.retail.v2beta.UserEventInlineSource;
+
+ /**
+ * Decodes a UserEventInlineSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInlineSource
+ * @throws {Error} If the payload 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.retail.v2beta.UserEventInlineSource;
+
+ /**
+ * Verifies a UserEventInlineSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInlineSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInlineSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UserEventInlineSource;
+
+ /**
+ * Creates a plain object from a UserEventInlineSource message. Also converts values to other types if specified.
+ * @param message UserEventInlineSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UserEventInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInlineSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInlineSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportErrorsConfig. */
+ interface IImportErrorsConfig {
+
+ /** ImportErrorsConfig gcsPrefix */
+ gcsPrefix?: (string|null);
+ }
+
+ /** Represents an ImportErrorsConfig. */
+ class ImportErrorsConfig implements IImportErrorsConfig {
+
+ /**
+ * Constructs a new ImportErrorsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportErrorsConfig);
+
+ /** ImportErrorsConfig gcsPrefix. */
+ public gcsPrefix?: (string|null);
+
+ /** ImportErrorsConfig destination. */
+ public destination?: "gcsPrefix";
+
+ /**
+ * Creates a new ImportErrorsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportErrorsConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportErrorsConfig): google.cloud.retail.v2beta.ImportErrorsConfig;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message. Does not implicitly {@link google.cloud.retail.v2beta.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportErrorsConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportErrorsConfig.verify|verify} messages.
+ * @param message ImportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportErrorsConfig;
+
+ /**
+ * Decodes an ImportErrorsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportErrorsConfig
+ * @throws {Error} If the payload 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.retail.v2beta.ImportErrorsConfig;
+
+ /**
+ * Verifies an ImportErrorsConfig message.
+ * @param message Plain 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 ImportErrorsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportErrorsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportErrorsConfig;
+
+ /**
+ * Creates a plain object from an ImportErrorsConfig message. Also converts values to other types if specified.
+ * @param message ImportErrorsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportErrorsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportErrorsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportErrorsConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsRequest. */
+ interface IImportProductsRequest {
+
+ /** ImportProductsRequest parent */
+ parent?: (string|null);
+
+ /** ImportProductsRequest requestId */
+ requestId?: (string|null);
+
+ /** ImportProductsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2beta.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode */
+ reconciliationMode?: (google.cloud.retail.v2beta.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2beta.ImportProductsRequest.ReconciliationMode|null);
+
+ /** ImportProductsRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportProductsRequest. */
+ class ImportProductsRequest implements IImportProductsRequest {
+
+ /**
+ * Constructs a new ImportProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportProductsRequest);
+
+ /** ImportProductsRequest parent. */
+ public parent: string;
+
+ /** ImportProductsRequest requestId. */
+ public requestId: string;
+
+ /** ImportProductsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2beta.IProductInputConfig|null);
+
+ /** ImportProductsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /** ImportProductsRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** ImportProductsRequest reconciliationMode. */
+ public reconciliationMode: (google.cloud.retail.v2beta.ImportProductsRequest.ReconciliationMode|keyof typeof google.cloud.retail.v2beta.ImportProductsRequest.ReconciliationMode);
+
+ /** ImportProductsRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportProductsRequest): google.cloud.retail.v2beta.ImportProductsRequest;
+
+ /**
+ * Encodes the specified ImportProductsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportProductsRequest.verify|verify} messages.
+ * @param message ImportProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportProductsRequest;
+
+ /**
+ * Decodes an ImportProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ImportProductsRequest;
+
+ /**
+ * Verifies an ImportProductsRequest message.
+ * @param message Plain 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 ImportProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportProductsRequest;
+
+ /**
+ * Creates a plain object from an ImportProductsRequest message. Also converts values to other types if specified.
+ * @param message ImportProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ImportProductsRequest {
+
+ /** ReconciliationMode enum. */
+ enum ReconciliationMode {
+ RECONCILIATION_MODE_UNSPECIFIED = 0,
+ INCREMENTAL = 1,
+ FULL = 2
+ }
+ }
+
+ /** Properties of an ImportUserEventsRequest. */
+ interface IImportUserEventsRequest {
+
+ /** ImportUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** ImportUserEventsRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2beta.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportUserEventsRequest. */
+ class ImportUserEventsRequest implements IImportUserEventsRequest {
+
+ /**
+ * Constructs a new ImportUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportUserEventsRequest);
+
+ /** ImportUserEventsRequest parent. */
+ public parent: string;
+
+ /** ImportUserEventsRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2beta.IUserEventInputConfig|null);
+
+ /** ImportUserEventsRequest errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportUserEventsRequest): google.cloud.retail.v2beta.ImportUserEventsRequest;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportUserEventsRequest.verify|verify} messages.
+ * @param message ImportUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportUserEventsRequest;
+
+ /**
+ * Decodes an ImportUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ImportUserEventsRequest;
+
+ /**
+ * Verifies an ImportUserEventsRequest message.
+ * @param message Plain 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 ImportUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportUserEventsRequest;
+
+ /**
+ * Creates a plain object from an ImportUserEventsRequest message. Also converts values to other types if specified.
+ * @param message ImportUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataRequest. */
+ interface IImportCompletionDataRequest {
+
+ /** ImportCompletionDataRequest parent */
+ parent?: (string|null);
+
+ /** ImportCompletionDataRequest inputConfig */
+ inputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportCompletionDataRequest. */
+ class ImportCompletionDataRequest implements IImportCompletionDataRequest {
+
+ /**
+ * Constructs a new ImportCompletionDataRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportCompletionDataRequest);
+
+ /** ImportCompletionDataRequest parent. */
+ public parent: string;
+
+ /** ImportCompletionDataRequest inputConfig. */
+ public inputConfig?: (google.cloud.retail.v2beta.ICompletionDataInputConfig|null);
+
+ /** ImportCompletionDataRequest notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportCompletionDataRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportCompletionDataRequest): google.cloud.retail.v2beta.ImportCompletionDataRequest;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportCompletionDataRequest.verify|verify} messages.
+ * @param message ImportCompletionDataRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportCompletionDataRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportCompletionDataRequest;
+
+ /**
+ * Decodes an ImportCompletionDataRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ImportCompletionDataRequest;
+
+ /**
+ * Verifies an ImportCompletionDataRequest message.
+ * @param message Plain 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 ImportCompletionDataRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportCompletionDataRequest;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataRequest message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportCompletionDataRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductInputConfig. */
+ interface IProductInputConfig {
+
+ /** ProductInputConfig productInlineSource */
+ productInlineSource?: (google.cloud.retail.v2beta.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2beta.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+ }
+
+ /** Represents a ProductInputConfig. */
+ class ProductInputConfig implements IProductInputConfig {
+
+ /**
+ * Constructs a new ProductInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IProductInputConfig);
+
+ /** ProductInputConfig productInlineSource. */
+ public productInlineSource?: (google.cloud.retail.v2beta.IProductInlineSource|null);
+
+ /** ProductInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2beta.IGcsSource|null);
+
+ /** ProductInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+
+ /** ProductInputConfig source. */
+ public source?: ("productInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new ProductInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IProductInputConfig): google.cloud.retail.v2beta.ProductInputConfig;
+
+ /**
+ * Encodes the specified ProductInputConfig message. Does not implicitly {@link google.cloud.retail.v2beta.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ProductInputConfig.verify|verify} messages.
+ * @param message ProductInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IProductInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.ProductInputConfig;
+
+ /**
+ * Decodes a ProductInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductInputConfig
+ * @throws {Error} If the payload 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.retail.v2beta.ProductInputConfig;
+
+ /**
+ * Verifies a ProductInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ProductInputConfig;
+
+ /**
+ * Creates a plain object from a ProductInputConfig message. Also converts values to other types if specified.
+ * @param message ProductInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ProductInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventInputConfig. */
+ interface IUserEventInputConfig {
+
+ /** UserEventInputConfig userEventInlineSource */
+ userEventInlineSource?: (google.cloud.retail.v2beta.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource */
+ gcsSource?: (google.cloud.retail.v2beta.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+ }
+
+ /** Represents a UserEventInputConfig. */
+ class UserEventInputConfig implements IUserEventInputConfig {
+
+ /**
+ * Constructs a new UserEventInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUserEventInputConfig);
+
+ /** UserEventInputConfig userEventInlineSource. */
+ public userEventInlineSource?: (google.cloud.retail.v2beta.IUserEventInlineSource|null);
+
+ /** UserEventInputConfig gcsSource. */
+ public gcsSource?: (google.cloud.retail.v2beta.IGcsSource|null);
+
+ /** UserEventInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+
+ /** UserEventInputConfig source. */
+ public source?: ("userEventInlineSource"|"gcsSource"|"bigQuerySource");
+
+ /**
+ * Creates a new UserEventInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUserEventInputConfig): google.cloud.retail.v2beta.UserEventInputConfig;
+
+ /**
+ * Encodes the specified UserEventInputConfig message. Does not implicitly {@link google.cloud.retail.v2beta.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UserEventInputConfig.verify|verify} messages.
+ * @param message UserEventInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUserEventInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.UserEventInputConfig;
+
+ /**
+ * Decodes a UserEventInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventInputConfig
+ * @throws {Error} If the payload 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.retail.v2beta.UserEventInputConfig;
+
+ /**
+ * Verifies a UserEventInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UserEventInputConfig;
+
+ /**
+ * Creates a plain object from a UserEventInputConfig message. Also converts values to other types if specified.
+ * @param message UserEventInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UserEventInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDataInputConfig. */
+ interface ICompletionDataInputConfig {
+
+ /** CompletionDataInputConfig bigQuerySource */
+ bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+ }
+
+ /** Represents a CompletionDataInputConfig. */
+ class CompletionDataInputConfig implements ICompletionDataInputConfig {
+
+ /**
+ * Constructs a new CompletionDataInputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICompletionDataInputConfig);
+
+ /** CompletionDataInputConfig bigQuerySource. */
+ public bigQuerySource?: (google.cloud.retail.v2beta.IBigQuerySource|null);
+
+ /** CompletionDataInputConfig source. */
+ public source?: "bigQuerySource";
+
+ /**
+ * Creates a new CompletionDataInputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDataInputConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICompletionDataInputConfig): google.cloud.retail.v2beta.CompletionDataInputConfig;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message. Does not implicitly {@link google.cloud.retail.v2beta.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDataInputConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CompletionDataInputConfig.verify|verify} messages.
+ * @param message CompletionDataInputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICompletionDataInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.CompletionDataInputConfig;
+
+ /**
+ * Decodes a CompletionDataInputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDataInputConfig
+ * @throws {Error} If the payload 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.retail.v2beta.CompletionDataInputConfig;
+
+ /**
+ * Verifies a CompletionDataInputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDataInputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDataInputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CompletionDataInputConfig;
+
+ /**
+ * Creates a plain object from a CompletionDataInputConfig message. Also converts values to other types if specified.
+ * @param message CompletionDataInputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CompletionDataInputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDataInputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDataInputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportMetadata. */
+ interface IImportMetadata {
+
+ /** ImportMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount */
+ successCount?: (number|Long|string|null);
+
+ /** ImportMetadata failureCount */
+ failureCount?: (number|Long|string|null);
+
+ /** ImportMetadata requestId */
+ requestId?: (string|null);
+
+ /** ImportMetadata notificationPubsubTopic */
+ notificationPubsubTopic?: (string|null);
+ }
+
+ /** Represents an ImportMetadata. */
+ class ImportMetadata implements IImportMetadata {
+
+ /**
+ * Constructs a new ImportMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportMetadata);
+
+ /** ImportMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ImportMetadata successCount. */
+ public successCount: (number|Long|string);
+
+ /** ImportMetadata failureCount. */
+ public failureCount: (number|Long|string);
+
+ /** ImportMetadata requestId. */
+ public requestId: string;
+
+ /** ImportMetadata notificationPubsubTopic. */
+ public notificationPubsubTopic: string;
+
+ /**
+ * Creates a new ImportMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportMetadata): google.cloud.retail.v2beta.ImportMetadata;
+
+ /**
+ * Encodes the specified ImportMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportMetadata.verify|verify} messages.
+ * @param message ImportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportMetadata;
+
+ /**
+ * Decodes an ImportMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.ImportMetadata;
+
+ /**
+ * Verifies an ImportMetadata message.
+ * @param message Plain 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 ImportMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportMetadata;
+
+ /**
+ * Creates a plain object from an ImportMetadata message. Also converts values to other types if specified.
+ * @param message ImportMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportProductsResponse. */
+ interface IImportProductsResponse {
+
+ /** ImportProductsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportProductsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+ }
+
+ /** Represents an ImportProductsResponse. */
+ class ImportProductsResponse implements IImportProductsResponse {
+
+ /**
+ * Constructs a new ImportProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportProductsResponse);
+
+ /** ImportProductsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportProductsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /**
+ * Creates a new ImportProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportProductsResponse): google.cloud.retail.v2beta.ImportProductsResponse;
+
+ /**
+ * Encodes the specified ImportProductsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportProductsResponse.verify|verify} messages.
+ * @param message ImportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportProductsResponse;
+
+ /**
+ * Decodes an ImportProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportProductsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ImportProductsResponse;
+
+ /**
+ * Verifies an ImportProductsResponse message.
+ * @param message Plain 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 ImportProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportProductsResponse;
+
+ /**
+ * Creates a plain object from an ImportProductsResponse message. Also converts values to other types if specified.
+ * @param message ImportProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportUserEventsResponse. */
+ interface IImportUserEventsResponse {
+
+ /** ImportUserEventsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ImportUserEventsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary */
+ importSummary?: (google.cloud.retail.v2beta.IUserEventImportSummary|null);
+ }
+
+ /** Represents an ImportUserEventsResponse. */
+ class ImportUserEventsResponse implements IImportUserEventsResponse {
+
+ /**
+ * Constructs a new ImportUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportUserEventsResponse);
+
+ /** ImportUserEventsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ImportUserEventsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IImportErrorsConfig|null);
+
+ /** ImportUserEventsResponse importSummary. */
+ public importSummary?: (google.cloud.retail.v2beta.IUserEventImportSummary|null);
+
+ /**
+ * Creates a new ImportUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportUserEventsResponse): google.cloud.retail.v2beta.ImportUserEventsResponse;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportUserEventsResponse.verify|verify} messages.
+ * @param message ImportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportUserEventsResponse;
+
+ /**
+ * Decodes an ImportUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ImportUserEventsResponse;
+
+ /**
+ * Verifies an ImportUserEventsResponse message.
+ * @param message Plain 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 ImportUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportUserEventsResponse;
+
+ /**
+ * Creates a plain object from an ImportUserEventsResponse message. Also converts values to other types if specified.
+ * @param message ImportUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEventImportSummary. */
+ interface IUserEventImportSummary {
+
+ /** UserEventImportSummary joinedEventsCount */
+ joinedEventsCount?: (number|Long|string|null);
+
+ /** UserEventImportSummary unjoinedEventsCount */
+ unjoinedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a UserEventImportSummary. */
+ class UserEventImportSummary implements IUserEventImportSummary {
+
+ /**
+ * Constructs a new UserEventImportSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUserEventImportSummary);
+
+ /** UserEventImportSummary joinedEventsCount. */
+ public joinedEventsCount: (number|Long|string);
+
+ /** UserEventImportSummary unjoinedEventsCount. */
+ public unjoinedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new UserEventImportSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEventImportSummary instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUserEventImportSummary): google.cloud.retail.v2beta.UserEventImportSummary;
+
+ /**
+ * Encodes the specified UserEventImportSummary message. Does not implicitly {@link google.cloud.retail.v2beta.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEventImportSummary message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UserEventImportSummary.verify|verify} messages.
+ * @param message UserEventImportSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUserEventImportSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload is not 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.retail.v2beta.UserEventImportSummary;
+
+ /**
+ * Decodes a UserEventImportSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEventImportSummary
+ * @throws {Error} If the payload 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.retail.v2beta.UserEventImportSummary;
+
+ /**
+ * Verifies a UserEventImportSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEventImportSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEventImportSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UserEventImportSummary;
+
+ /**
+ * Creates a plain object from a UserEventImportSummary message. Also converts values to other types if specified.
+ * @param message UserEventImportSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UserEventImportSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEventImportSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEventImportSummary
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCompletionDataResponse. */
+ interface IImportCompletionDataResponse {
+
+ /** ImportCompletionDataResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+ }
+
+ /** Represents an ImportCompletionDataResponse. */
+ class ImportCompletionDataResponse implements IImportCompletionDataResponse {
+
+ /**
+ * Constructs a new ImportCompletionDataResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IImportCompletionDataResponse);
+
+ /** ImportCompletionDataResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /**
+ * Creates a new ImportCompletionDataResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCompletionDataResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IImportCompletionDataResponse): google.cloud.retail.v2beta.ImportCompletionDataResponse;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCompletionDataResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ImportCompletionDataResponse.verify|verify} messages.
+ * @param message ImportCompletionDataResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IImportCompletionDataResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ImportCompletionDataResponse;
+
+ /**
+ * Decodes an ImportCompletionDataResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCompletionDataResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ImportCompletionDataResponse;
+
+ /**
+ * Verifies an ImportCompletionDataResponse message.
+ * @param message Plain 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 ImportCompletionDataResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCompletionDataResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ImportCompletionDataResponse;
+
+ /**
+ * Creates a plain object from an ImportCompletionDataResponse message. Also converts values to other types if specified.
+ * @param message ImportCompletionDataResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ImportCompletionDataResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCompletionDataResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCompletionDataResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Product. */
+ interface IProduct {
+
+ /** Product expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl */
+ ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name */
+ name?: (string|null);
+
+ /** Product id */
+ id?: (string|null);
+
+ /** Product type */
+ type?: (google.cloud.retail.v2beta.Product.Type|keyof typeof google.cloud.retail.v2beta.Product.Type|null);
+
+ /** Product primaryProductId */
+ primaryProductId?: (string|null);
+
+ /** Product collectionMemberIds */
+ collectionMemberIds?: (string[]|null);
+
+ /** Product gtin */
+ gtin?: (string|null);
+
+ /** Product categories */
+ categories?: (string[]|null);
+
+ /** Product title */
+ title?: (string|null);
+
+ /** Product brands */
+ brands?: (string[]|null);
+
+ /** Product description */
+ description?: (string|null);
+
+ /** Product languageCode */
+ languageCode?: (string|null);
+
+ /** Product attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2beta.ICustomAttribute }|null);
+
+ /** Product tags */
+ tags?: (string[]|null);
+
+ /** Product priceInfo */
+ priceInfo?: (google.cloud.retail.v2beta.IPriceInfo|null);
+
+ /** Product rating */
+ rating?: (google.cloud.retail.v2beta.IRating|null);
+
+ /** Product availableTime */
+ availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability */
+ availability?: (google.cloud.retail.v2beta.Product.Availability|keyof typeof google.cloud.retail.v2beta.Product.Availability|null);
+
+ /** Product availableQuantity */
+ availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo */
+ fulfillmentInfo?: (google.cloud.retail.v2beta.IFulfillmentInfo[]|null);
+
+ /** Product uri */
+ uri?: (string|null);
+
+ /** Product images */
+ images?: (google.cloud.retail.v2beta.IImage[]|null);
+
+ /** Product audience */
+ audience?: (google.cloud.retail.v2beta.IAudience|null);
+
+ /** Product colorInfo */
+ colorInfo?: (google.cloud.retail.v2beta.IColorInfo|null);
+
+ /** Product sizes */
+ sizes?: (string[]|null);
+
+ /** Product materials */
+ materials?: (string[]|null);
+
+ /** Product patterns */
+ patterns?: (string[]|null);
+
+ /** Product conditions */
+ conditions?: (string[]|null);
+
+ /** Product promotions */
+ promotions?: (google.cloud.retail.v2beta.IPromotion[]|null);
+
+ /** Product publishTime */
+ publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields */
+ retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants */
+ variants?: (google.cloud.retail.v2beta.IProduct[]|null);
+
+ /** Product localInventories */
+ localInventories?: (google.cloud.retail.v2beta.ILocalInventory[]|null);
+ }
+
+ /** Represents a Product. */
+ class Product implements IProduct {
+
+ /**
+ * Constructs a new Product.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IProduct);
+
+ /** Product expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product ttl. */
+ public ttl?: (google.protobuf.IDuration|null);
+
+ /** Product name. */
+ public name: string;
+
+ /** Product id. */
+ public id: string;
+
+ /** Product type. */
+ public type: (google.cloud.retail.v2beta.Product.Type|keyof typeof google.cloud.retail.v2beta.Product.Type);
+
+ /** Product primaryProductId. */
+ public primaryProductId: string;
+
+ /** Product collectionMemberIds. */
+ public collectionMemberIds: string[];
+
+ /** Product gtin. */
+ public gtin: string;
+
+ /** Product categories. */
+ public categories: string[];
+
+ /** Product title. */
+ public title: string;
+
+ /** Product brands. */
+ public brands: string[];
+
+ /** Product description. */
+ public description: string;
+
+ /** Product languageCode. */
+ public languageCode: string;
+
+ /** Product attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2beta.ICustomAttribute };
+
+ /** Product tags. */
+ public tags: string[];
+
+ /** Product priceInfo. */
+ public priceInfo?: (google.cloud.retail.v2beta.IPriceInfo|null);
+
+ /** Product rating. */
+ public rating?: (google.cloud.retail.v2beta.IRating|null);
+
+ /** Product availableTime. */
+ public availableTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product availability. */
+ public availability: (google.cloud.retail.v2beta.Product.Availability|keyof typeof google.cloud.retail.v2beta.Product.Availability);
+
+ /** Product availableQuantity. */
+ public availableQuantity?: (google.protobuf.IInt32Value|null);
+
+ /** Product fulfillmentInfo. */
+ public fulfillmentInfo: google.cloud.retail.v2beta.IFulfillmentInfo[];
+
+ /** Product uri. */
+ public uri: string;
+
+ /** Product images. */
+ public images: google.cloud.retail.v2beta.IImage[];
+
+ /** Product audience. */
+ public audience?: (google.cloud.retail.v2beta.IAudience|null);
+
+ /** Product colorInfo. */
+ public colorInfo?: (google.cloud.retail.v2beta.IColorInfo|null);
+
+ /** Product sizes. */
+ public sizes: string[];
+
+ /** Product materials. */
+ public materials: string[];
+
+ /** Product patterns. */
+ public patterns: string[];
+
+ /** Product conditions. */
+ public conditions: string[];
+
+ /** Product promotions. */
+ public promotions: google.cloud.retail.v2beta.IPromotion[];
+
+ /** Product publishTime. */
+ public publishTime?: (google.protobuf.ITimestamp|null);
+
+ /** Product retrievableFields. */
+ public retrievableFields?: (google.protobuf.IFieldMask|null);
+
+ /** Product variants. */
+ public variants: google.cloud.retail.v2beta.IProduct[];
+
+ /** Product localInventories. */
+ public localInventories: google.cloud.retail.v2beta.ILocalInventory[];
+
+ /** Product expiration. */
+ public expiration?: ("expireTime"|"ttl");
+
+ /**
+ * Creates a new Product instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Product instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IProduct): google.cloud.retail.v2beta.Product;
+
+ /**
+ * Encodes the specified Product message. Does not implicitly {@link google.cloud.retail.v2beta.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Product
+ * @throws {Error} If the payload is not 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.retail.v2beta.Product;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Product
+ * @throws {Error} If the payload 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.retail.v2beta.Product;
+
+ /**
+ * Verifies a Product message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Product message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Product
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Product;
+
+ /**
+ * Creates a plain object from a Product message. Also converts values to other types if specified.
+ * @param message Product
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Product, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Product to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Product
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Product {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ PRIMARY = 1,
+ VARIANT = 2,
+ COLLECTION = 3
+ }
+
+ /** Availability enum. */
+ enum Availability {
+ AVAILABILITY_UNSPECIFIED = 0,
+ IN_STOCK = 1,
+ OUT_OF_STOCK = 2,
+ PREORDER = 3,
+ BACKORDER = 4
+ }
+ }
+
+ /** Properties of a Promotion. */
+ interface IPromotion {
+
+ /** Promotion promotionId */
+ promotionId?: (string|null);
+ }
+
+ /** Represents a Promotion. */
+ class Promotion implements IPromotion {
+
+ /**
+ * Constructs a new Promotion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPromotion);
+
+ /** Promotion promotionId. */
+ public promotionId: string;
+
+ /**
+ * Creates a new Promotion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Promotion instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPromotion): google.cloud.retail.v2beta.Promotion;
+
+ /**
+ * Encodes the specified Promotion message. Does not implicitly {@link google.cloud.retail.v2beta.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Promotion message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Promotion.verify|verify} messages.
+ * @param message Promotion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPromotion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Promotion
+ * @throws {Error} If the payload is not 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.retail.v2beta.Promotion;
+
+ /**
+ * Decodes a Promotion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Promotion
+ * @throws {Error} If the payload 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.retail.v2beta.Promotion;
+
+ /**
+ * Verifies a Promotion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Promotion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Promotion
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Promotion;
+
+ /**
+ * Creates a plain object from a Promotion message. Also converts values to other types if specified.
+ * @param message Promotion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Promotion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Promotion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Promotion
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserEvent. */
+ interface IUserEvent {
+
+ /** UserEvent eventType */
+ eventType?: (string|null);
+
+ /** UserEvent visitorId */
+ visitorId?: (string|null);
+
+ /** UserEvent sessionId */
+ sessionId?: (string|null);
+
+ /** UserEvent eventTime */
+ eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds */
+ experimentIds?: (string[]|null);
+
+ /** UserEvent attributionToken */
+ attributionToken?: (string|null);
+
+ /** UserEvent productDetails */
+ productDetails?: (google.cloud.retail.v2beta.IProductDetail[]|null);
+
+ /** UserEvent completionDetail */
+ completionDetail?: (google.cloud.retail.v2beta.ICompletionDetail|null);
+
+ /** UserEvent attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2beta.ICustomAttribute }|null);
+
+ /** UserEvent cartId */
+ cartId?: (string|null);
+
+ /** UserEvent purchaseTransaction */
+ purchaseTransaction?: (google.cloud.retail.v2beta.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery */
+ searchQuery?: (string|null);
+
+ /** UserEvent filter */
+ filter?: (string|null);
+
+ /** UserEvent orderBy */
+ orderBy?: (string|null);
+
+ /** UserEvent offset */
+ offset?: (number|null);
+
+ /** UserEvent pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** UserEvent userInfo */
+ userInfo?: (google.cloud.retail.v2beta.IUserInfo|null);
+
+ /** UserEvent uri */
+ uri?: (string|null);
+
+ /** UserEvent referrerUri */
+ referrerUri?: (string|null);
+
+ /** UserEvent pageViewId */
+ pageViewId?: (string|null);
+ }
+
+ /** Represents a UserEvent. */
+ class UserEvent implements IUserEvent {
+
+ /**
+ * Constructs a new UserEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUserEvent);
+
+ /** UserEvent eventType. */
+ public eventType: string;
+
+ /** UserEvent visitorId. */
+ public visitorId: string;
+
+ /** UserEvent sessionId. */
+ public sessionId: string;
+
+ /** UserEvent eventTime. */
+ public eventTime?: (google.protobuf.ITimestamp|null);
+
+ /** UserEvent experimentIds. */
+ public experimentIds: string[];
+
+ /** UserEvent attributionToken. */
+ public attributionToken: string;
+
+ /** UserEvent productDetails. */
+ public productDetails: google.cloud.retail.v2beta.IProductDetail[];
+
+ /** UserEvent completionDetail. */
+ public completionDetail?: (google.cloud.retail.v2beta.ICompletionDetail|null);
+
+ /** UserEvent attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2beta.ICustomAttribute };
+
+ /** UserEvent cartId. */
+ public cartId: string;
+
+ /** UserEvent purchaseTransaction. */
+ public purchaseTransaction?: (google.cloud.retail.v2beta.IPurchaseTransaction|null);
+
+ /** UserEvent searchQuery. */
+ public searchQuery: string;
+
+ /** UserEvent filter. */
+ public filter: string;
+
+ /** UserEvent orderBy. */
+ public orderBy: string;
+
+ /** UserEvent offset. */
+ public offset: number;
+
+ /** UserEvent pageCategories. */
+ public pageCategories: string[];
+
+ /** UserEvent userInfo. */
+ public userInfo?: (google.cloud.retail.v2beta.IUserInfo|null);
+
+ /** UserEvent uri. */
+ public uri: string;
+
+ /** UserEvent referrerUri. */
+ public referrerUri: string;
+
+ /** UserEvent pageViewId. */
+ public pageViewId: string;
+
+ /**
+ * Creates a new UserEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserEvent instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUserEvent): google.cloud.retail.v2beta.UserEvent;
+
+ /**
+ * Encodes the specified UserEvent message. Does not implicitly {@link google.cloud.retail.v2beta.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserEvent message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UserEvent.verify|verify} messages.
+ * @param message UserEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUserEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserEvent
+ * @throws {Error} If the payload is not 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.retail.v2beta.UserEvent;
+
+ /**
+ * Decodes a UserEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserEvent
+ * @throws {Error} If the payload 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.retail.v2beta.UserEvent;
+
+ /**
+ * Verifies a UserEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UserEvent;
+
+ /**
+ * Creates a plain object from a UserEvent message. Also converts values to other types if specified.
+ * @param message UserEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UserEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProductDetail. */
+ interface IProductDetail {
+
+ /** ProductDetail product */
+ product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** ProductDetail quantity */
+ quantity?: (google.protobuf.IInt32Value|null);
+ }
+
+ /** Represents a ProductDetail. */
+ class ProductDetail implements IProductDetail {
+
+ /**
+ * Constructs a new ProductDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IProductDetail);
+
+ /** ProductDetail product. */
+ public product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** ProductDetail quantity. */
+ public quantity?: (google.protobuf.IInt32Value|null);
+
+ /**
+ * Creates a new ProductDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProductDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IProductDetail): google.cloud.retail.v2beta.ProductDetail;
+
+ /**
+ * Encodes the specified ProductDetail message. Does not implicitly {@link google.cloud.retail.v2beta.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProductDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ProductDetail.verify|verify} messages.
+ * @param message ProductDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IProductDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProductDetail
+ * @throws {Error} If the payload is not 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.retail.v2beta.ProductDetail;
+
+ /**
+ * Decodes a ProductDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProductDetail
+ * @throws {Error} If the payload 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.retail.v2beta.ProductDetail;
+
+ /**
+ * Verifies a ProductDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProductDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProductDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ProductDetail;
+
+ /**
+ * Creates a plain object from a ProductDetail message. Also converts values to other types if specified.
+ * @param message ProductDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ProductDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProductDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProductDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CompletionDetail. */
+ interface ICompletionDetail {
+
+ /** CompletionDetail completionAttributionToken */
+ completionAttributionToken?: (string|null);
+
+ /** CompletionDetail selectedSuggestion */
+ selectedSuggestion?: (string|null);
+
+ /** CompletionDetail selectedPosition */
+ selectedPosition?: (number|null);
+ }
+
+ /** Represents a CompletionDetail. */
+ class CompletionDetail implements ICompletionDetail {
+
+ /**
+ * Constructs a new CompletionDetail.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICompletionDetail);
+
+ /** CompletionDetail completionAttributionToken. */
+ public completionAttributionToken: string;
+
+ /** CompletionDetail selectedSuggestion. */
+ public selectedSuggestion: string;
+
+ /** CompletionDetail selectedPosition. */
+ public selectedPosition: number;
+
+ /**
+ * Creates a new CompletionDetail instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionDetail instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICompletionDetail): google.cloud.retail.v2beta.CompletionDetail;
+
+ /**
+ * Encodes the specified CompletionDetail message. Does not implicitly {@link google.cloud.retail.v2beta.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionDetail message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CompletionDetail.verify|verify} messages.
+ * @param message CompletionDetail message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICompletionDetail, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CompletionDetail
+ * @throws {Error} If the payload is not 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.retail.v2beta.CompletionDetail;
+
+ /**
+ * Decodes a CompletionDetail message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CompletionDetail
+ * @throws {Error} If the payload 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.retail.v2beta.CompletionDetail;
+
+ /**
+ * Verifies a CompletionDetail message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CompletionDetail message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CompletionDetail
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CompletionDetail;
+
+ /**
+ * Creates a plain object from a CompletionDetail message. Also converts values to other types if specified.
+ * @param message CompletionDetail
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CompletionDetail, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CompletionDetail to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CompletionDetail
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurchaseTransaction. */
+ interface IPurchaseTransaction {
+
+ /** PurchaseTransaction id */
+ id?: (string|null);
+
+ /** PurchaseTransaction revenue */
+ revenue?: (number|null);
+
+ /** PurchaseTransaction tax */
+ tax?: (number|null);
+
+ /** PurchaseTransaction cost */
+ cost?: (number|null);
+
+ /** PurchaseTransaction currencyCode */
+ currencyCode?: (string|null);
+ }
+
+ /** Represents a PurchaseTransaction. */
+ class PurchaseTransaction implements IPurchaseTransaction {
+
+ /**
+ * Constructs a new PurchaseTransaction.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPurchaseTransaction);
+
+ /** PurchaseTransaction id. */
+ public id: string;
+
+ /** PurchaseTransaction revenue. */
+ public revenue: number;
+
+ /** PurchaseTransaction tax. */
+ public tax: number;
+
+ /** PurchaseTransaction cost. */
+ public cost: number;
+
+ /** PurchaseTransaction currencyCode. */
+ public currencyCode: string;
+
+ /**
+ * Creates a new PurchaseTransaction instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurchaseTransaction instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPurchaseTransaction): google.cloud.retail.v2beta.PurchaseTransaction;
+
+ /**
+ * Encodes the specified PurchaseTransaction message. Does not implicitly {@link google.cloud.retail.v2beta.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurchaseTransaction message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PurchaseTransaction.verify|verify} messages.
+ * @param message PurchaseTransaction message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPurchaseTransaction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload is not 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.retail.v2beta.PurchaseTransaction;
+
+ /**
+ * Decodes a PurchaseTransaction message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurchaseTransaction
+ * @throws {Error} If the payload 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.retail.v2beta.PurchaseTransaction;
+
+ /**
+ * Verifies a PurchaseTransaction message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurchaseTransaction message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurchaseTransaction
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PurchaseTransaction;
+
+ /**
+ * Creates a plain object from a PurchaseTransaction message. Also converts values to other types if specified.
+ * @param message PurchaseTransaction
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PurchaseTransaction, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurchaseTransaction to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurchaseTransaction
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CatalogService */
+ class CatalogService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CatalogService 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 CatalogService 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): CatalogService;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCatalogsResponse
+ */
+ public listCatalogs(request: google.cloud.retail.v2beta.IListCatalogsRequest, callback: google.cloud.retail.v2beta.CatalogService.ListCatalogsCallback): void;
+
+ /**
+ * Calls ListCatalogs.
+ * @param request ListCatalogsRequest message or plain object
+ * @returns Promise
+ */
+ public listCatalogs(request: google.cloud.retail.v2beta.IListCatalogsRequest): Promise;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Catalog
+ */
+ public updateCatalog(request: google.cloud.retail.v2beta.IUpdateCatalogRequest, callback: google.cloud.retail.v2beta.CatalogService.UpdateCatalogCallback): void;
+
+ /**
+ * Calls UpdateCatalog.
+ * @param request UpdateCatalogRequest message or plain object
+ * @returns Promise
+ */
+ public updateCatalog(request: google.cloud.retail.v2beta.IUpdateCatalogRequest): Promise;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2beta.ISetDefaultBranchRequest, callback: google.cloud.retail.v2beta.CatalogService.SetDefaultBranchCallback): void;
+
+ /**
+ * Calls SetDefaultBranch.
+ * @param request SetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public setDefaultBranch(request: google.cloud.retail.v2beta.ISetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GetDefaultBranchResponse
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2beta.IGetDefaultBranchRequest, callback: google.cloud.retail.v2beta.CatalogService.GetDefaultBranchCallback): void;
+
+ /**
+ * Calls GetDefaultBranch.
+ * @param request GetDefaultBranchRequest message or plain object
+ * @returns Promise
+ */
+ public getDefaultBranch(request: google.cloud.retail.v2beta.IGetDefaultBranchRequest): Promise;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2beta.IGetCompletionConfigRequest, callback: google.cloud.retail.v2beta.CatalogService.GetCompletionConfigCallback): void;
+
+ /**
+ * Calls GetCompletionConfig.
+ * @param request GetCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getCompletionConfig(request: google.cloud.retail.v2beta.IGetCompletionConfigRequest): Promise;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CompletionConfig
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest, callback: google.cloud.retail.v2beta.CatalogService.UpdateCompletionConfigCallback): void;
+
+ /**
+ * Calls UpdateCompletionConfig.
+ * @param request UpdateCompletionConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateCompletionConfig(request: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest): Promise;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2beta.IGetAttributesConfigRequest, callback: google.cloud.retail.v2beta.CatalogService.GetAttributesConfigCallback): void;
+
+ /**
+ * Calls GetAttributesConfig.
+ * @param request GetAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getAttributesConfig(request: google.cloud.retail.v2beta.IGetAttributesConfigRequest): Promise;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest, callback: google.cloud.retail.v2beta.CatalogService.UpdateAttributesConfigCallback): void;
+
+ /**
+ * Calls UpdateAttributesConfig.
+ * @param request UpdateAttributesConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateAttributesConfig(request: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest): Promise;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2beta.IAddCatalogAttributeRequest, callback: google.cloud.retail.v2beta.CatalogService.AddCatalogAttributeCallback): void;
+
+ /**
+ * Calls AddCatalogAttribute.
+ * @param request AddCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public addCatalogAttribute(request: google.cloud.retail.v2beta.IAddCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest, callback: google.cloud.retail.v2beta.CatalogService.RemoveCatalogAttributeCallback): void;
+
+ /**
+ * Calls RemoveCatalogAttribute.
+ * @param request RemoveCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public removeCatalogAttribute(request: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest): Promise;
+
+ /**
+ * Calls BatchRemoveCatalogAttributes.
+ * @param request BatchRemoveCatalogAttributesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and BatchRemoveCatalogAttributesResponse
+ */
+ public batchRemoveCatalogAttributes(request: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest, callback: google.cloud.retail.v2beta.CatalogService.BatchRemoveCatalogAttributesCallback): void;
+
+ /**
+ * Calls BatchRemoveCatalogAttributes.
+ * @param request BatchRemoveCatalogAttributesRequest message or plain object
+ * @returns Promise
+ */
+ public batchRemoveCatalogAttributes(request: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest): Promise;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AttributesConfig
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest, callback: google.cloud.retail.v2beta.CatalogService.ReplaceCatalogAttributeCallback): void;
+
+ /**
+ * Calls ReplaceCatalogAttribute.
+ * @param request ReplaceCatalogAttributeRequest message or plain object
+ * @returns Promise
+ */
+ public replaceCatalogAttribute(request: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest): Promise;
+ }
+
+ namespace CatalogService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|listCatalogs}.
+ * @param error Error, if any
+ * @param [response] ListCatalogsResponse
+ */
+ type ListCatalogsCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ListCatalogsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|updateCatalog}.
+ * @param error Error, if any
+ * @param [response] Catalog
+ */
+ type UpdateCatalogCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Catalog) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|setDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type SetDefaultBranchCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|getDefaultBranch}.
+ * @param error Error, if any
+ * @param [response] GetDefaultBranchResponse
+ */
+ type GetDefaultBranchCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.GetDefaultBranchResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|getCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type GetCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|updateCompletionConfig}.
+ * @param error Error, if any
+ * @param [response] CompletionConfig
+ */
+ type UpdateCompletionConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.CompletionConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|getAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type GetAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|updateAttributesConfig}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type UpdateAttributesConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|addCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type AddCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|removeCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type RemoveCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.AttributesConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|batchRemoveCatalogAttributes}.
+ * @param error Error, if any
+ * @param [response] BatchRemoveCatalogAttributesResponse
+ */
+ type BatchRemoveCatalogAttributesCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CatalogService|replaceCatalogAttribute}.
+ * @param error Error, if any
+ * @param [response] AttributesConfig
+ */
+ type ReplaceCatalogAttributeCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.AttributesConfig) => void;
+ }
+
+ /** Properties of a ListCatalogsRequest. */
+ interface IListCatalogsRequest {
+
+ /** ListCatalogsRequest parent */
+ parent?: (string|null);
+
+ /** ListCatalogsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCatalogsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsRequest. */
+ class ListCatalogsRequest implements IListCatalogsRequest {
+
+ /**
+ * Constructs a new ListCatalogsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListCatalogsRequest);
+
+ /** ListCatalogsRequest parent. */
+ public parent: string;
+
+ /** ListCatalogsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCatalogsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListCatalogsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListCatalogsRequest): google.cloud.retail.v2beta.ListCatalogsRequest;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListCatalogsRequest.verify|verify} messages.
+ * @param message ListCatalogsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListCatalogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListCatalogsRequest;
+
+ /**
+ * Decodes a ListCatalogsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ListCatalogsRequest;
+
+ /**
+ * Verifies a ListCatalogsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListCatalogsRequest;
+
+ /**
+ * Creates a plain object from a ListCatalogsRequest message. Also converts values to other types if specified.
+ * @param message ListCatalogsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListCatalogsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCatalogsResponse. */
+ interface IListCatalogsResponse {
+
+ /** ListCatalogsResponse catalogs */
+ catalogs?: (google.cloud.retail.v2beta.ICatalog[]|null);
+
+ /** ListCatalogsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListCatalogsResponse. */
+ class ListCatalogsResponse implements IListCatalogsResponse {
+
+ /**
+ * Constructs a new ListCatalogsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListCatalogsResponse);
+
+ /** ListCatalogsResponse catalogs. */
+ public catalogs: google.cloud.retail.v2beta.ICatalog[];
+
+ /** ListCatalogsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListCatalogsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCatalogsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListCatalogsResponse): google.cloud.retail.v2beta.ListCatalogsResponse;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCatalogsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListCatalogsResponse.verify|verify} messages.
+ * @param message ListCatalogsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListCatalogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListCatalogsResponse;
+
+ /**
+ * Decodes a ListCatalogsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCatalogsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ListCatalogsResponse;
+
+ /**
+ * Verifies a ListCatalogsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCatalogsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCatalogsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListCatalogsResponse;
+
+ /**
+ * Creates a plain object from a ListCatalogsResponse message. Also converts values to other types if specified.
+ * @param message ListCatalogsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListCatalogsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCatalogsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCatalogsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCatalogRequest. */
+ interface IUpdateCatalogRequest {
+
+ /** UpdateCatalogRequest catalog */
+ catalog?: (google.cloud.retail.v2beta.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCatalogRequest. */
+ class UpdateCatalogRequest implements IUpdateCatalogRequest {
+
+ /**
+ * Constructs a new UpdateCatalogRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateCatalogRequest);
+
+ /** UpdateCatalogRequest catalog. */
+ public catalog?: (google.cloud.retail.v2beta.ICatalog|null);
+
+ /** UpdateCatalogRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCatalogRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCatalogRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateCatalogRequest): google.cloud.retail.v2beta.UpdateCatalogRequest;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCatalogRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateCatalogRequest.verify|verify} messages.
+ * @param message UpdateCatalogRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateCatalogRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateCatalogRequest;
+
+ /**
+ * Decodes an UpdateCatalogRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCatalogRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateCatalogRequest;
+
+ /**
+ * Verifies an UpdateCatalogRequest message.
+ * @param message Plain 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 UpdateCatalogRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCatalogRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateCatalogRequest;
+
+ /**
+ * Creates a plain object from an UpdateCatalogRequest message. Also converts values to other types if specified.
+ * @param message UpdateCatalogRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateCatalogRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCatalogRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCatalogRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetDefaultBranchRequest. */
+ interface ISetDefaultBranchRequest {
+
+ /** SetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+
+ /** SetDefaultBranchRequest branchId */
+ branchId?: (string|null);
+
+ /** SetDefaultBranchRequest note */
+ note?: (string|null);
+
+ /** SetDefaultBranchRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a SetDefaultBranchRequest. */
+ class SetDefaultBranchRequest implements ISetDefaultBranchRequest {
+
+ /**
+ * Constructs a new SetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISetDefaultBranchRequest);
+
+ /** SetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /** SetDefaultBranchRequest branchId. */
+ public branchId: string;
+
+ /** SetDefaultBranchRequest note. */
+ public note: string;
+
+ /** SetDefaultBranchRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new SetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISetDefaultBranchRequest): google.cloud.retail.v2beta.SetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2beta.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SetDefaultBranchRequest.verify|verify} messages.
+ * @param message SetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.SetDefaultBranchRequest;
+
+ /**
+ * Decodes a SetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2beta.SetDefaultBranchRequest;
+
+ /**
+ * Verifies a SetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a SetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message SetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchRequest. */
+ interface IGetDefaultBranchRequest {
+
+ /** GetDefaultBranchRequest catalog */
+ catalog?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchRequest. */
+ class GetDefaultBranchRequest implements IGetDefaultBranchRequest {
+
+ /**
+ * Constructs a new GetDefaultBranchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetDefaultBranchRequest);
+
+ /** GetDefaultBranchRequest catalog. */
+ public catalog: string;
+
+ /**
+ * Creates a new GetDefaultBranchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetDefaultBranchRequest): google.cloud.retail.v2beta.GetDefaultBranchRequest;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetDefaultBranchRequest.verify|verify} messages.
+ * @param message GetDefaultBranchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetDefaultBranchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetDefaultBranchRequest;
+
+ /**
+ * Decodes a GetDefaultBranchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetDefaultBranchRequest;
+
+ /**
+ * Verifies a GetDefaultBranchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetDefaultBranchRequest;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchRequest message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetDefaultBranchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetDefaultBranchResponse. */
+ interface IGetDefaultBranchResponse {
+
+ /** GetDefaultBranchResponse branch */
+ branch?: (string|null);
+
+ /** GetDefaultBranchResponse setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note */
+ note?: (string|null);
+ }
+
+ /** Represents a GetDefaultBranchResponse. */
+ class GetDefaultBranchResponse implements IGetDefaultBranchResponse {
+
+ /**
+ * Constructs a new GetDefaultBranchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetDefaultBranchResponse);
+
+ /** GetDefaultBranchResponse branch. */
+ public branch: string;
+
+ /** GetDefaultBranchResponse setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** GetDefaultBranchResponse note. */
+ public note: string;
+
+ /**
+ * Creates a new GetDefaultBranchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDefaultBranchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetDefaultBranchResponse): google.cloud.retail.v2beta.GetDefaultBranchResponse;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message. Does not implicitly {@link google.cloud.retail.v2beta.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDefaultBranchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetDefaultBranchResponse.verify|verify} messages.
+ * @param message GetDefaultBranchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetDefaultBranchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetDefaultBranchResponse;
+
+ /**
+ * Decodes a GetDefaultBranchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDefaultBranchResponse
+ * @throws {Error} If the payload 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.retail.v2beta.GetDefaultBranchResponse;
+
+ /**
+ * Verifies a GetDefaultBranchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDefaultBranchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDefaultBranchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetDefaultBranchResponse;
+
+ /**
+ * Creates a plain object from a GetDefaultBranchResponse message. Also converts values to other types if specified.
+ * @param message GetDefaultBranchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetDefaultBranchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDefaultBranchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetDefaultBranchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCompletionConfigRequest. */
+ interface IGetCompletionConfigRequest {
+
+ /** GetCompletionConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCompletionConfigRequest. */
+ class GetCompletionConfigRequest implements IGetCompletionConfigRequest {
+
+ /**
+ * Constructs a new GetCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetCompletionConfigRequest);
+
+ /** GetCompletionConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetCompletionConfigRequest): google.cloud.retail.v2beta.GetCompletionConfigRequest;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetCompletionConfigRequest.verify|verify} messages.
+ * @param message GetCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetCompletionConfigRequest;
+
+ /**
+ * Decodes a GetCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetCompletionConfigRequest;
+
+ /**
+ * Verifies a GetCompletionConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from a GetCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message GetCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCompletionConfigRequest. */
+ interface IUpdateCompletionConfigRequest {
+
+ /** UpdateCompletionConfigRequest completionConfig */
+ completionConfig?: (google.cloud.retail.v2beta.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCompletionConfigRequest. */
+ class UpdateCompletionConfigRequest implements IUpdateCompletionConfigRequest {
+
+ /**
+ * Constructs a new UpdateCompletionConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest);
+
+ /** UpdateCompletionConfigRequest completionConfig. */
+ public completionConfig?: (google.cloud.retail.v2beta.ICompletionConfig|null);
+
+ /** UpdateCompletionConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCompletionConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCompletionConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest): google.cloud.retail.v2beta.UpdateCompletionConfigRequest;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCompletionConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateCompletionConfigRequest.verify|verify} messages.
+ * @param message UpdateCompletionConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateCompletionConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateCompletionConfigRequest;
+
+ /**
+ * Decodes an UpdateCompletionConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCompletionConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateCompletionConfigRequest;
+
+ /**
+ * Verifies an UpdateCompletionConfigRequest message.
+ * @param message Plain 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 UpdateCompletionConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCompletionConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateCompletionConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateCompletionConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateCompletionConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateCompletionConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCompletionConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCompletionConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAttributesConfigRequest. */
+ interface IGetAttributesConfigRequest {
+
+ /** GetAttributesConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAttributesConfigRequest. */
+ class GetAttributesConfigRequest implements IGetAttributesConfigRequest {
+
+ /**
+ * Constructs a new GetAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetAttributesConfigRequest);
+
+ /** GetAttributesConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetAttributesConfigRequest): google.cloud.retail.v2beta.GetAttributesConfigRequest;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetAttributesConfigRequest.verify|verify} messages.
+ * @param message GetAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetAttributesConfigRequest;
+
+ /**
+ * Decodes a GetAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetAttributesConfigRequest;
+
+ /**
+ * Verifies a GetAttributesConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from a GetAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message GetAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAttributesConfigRequest. */
+ interface IUpdateAttributesConfigRequest {
+
+ /** UpdateAttributesConfigRequest attributesConfig */
+ attributesConfig?: (google.cloud.retail.v2beta.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateAttributesConfigRequest. */
+ class UpdateAttributesConfigRequest implements IUpdateAttributesConfigRequest {
+
+ /**
+ * Constructs a new UpdateAttributesConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest);
+
+ /** UpdateAttributesConfigRequest attributesConfig. */
+ public attributesConfig?: (google.cloud.retail.v2beta.IAttributesConfig|null);
+
+ /** UpdateAttributesConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateAttributesConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAttributesConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest): google.cloud.retail.v2beta.UpdateAttributesConfigRequest;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAttributesConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateAttributesConfigRequest.verify|verify} messages.
+ * @param message UpdateAttributesConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateAttributesConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateAttributesConfigRequest;
+
+ /**
+ * Decodes an UpdateAttributesConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAttributesConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateAttributesConfigRequest;
+
+ /**
+ * Verifies an UpdateAttributesConfigRequest message.
+ * @param message Plain 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 UpdateAttributesConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAttributesConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateAttributesConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateAttributesConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateAttributesConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateAttributesConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAttributesConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAttributesConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddCatalogAttributeRequest. */
+ interface IAddCatalogAttributeRequest {
+
+ /** AddCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** AddCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2beta.ICatalogAttribute|null);
+ }
+
+ /** Represents an AddCatalogAttributeRequest. */
+ class AddCatalogAttributeRequest implements IAddCatalogAttributeRequest {
+
+ /**
+ * Constructs a new AddCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddCatalogAttributeRequest);
+
+ /** AddCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** AddCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2beta.ICatalogAttribute|null);
+
+ /**
+ * Creates a new AddCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddCatalogAttributeRequest): google.cloud.retail.v2beta.AddCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2beta.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddCatalogAttributeRequest.verify|verify} messages.
+ * @param message AddCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddCatalogAttributeRequest;
+
+ /**
+ * Decodes an AddCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2beta.AddCatalogAttributeRequest;
+
+ /**
+ * Verifies an AddCatalogAttributeRequest message.
+ * @param message Plain 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 AddCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from an AddCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message AddCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveCatalogAttributeRequest. */
+ interface IRemoveCatalogAttributeRequest {
+
+ /** RemoveCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** RemoveCatalogAttributeRequest key */
+ key?: (string|null);
+ }
+
+ /** Represents a RemoveCatalogAttributeRequest. */
+ class RemoveCatalogAttributeRequest implements IRemoveCatalogAttributeRequest {
+
+ /**
+ * Constructs a new RemoveCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest);
+
+ /** RemoveCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** RemoveCatalogAttributeRequest key. */
+ public key: string;
+
+ /**
+ * Creates a new RemoveCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest): google.cloud.retail.v2beta.RemoveCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveCatalogAttributeRequest.verify|verify} messages.
+ * @param message RemoveCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveCatalogAttributeRequest;
+
+ /**
+ * Decodes a RemoveCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveCatalogAttributeRequest;
+
+ /**
+ * Verifies a RemoveCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a RemoveCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message RemoveCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchRemoveCatalogAttributesRequest. */
+ interface IBatchRemoveCatalogAttributesRequest {
+
+ /** BatchRemoveCatalogAttributesRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** BatchRemoveCatalogAttributesRequest attributeKeys */
+ attributeKeys?: (string[]|null);
+ }
+
+ /** Represents a BatchRemoveCatalogAttributesRequest. */
+ class BatchRemoveCatalogAttributesRequest implements IBatchRemoveCatalogAttributesRequest {
+
+ /**
+ * Constructs a new BatchRemoveCatalogAttributesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest);
+
+ /** BatchRemoveCatalogAttributesRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** BatchRemoveCatalogAttributesRequest attributeKeys. */
+ public attributeKeys: string[];
+
+ /**
+ * Creates a new BatchRemoveCatalogAttributesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchRemoveCatalogAttributesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest): google.cloud.retail.v2beta.BatchRemoveCatalogAttributesRequest;
+
+ /**
+ * Encodes the specified BatchRemoveCatalogAttributesRequest message. Does not implicitly {@link google.cloud.retail.v2beta.BatchRemoveCatalogAttributesRequest.verify|verify} messages.
+ * @param message BatchRemoveCatalogAttributesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchRemoveCatalogAttributesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.BatchRemoveCatalogAttributesRequest.verify|verify} messages.
+ * @param message BatchRemoveCatalogAttributesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchRemoveCatalogAttributesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchRemoveCatalogAttributesRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.BatchRemoveCatalogAttributesRequest;
+
+ /**
+ * Decodes a BatchRemoveCatalogAttributesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchRemoveCatalogAttributesRequest
+ * @throws {Error} If the payload 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.retail.v2beta.BatchRemoveCatalogAttributesRequest;
+
+ /**
+ * Verifies a BatchRemoveCatalogAttributesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchRemoveCatalogAttributesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchRemoveCatalogAttributesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.BatchRemoveCatalogAttributesRequest;
+
+ /**
+ * Creates a plain object from a BatchRemoveCatalogAttributesRequest message. Also converts values to other types if specified.
+ * @param message BatchRemoveCatalogAttributesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.BatchRemoveCatalogAttributesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchRemoveCatalogAttributesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchRemoveCatalogAttributesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchRemoveCatalogAttributesResponse. */
+ interface IBatchRemoveCatalogAttributesResponse {
+
+ /** BatchRemoveCatalogAttributesResponse deletedCatalogAttributes */
+ deletedCatalogAttributes?: (string[]|null);
+
+ /** BatchRemoveCatalogAttributesResponse resetCatalogAttributes */
+ resetCatalogAttributes?: (string[]|null);
+ }
+
+ /** Represents a BatchRemoveCatalogAttributesResponse. */
+ class BatchRemoveCatalogAttributesResponse implements IBatchRemoveCatalogAttributesResponse {
+
+ /**
+ * Constructs a new BatchRemoveCatalogAttributesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesResponse);
+
+ /** BatchRemoveCatalogAttributesResponse deletedCatalogAttributes. */
+ public deletedCatalogAttributes: string[];
+
+ /** BatchRemoveCatalogAttributesResponse resetCatalogAttributes. */
+ public resetCatalogAttributes: string[];
+
+ /**
+ * Creates a new BatchRemoveCatalogAttributesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchRemoveCatalogAttributesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesResponse): google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse;
+
+ /**
+ * Encodes the specified BatchRemoveCatalogAttributesResponse message. Does not implicitly {@link google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse.verify|verify} messages.
+ * @param message BatchRemoveCatalogAttributesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchRemoveCatalogAttributesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse.verify|verify} messages.
+ * @param message BatchRemoveCatalogAttributesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IBatchRemoveCatalogAttributesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchRemoveCatalogAttributesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchRemoveCatalogAttributesResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.BatchRemoveCatalogAttributesResponse;
+
+ /**
+ * Decodes a BatchRemoveCatalogAttributesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchRemoveCatalogAttributesResponse
+ * @throws {Error} If the payload 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.retail.v2beta.BatchRemoveCatalogAttributesResponse;
+
+ /**
+ * Verifies a BatchRemoveCatalogAttributesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchRemoveCatalogAttributesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchRemoveCatalogAttributesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse;
+
+ /**
+ * Creates a plain object from a BatchRemoveCatalogAttributesResponse message. Also converts values to other types if specified.
+ * @param message BatchRemoveCatalogAttributesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.BatchRemoveCatalogAttributesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchRemoveCatalogAttributesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchRemoveCatalogAttributesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReplaceCatalogAttributeRequest. */
+ interface IReplaceCatalogAttributeRequest {
+
+ /** ReplaceCatalogAttributeRequest attributesConfig */
+ attributesConfig?: (string|null);
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute */
+ catalogAttribute?: (google.cloud.retail.v2beta.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a ReplaceCatalogAttributeRequest. */
+ class ReplaceCatalogAttributeRequest implements IReplaceCatalogAttributeRequest {
+
+ /**
+ * Constructs a new ReplaceCatalogAttributeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest);
+
+ /** ReplaceCatalogAttributeRequest attributesConfig. */
+ public attributesConfig: string;
+
+ /** ReplaceCatalogAttributeRequest catalogAttribute. */
+ public catalogAttribute?: (google.cloud.retail.v2beta.ICatalogAttribute|null);
+
+ /** ReplaceCatalogAttributeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new ReplaceCatalogAttributeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplaceCatalogAttributeRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest): google.cloud.retail.v2beta.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplaceCatalogAttributeRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ReplaceCatalogAttributeRequest.verify|verify} messages.
+ * @param message ReplaceCatalogAttributeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IReplaceCatalogAttributeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Decodes a ReplaceCatalogAttributeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplaceCatalogAttributeRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Verifies a ReplaceCatalogAttributeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplaceCatalogAttributeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplaceCatalogAttributeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ReplaceCatalogAttributeRequest;
+
+ /**
+ * Creates a plain object from a ReplaceCatalogAttributeRequest message. Also converts values to other types if specified.
+ * @param message ReplaceCatalogAttributeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ReplaceCatalogAttributeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplaceCatalogAttributeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReplaceCatalogAttributeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CompletionService */
+ class CompletionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CompletionService 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 CompletionService 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): CompletionService;
+
+ /**
+ * 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.retail.v2beta.ICompleteQueryRequest, callback: google.cloud.retail.v2beta.CompletionService.CompleteQueryCallback): void;
+
+ /**
+ * Calls CompleteQuery.
+ * @param request CompleteQueryRequest message or plain object
+ * @returns Promise
+ */
+ public completeQuery(request: google.cloud.retail.v2beta.ICompleteQueryRequest): Promise;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importCompletionData(request: google.cloud.retail.v2beta.IImportCompletionDataRequest, callback: google.cloud.retail.v2beta.CompletionService.ImportCompletionDataCallback): void;
+
+ /**
+ * Calls ImportCompletionData.
+ * @param request ImportCompletionDataRequest message or plain object
+ * @returns Promise
+ */
+ public importCompletionData(request: google.cloud.retail.v2beta.IImportCompletionDataRequest): Promise;
+ }
+
+ namespace CompletionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CompletionService|completeQuery}.
+ * @param error Error, if any
+ * @param [response] CompleteQueryResponse
+ */
+ type CompleteQueryCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.CompleteQueryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.CompletionService|importCompletionData}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportCompletionDataCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CompleteQueryRequest. */
+ interface ICompleteQueryRequest {
+
+ /** CompleteQueryRequest catalog */
+ catalog?: (string|null);
+
+ /** CompleteQueryRequest query */
+ query?: (string|null);
+
+ /** CompleteQueryRequest visitorId */
+ visitorId?: (string|null);
+
+ /** CompleteQueryRequest languageCodes */
+ languageCodes?: (string[]|null);
+
+ /** CompleteQueryRequest deviceType */
+ deviceType?: (string|null);
+
+ /** CompleteQueryRequest dataset */
+ dataset?: (string|null);
+
+ /** CompleteQueryRequest maxSuggestions */
+ maxSuggestions?: (number|null);
+ }
+
+ /** Represents a CompleteQueryRequest. */
+ class CompleteQueryRequest implements ICompleteQueryRequest {
+
+ /**
+ * Constructs a new CompleteQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICompleteQueryRequest);
+
+ /** CompleteQueryRequest catalog. */
+ public catalog: string;
+
+ /** CompleteQueryRequest query. */
+ public query: string;
+
+ /** CompleteQueryRequest visitorId. */
+ public visitorId: string;
+
+ /** CompleteQueryRequest languageCodes. */
+ public languageCodes: string[];
+
+ /** CompleteQueryRequest deviceType. */
+ public deviceType: string;
+
+ /** CompleteQueryRequest dataset. */
+ public dataset: string;
+
+ /** CompleteQueryRequest maxSuggestions. */
+ public maxSuggestions: number;
+
+ /**
+ * Creates a new CompleteQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICompleteQueryRequest): google.cloud.retail.v2beta.CompleteQueryRequest;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.ICompleteQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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;
+ }
+
+ /** Properties of a CompleteQueryResponse. */
+ interface ICompleteQueryResponse {
+
+ /** CompleteQueryResponse completionResults */
+ completionResults?: (google.cloud.retail.v2beta.CompleteQueryResponse.ICompletionResult[]|null);
+
+ /** CompleteQueryResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** CompleteQueryResponse recentSearchResults */
+ recentSearchResults?: (google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult[]|null);
+ }
+
+ /** Represents a CompleteQueryResponse. */
+ class CompleteQueryResponse implements ICompleteQueryResponse {
+
+ /**
+ * Constructs a new CompleteQueryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICompleteQueryResponse);
+
+ /** CompleteQueryResponse completionResults. */
+ public completionResults: google.cloud.retail.v2beta.CompleteQueryResponse.ICompletionResult[];
+
+ /** CompleteQueryResponse attributionToken. */
+ public attributionToken: string;
+
+ /** CompleteQueryResponse recentSearchResults. */
+ public recentSearchResults: google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult[];
+
+ /**
+ * Creates a new CompleteQueryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompleteQueryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICompleteQueryResponse): google.cloud.retail.v2beta.CompleteQueryResponse;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.ICompleteQueryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompleteQueryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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 attributes */
+ attributes?: ({ [k: string]: google.cloud.retail.v2beta.ICustomAttribute }|null);
+ }
+
+ /** Represents a CompletionResult. */
+ class CompletionResult implements ICompletionResult {
+
+ /**
+ * Constructs a new CompletionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.CompleteQueryResponse.ICompletionResult);
+
+ /** CompletionResult suggestion. */
+ public suggestion: string;
+
+ /** CompletionResult attributes. */
+ public attributes: { [k: string]: google.cloud.retail.v2beta.ICustomAttribute };
+
+ /**
+ * Creates a new CompletionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CompletionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.CompleteQueryResponse.ICompletionResult): google.cloud.retail.v2beta.CompleteQueryResponse.CompletionResult;
+
+ /**
+ * Encodes the specified CompletionResult message. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.CompleteQueryResponse.ICompletionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CompletionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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.retail.v2beta.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 RecentSearchResult. */
+ interface IRecentSearchResult {
+
+ /** RecentSearchResult recentSearch */
+ recentSearch?: (string|null);
+ }
+
+ /** Represents a RecentSearchResult. */
+ class RecentSearchResult implements IRecentSearchResult {
+
+ /**
+ * Constructs a new RecentSearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult);
+
+ /** RecentSearchResult recentSearch. */
+ public recentSearch: string;
+
+ /**
+ * Creates a new RecentSearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecentSearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult): google.cloud.retail.v2beta.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Encodes the specified RecentSearchResult message. Does not implicitly {@link google.cloud.retail.v2beta.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecentSearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CompleteQueryResponse.RecentSearchResult.verify|verify} messages.
+ * @param message RecentSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.CompleteQueryResponse.IRecentSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload is not 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.retail.v2beta.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Decodes a RecentSearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecentSearchResult
+ * @throws {Error} If the payload 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.retail.v2beta.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Verifies a RecentSearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecentSearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecentSearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CompleteQueryResponse.RecentSearchResult;
+
+ /**
+ * Creates a plain object from a RecentSearchResult message. Also converts values to other types if specified.
+ * @param message RecentSearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CompleteQueryResponse.RecentSearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecentSearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RecentSearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Control. */
+ interface IControl {
+
+ /** Control facetSpec */
+ facetSpec?: (google.cloud.retail.v2beta.SearchRequest.IFacetSpec|null);
+
+ /** Control rule */
+ rule?: (google.cloud.retail.v2beta.IRule|null);
+
+ /** Control name */
+ name?: (string|null);
+
+ /** Control displayName */
+ displayName?: (string|null);
+
+ /** Control associatedServingConfigIds */
+ associatedServingConfigIds?: (string[]|null);
+
+ /** Control solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2beta.SolutionType[]|null);
+
+ /** Control searchSolutionUseCase */
+ searchSolutionUseCase?: (google.cloud.retail.v2beta.SearchSolutionUseCase[]|null);
+ }
+
+ /** Represents a Control. */
+ class Control implements IControl {
+
+ /**
+ * Constructs a new Control.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IControl);
+
+ /** Control facetSpec. */
+ public facetSpec?: (google.cloud.retail.v2beta.SearchRequest.IFacetSpec|null);
+
+ /** Control rule. */
+ public rule?: (google.cloud.retail.v2beta.IRule|null);
+
+ /** Control name. */
+ public name: string;
+
+ /** Control displayName. */
+ public displayName: string;
+
+ /** Control associatedServingConfigIds. */
+ public associatedServingConfigIds: string[];
+
+ /** Control solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2beta.SolutionType[];
+
+ /** Control searchSolutionUseCase. */
+ public searchSolutionUseCase: google.cloud.retail.v2beta.SearchSolutionUseCase[];
+
+ /** Control control. */
+ public control?: ("facetSpec"|"rule");
+
+ /**
+ * Creates a new Control instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Control instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IControl): google.cloud.retail.v2beta.Control;
+
+ /**
+ * Encodes the specified Control message. Does not implicitly {@link google.cloud.retail.v2beta.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Control message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Control.verify|verify} messages.
+ * @param message Control message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IControl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Control
+ * @throws {Error} If the payload is not 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.retail.v2beta.Control;
+
+ /**
+ * Decodes a Control message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Control
+ * @throws {Error} If the payload 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.retail.v2beta.Control;
+
+ /**
+ * Verifies a Control message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Control message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Control
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Control;
+
+ /**
+ * Creates a plain object from a Control message. Also converts values to other types if specified.
+ * @param message Control
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Control, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Control to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Control
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a SearchService */
+ class SearchService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SearchService 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 SearchService 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): SearchService;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchResponse
+ */
+ public search(request: google.cloud.retail.v2beta.ISearchRequest, callback: google.cloud.retail.v2beta.SearchService.SearchCallback): void;
+
+ /**
+ * Calls Search.
+ * @param request SearchRequest message or plain object
+ * @returns Promise
+ */
+ public search(request: google.cloud.retail.v2beta.ISearchRequest): Promise;
+ }
+
+ namespace SearchService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.SearchService|search}.
+ * @param error Error, if any
+ * @param [response] SearchResponse
+ */
+ type SearchCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.SearchResponse) => void;
+ }
+
+ /** Properties of a SearchRequest. */
+ interface ISearchRequest {
+
+ /** SearchRequest placement */
+ placement?: (string|null);
+
+ /** SearchRequest branch */
+ branch?: (string|null);
+
+ /** SearchRequest query */
+ query?: (string|null);
+
+ /** SearchRequest visitorId */
+ visitorId?: (string|null);
+
+ /** SearchRequest userInfo */
+ userInfo?: (google.cloud.retail.v2beta.IUserInfo|null);
+
+ /** SearchRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchRequest offset */
+ offset?: (number|null);
+
+ /** SearchRequest filter */
+ filter?: (string|null);
+
+ /** SearchRequest canonicalFilter */
+ canonicalFilter?: (string|null);
+
+ /** SearchRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchRequest facetSpecs */
+ facetSpecs?: (google.cloud.retail.v2beta.SearchRequest.IFacetSpec[]|null);
+
+ /** SearchRequest dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec */
+ boostSpec?: (google.cloud.retail.v2beta.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec */
+ queryExpansionSpec?: (google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest variantRollupKeys */
+ variantRollupKeys?: (string[]|null);
+
+ /** SearchRequest pageCategories */
+ pageCategories?: (string[]|null);
+
+ /** SearchRequest searchMode */
+ searchMode?: (google.cloud.retail.v2beta.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2beta.SearchRequest.SearchMode|null);
+
+ /** SearchRequest personalizationSpec */
+ personalizationSpec?: (google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** SearchRequest spellCorrectionSpec */
+ spellCorrectionSpec?: (google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec|null);
+ }
+
+ /** Represents a SearchRequest. */
+ class SearchRequest implements ISearchRequest {
+
+ /**
+ * Constructs a new SearchRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISearchRequest);
+
+ /** SearchRequest placement. */
+ public placement: string;
+
+ /** SearchRequest branch. */
+ public branch: string;
+
+ /** SearchRequest query. */
+ public query: string;
+
+ /** SearchRequest visitorId. */
+ public visitorId: string;
+
+ /** SearchRequest userInfo. */
+ public userInfo?: (google.cloud.retail.v2beta.IUserInfo|null);
+
+ /** SearchRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchRequest offset. */
+ public offset: number;
+
+ /** SearchRequest filter. */
+ public filter: string;
+
+ /** SearchRequest canonicalFilter. */
+ public canonicalFilter: string;
+
+ /** SearchRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchRequest facetSpecs. */
+ public facetSpecs: google.cloud.retail.v2beta.SearchRequest.IFacetSpec[];
+
+ /** SearchRequest dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec|null);
+
+ /** SearchRequest boostSpec. */
+ public boostSpec?: (google.cloud.retail.v2beta.SearchRequest.IBoostSpec|null);
+
+ /** SearchRequest queryExpansionSpec. */
+ public queryExpansionSpec?: (google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec|null);
+
+ /** SearchRequest variantRollupKeys. */
+ public variantRollupKeys: string[];
+
+ /** SearchRequest pageCategories. */
+ public pageCategories: string[];
+
+ /** SearchRequest searchMode. */
+ public searchMode: (google.cloud.retail.v2beta.SearchRequest.SearchMode|keyof typeof google.cloud.retail.v2beta.SearchRequest.SearchMode);
+
+ /** SearchRequest personalizationSpec. */
+ public personalizationSpec?: (google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec|null);
+
+ /** SearchRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** SearchRequest spellCorrectionSpec. */
+ public spellCorrectionSpec?: (google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec|null);
+
+ /** SearchRequest _spellCorrectionSpec. */
+ public _spellCorrectionSpec?: "spellCorrectionSpec";
+
+ /**
+ * Creates a new SearchRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISearchRequest): google.cloud.retail.v2beta.SearchRequest;
+
+ /**
+ * Encodes the specified SearchRequest message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.verify|verify} messages.
+ * @param message SearchRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISearchRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest;
+
+ /**
+ * Decodes a SearchRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchRequest
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest;
+
+ /**
+ * Verifies a SearchRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest;
+
+ /**
+ * Creates a plain object from a SearchRequest message. Also converts values to other types if specified.
+ * @param message SearchRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchRequest {
+
+ /** Properties of a FacetSpec. */
+ interface IFacetSpec {
+
+ /** FacetSpec facetKey */
+ facetKey?: (google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit */
+ limit?: (number|null);
+
+ /** FacetSpec excludedFilterKeys */
+ excludedFilterKeys?: (string[]|null);
+
+ /** FacetSpec enableDynamicPosition */
+ enableDynamicPosition?: (boolean|null);
+ }
+
+ /** Represents a FacetSpec. */
+ class FacetSpec implements IFacetSpec {
+
+ /**
+ * Constructs a new FacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.IFacetSpec);
+
+ /** FacetSpec facetKey. */
+ public facetKey?: (google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey|null);
+
+ /** FacetSpec limit. */
+ public limit: number;
+
+ /** FacetSpec excludedFilterKeys. */
+ public excludedFilterKeys: string[];
+
+ /** FacetSpec enableDynamicPosition. */
+ public enableDynamicPosition: boolean;
+
+ /**
+ * Creates a new FacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.IFacetSpec): google.cloud.retail.v2beta.SearchRequest.FacetSpec;
+
+ /**
+ * Encodes the specified FacetSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.FacetSpec.verify|verify} messages.
+ * @param message FacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.IFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.FacetSpec;
+
+ /**
+ * Decodes a FacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.FacetSpec;
+
+ /**
+ * Verifies a FacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.FacetSpec;
+
+ /**
+ * Creates a plain object from a FacetSpec message. Also converts values to other types if specified.
+ * @param message FacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.FacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FacetSpec {
+
+ /** Properties of a FacetKey. */
+ interface IFacetKey {
+
+ /** FacetKey key */
+ key?: (string|null);
+
+ /** FacetKey intervals */
+ intervals?: (google.cloud.retail.v2beta.IInterval[]|null);
+
+ /** FacetKey restrictedValues */
+ restrictedValues?: (string[]|null);
+
+ /** FacetKey prefixes */
+ prefixes?: (string[]|null);
+
+ /** FacetKey contains */
+ contains?: (string[]|null);
+
+ /** FacetKey caseInsensitive */
+ caseInsensitive?: (boolean|null);
+
+ /** FacetKey orderBy */
+ orderBy?: (string|null);
+
+ /** FacetKey query */
+ query?: (string|null);
+
+ /** FacetKey returnMinMax */
+ returnMinMax?: (boolean|null);
+ }
+
+ /** Represents a FacetKey. */
+ class FacetKey implements IFacetKey {
+
+ /**
+ * Constructs a new FacetKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey);
+
+ /** FacetKey key. */
+ public key: string;
+
+ /** FacetKey intervals. */
+ public intervals: google.cloud.retail.v2beta.IInterval[];
+
+ /** FacetKey restrictedValues. */
+ public restrictedValues: string[];
+
+ /** FacetKey prefixes. */
+ public prefixes: string[];
+
+ /** FacetKey contains. */
+ public contains: string[];
+
+ /** FacetKey caseInsensitive. */
+ public caseInsensitive: boolean;
+
+ /** FacetKey orderBy. */
+ public orderBy: string;
+
+ /** FacetKey query. */
+ public query: string;
+
+ /** FacetKey returnMinMax. */
+ public returnMinMax: boolean;
+
+ /**
+ * Creates a new FacetKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetKey instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey): google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Encodes the specified FacetKey message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetKey message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.verify|verify} messages.
+ * @param message FacetKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.FacetSpec.IFacetKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetKey
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Decodes a FacetKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetKey
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Verifies a FacetKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey;
+
+ /**
+ * Creates a plain object from a FacetKey message. Also converts values to other types if specified.
+ * @param message FacetKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a DynamicFacetSpec. */
+ interface IDynamicFacetSpec {
+
+ /** DynamicFacetSpec mode */
+ mode?: (google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.Mode|null);
+ }
+
+ /** Represents a DynamicFacetSpec. */
+ class DynamicFacetSpec implements IDynamicFacetSpec {
+
+ /**
+ * Constructs a new DynamicFacetSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec);
+
+ /** DynamicFacetSpec mode. */
+ public mode: (google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.Mode);
+
+ /**
+ * Creates a new DynamicFacetSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DynamicFacetSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec): google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DynamicFacetSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec.verify|verify} messages.
+ * @param message DynamicFacetSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Decodes a DynamicFacetSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DynamicFacetSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Verifies a DynamicFacetSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DynamicFacetSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DynamicFacetSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec;
+
+ /**
+ * Creates a plain object from a DynamicFacetSpec message. Also converts values to other types if specified.
+ * @param message DynamicFacetSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.DynamicFacetSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DynamicFacetSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DynamicFacetSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DynamicFacetSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ DISABLED = 1,
+ ENABLED = 2
+ }
+ }
+
+ /** Properties of a BoostSpec. */
+ interface IBoostSpec {
+
+ /** BoostSpec conditionBoostSpecs */
+ conditionBoostSpecs?: (google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+
+ /** BoostSpec skipBoostSpecValidation */
+ skipBoostSpecValidation?: (boolean|null);
+ }
+
+ /** Represents a BoostSpec. */
+ class BoostSpec implements IBoostSpec {
+
+ /**
+ * Constructs a new BoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.IBoostSpec);
+
+ /** BoostSpec conditionBoostSpecs. */
+ public conditionBoostSpecs: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /** BoostSpec skipBoostSpecValidation. */
+ public skipBoostSpecValidation?: (boolean|null);
+
+ /** BoostSpec _skipBoostSpecValidation. */
+ public _skipBoostSpecValidation?: "skipBoostSpecValidation";
+
+ /**
+ * Creates a new BoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.IBoostSpec): google.cloud.retail.v2beta.SearchRequest.BoostSpec;
+
+ /**
+ * Encodes the specified BoostSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.BoostSpec.verify|verify} messages.
+ * @param message BoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.BoostSpec;
+
+ /**
+ * Decodes a BoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoostSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.BoostSpec;
+
+ /**
+ * Verifies a BoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.BoostSpec;
+
+ /**
+ * Creates a plain object from a BoostSpec message. Also converts values to other types if specified.
+ * @param message BoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.BoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BoostSpec {
+
+ /** Properties of a ConditionBoostSpec. */
+ interface IConditionBoostSpec {
+
+ /** ConditionBoostSpec condition */
+ condition?: (string|null);
+
+ /** ConditionBoostSpec boost */
+ boost?: (number|null);
+ }
+
+ /** Represents a ConditionBoostSpec. */
+ class ConditionBoostSpec implements IConditionBoostSpec {
+
+ /**
+ * Constructs a new ConditionBoostSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec);
+
+ /** ConditionBoostSpec condition. */
+ public condition: string;
+
+ /** ConditionBoostSpec boost. */
+ public boost: number;
+
+ /**
+ * Creates a new ConditionBoostSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConditionBoostSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec): google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConditionBoostSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.verify|verify} messages.
+ * @param message ConditionBoostSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Decodes a ConditionBoostSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConditionBoostSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Verifies a ConditionBoostSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConditionBoostSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConditionBoostSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec;
+
+ /**
+ * Creates a plain object from a ConditionBoostSpec message. Also converts values to other types if specified.
+ * @param message ConditionBoostSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConditionBoostSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConditionBoostSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionSpec. */
+ interface IQueryExpansionSpec {
+
+ /** QueryExpansionSpec condition */
+ condition?: (google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition|null);
+
+ /** QueryExpansionSpec pinUnexpandedResults */
+ pinUnexpandedResults?: (boolean|null);
+ }
+
+ /** Represents a QueryExpansionSpec. */
+ class QueryExpansionSpec implements IQueryExpansionSpec {
+
+ /**
+ * Constructs a new QueryExpansionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec);
+
+ /** QueryExpansionSpec condition. */
+ public condition: (google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition|keyof typeof google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.Condition);
+
+ /** QueryExpansionSpec pinUnexpandedResults. */
+ public pinUnexpandedResults: boolean;
+
+ /**
+ * Creates a new QueryExpansionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec): google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.verify|verify} messages.
+ * @param message QueryExpansionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.IQueryExpansionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Decodes a QueryExpansionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Verifies a QueryExpansionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec;
+
+ /**
+ * Creates a plain object from a QueryExpansionSpec message. Also converts values to other types if specified.
+ * @param message QueryExpansionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace QueryExpansionSpec {
+
+ /** Condition enum. */
+ enum Condition {
+ CONDITION_UNSPECIFIED = 0,
+ DISABLED = 1,
+ AUTO = 3
+ }
+ }
+
+ /** Properties of a PersonalizationSpec. */
+ interface IPersonalizationSpec {
+
+ /** PersonalizationSpec mode */
+ mode?: (google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode|null);
+ }
+
+ /** Represents a PersonalizationSpec. */
+ class PersonalizationSpec implements IPersonalizationSpec {
+
+ /**
+ * Constructs a new PersonalizationSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec);
+
+ /** PersonalizationSpec mode. */
+ public mode: (google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode);
+
+ /**
+ * Creates a new PersonalizationSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonalizationSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec): google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Encodes the specified PersonalizationSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonalizationSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.verify|verify} messages.
+ * @param message PersonalizationSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Decodes a PersonalizationSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonalizationSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Verifies a PersonalizationSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonalizationSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonalizationSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec;
+
+ /**
+ * Creates a plain object from a PersonalizationSpec message. Also converts values to other types if specified.
+ * @param message PersonalizationSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonalizationSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonalizationSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PersonalizationSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ AUTO = 1,
+ DISABLED = 2
+ }
+ }
+
+ /** Properties of a SpellCorrectionSpec. */
+ interface ISpellCorrectionSpec {
+
+ /** SpellCorrectionSpec mode */
+ mode?: (google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode|null);
+ }
+
+ /** Represents a SpellCorrectionSpec. */
+ class SpellCorrectionSpec implements ISpellCorrectionSpec {
+
+ /**
+ * Constructs a new SpellCorrectionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec);
+
+ /** SpellCorrectionSpec mode. */
+ public mode: (google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode|keyof typeof google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.Mode);
+
+ /**
+ * Creates a new SpellCorrectionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpellCorrectionSpec instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec): google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpellCorrectionSpec message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec.verify|verify} messages.
+ * @param message SpellCorrectionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchRequest.ISpellCorrectionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Decodes a SpellCorrectionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpellCorrectionSpec
+ * @throws {Error} If the payload 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.retail.v2beta.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Verifies a SpellCorrectionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpellCorrectionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpellCorrectionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec;
+
+ /**
+ * Creates a plain object from a SpellCorrectionSpec message. Also converts values to other types if specified.
+ * @param message SpellCorrectionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchRequest.SpellCorrectionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpellCorrectionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpellCorrectionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SpellCorrectionSpec {
+
+ /** Mode enum. */
+ enum Mode {
+ MODE_UNSPECIFIED = 0,
+ SUGGESTION_ONLY = 1,
+ AUTO = 2
+ }
+ }
+
+ /** SearchMode enum. */
+ enum SearchMode {
+ SEARCH_MODE_UNSPECIFIED = 0,
+ PRODUCT_SEARCH_ONLY = 1,
+ FACETED_SEARCH_ONLY = 2
+ }
+ }
+
+ /** Properties of a SearchResponse. */
+ interface ISearchResponse {
+
+ /** SearchResponse results */
+ results?: (google.cloud.retail.v2beta.SearchResponse.ISearchResult[]|null);
+
+ /** SearchResponse facets */
+ facets?: (google.cloud.retail.v2beta.SearchResponse.IFacet[]|null);
+
+ /** SearchResponse totalSize */
+ totalSize?: (number|null);
+
+ /** SearchResponse correctedQuery */
+ correctedQuery?: (string|null);
+
+ /** SearchResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** SearchResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** SearchResponse queryExpansionInfo */
+ queryExpansionInfo?: (google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri */
+ redirectUri?: (string|null);
+
+ /** SearchResponse appliedControls */
+ appliedControls?: (string[]|null);
+
+ /** SearchResponse invalidConditionBoostSpecs */
+ invalidConditionBoostSpecs?: (google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec[]|null);
+ }
+
+ /** Represents a SearchResponse. */
+ class SearchResponse implements ISearchResponse {
+
+ /**
+ * Constructs a new SearchResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISearchResponse);
+
+ /** SearchResponse results. */
+ public results: google.cloud.retail.v2beta.SearchResponse.ISearchResult[];
+
+ /** SearchResponse facets. */
+ public facets: google.cloud.retail.v2beta.SearchResponse.IFacet[];
+
+ /** SearchResponse totalSize. */
+ public totalSize: number;
+
+ /** SearchResponse correctedQuery. */
+ public correctedQuery: string;
+
+ /** SearchResponse attributionToken. */
+ public attributionToken: string;
+
+ /** SearchResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** SearchResponse queryExpansionInfo. */
+ public queryExpansionInfo?: (google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo|null);
+
+ /** SearchResponse redirectUri. */
+ public redirectUri: string;
+
+ /** SearchResponse appliedControls. */
+ public appliedControls: string[];
+
+ /** SearchResponse invalidConditionBoostSpecs. */
+ public invalidConditionBoostSpecs: google.cloud.retail.v2beta.SearchRequest.BoostSpec.IConditionBoostSpec[];
+
+ /**
+ * Creates a new SearchResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISearchResponse): google.cloud.retail.v2beta.SearchResponse;
+
+ /**
+ * Encodes the specified SearchResponse message. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.verify|verify} messages.
+ * @param message SearchResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISearchResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchResponse;
+
+ /**
+ * Decodes a SearchResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResponse
+ * @throws {Error} If the payload 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.retail.v2beta.SearchResponse;
+
+ /**
+ * Verifies a SearchResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchResponse;
+
+ /**
+ * Creates a plain object from a SearchResponse message. Also converts values to other types if specified.
+ * @param message SearchResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SearchResponse {
+
+ /** Properties of a SearchResult. */
+ interface ISearchResult {
+
+ /** SearchResult id */
+ id?: (string|null);
+
+ /** SearchResult product */
+ product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** SearchResult matchingVariantCount */
+ matchingVariantCount?: (number|null);
+
+ /** SearchResult matchingVariantFields */
+ matchingVariantFields?: ({ [k: string]: google.protobuf.IFieldMask }|null);
+
+ /** SearchResult variantRollupValues */
+ variantRollupValues?: ({ [k: string]: google.protobuf.IValue }|null);
+
+ /** SearchResult personalLabels */
+ personalLabels?: (string[]|null);
+ }
+
+ /** Represents a SearchResult. */
+ class SearchResult implements ISearchResult {
+
+ /**
+ * Constructs a new SearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchResponse.ISearchResult);
+
+ /** SearchResult id. */
+ public id: string;
+
+ /** SearchResult product. */
+ public product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** SearchResult matchingVariantCount. */
+ public matchingVariantCount: number;
+
+ /** SearchResult matchingVariantFields. */
+ public matchingVariantFields: { [k: string]: google.protobuf.IFieldMask };
+
+ /** SearchResult variantRollupValues. */
+ public variantRollupValues: { [k: string]: google.protobuf.IValue };
+
+ /** SearchResult personalLabels. */
+ public personalLabels: string[];
+
+ /**
+ * Creates a new SearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchResponse.ISearchResult): google.cloud.retail.v2beta.SearchResponse.SearchResult;
+
+ /**
+ * Encodes the specified SearchResult message. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.SearchResult.verify|verify} messages.
+ * @param message SearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchResponse.ISearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchResult
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchResponse.SearchResult;
+
+ /**
+ * Decodes a SearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchResult
+ * @throws {Error} If the payload 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.retail.v2beta.SearchResponse.SearchResult;
+
+ /**
+ * Verifies a SearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchResponse.SearchResult;
+
+ /**
+ * Creates a plain object from a SearchResult message. Also converts values to other types if specified.
+ * @param message SearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchResponse.SearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Facet. */
+ interface IFacet {
+
+ /** Facet key */
+ key?: (string|null);
+
+ /** Facet values */
+ values?: (google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue[]|null);
+
+ /** Facet dynamicFacet */
+ dynamicFacet?: (boolean|null);
+ }
+
+ /** Represents a Facet. */
+ class Facet implements IFacet {
+
+ /**
+ * Constructs a new Facet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchResponse.IFacet);
+
+ /** Facet key. */
+ public key: string;
+
+ /** Facet values. */
+ public values: google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue[];
+
+ /** Facet dynamicFacet. */
+ public dynamicFacet: boolean;
+
+ /**
+ * Creates a new Facet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Facet instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchResponse.IFacet): google.cloud.retail.v2beta.SearchResponse.Facet;
+
+ /**
+ * Encodes the specified Facet message. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Facet message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.Facet.verify|verify} messages.
+ * @param message Facet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchResponse.IFacet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Facet
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchResponse.Facet;
+
+ /**
+ * Decodes a Facet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Facet
+ * @throws {Error} If the payload 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.retail.v2beta.SearchResponse.Facet;
+
+ /**
+ * Verifies a Facet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Facet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Facet
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchResponse.Facet;
+
+ /**
+ * Creates a plain object from a Facet message. Also converts values to other types if specified.
+ * @param message Facet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchResponse.Facet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Facet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Facet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Facet {
+
+ /** Properties of a FacetValue. */
+ interface IFacetValue {
+
+ /** FacetValue value */
+ value?: (string|null);
+
+ /** FacetValue interval */
+ interval?: (google.cloud.retail.v2beta.IInterval|null);
+
+ /** FacetValue count */
+ count?: (number|Long|string|null);
+
+ /** FacetValue minValue */
+ minValue?: (number|null);
+
+ /** FacetValue maxValue */
+ maxValue?: (number|null);
+ }
+
+ /** Represents a FacetValue. */
+ class FacetValue implements IFacetValue {
+
+ /**
+ * Constructs a new FacetValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue);
+
+ /** FacetValue value. */
+ public value?: (string|null);
+
+ /** FacetValue interval. */
+ public interval?: (google.cloud.retail.v2beta.IInterval|null);
+
+ /** FacetValue count. */
+ public count: (number|Long|string);
+
+ /** FacetValue minValue. */
+ public minValue: number;
+
+ /** FacetValue maxValue. */
+ public maxValue: number;
+
+ /** FacetValue facetValue. */
+ public facetValue?: ("value"|"interval");
+
+ /**
+ * Creates a new FacetValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FacetValue instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue): google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Encodes the specified FacetValue message. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FacetValue message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.verify|verify} messages.
+ * @param message FacetValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchResponse.Facet.IFacetValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FacetValue
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Decodes a FacetValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FacetValue
+ * @throws {Error} If the payload 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.retail.v2beta.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Verifies a FacetValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FacetValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FacetValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue;
+
+ /**
+ * Creates a plain object from a FacetValue message. Also converts values to other types if specified.
+ * @param message FacetValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FacetValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FacetValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryExpansionInfo. */
+ interface IQueryExpansionInfo {
+
+ /** QueryExpansionInfo expandedQuery */
+ expandedQuery?: (boolean|null);
+
+ /** QueryExpansionInfo pinnedResultCount */
+ pinnedResultCount?: (number|Long|string|null);
+ }
+
+ /** Represents a QueryExpansionInfo. */
+ class QueryExpansionInfo implements IQueryExpansionInfo {
+
+ /**
+ * Constructs a new QueryExpansionInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo);
+
+ /** QueryExpansionInfo expandedQuery. */
+ public expandedQuery: boolean;
+
+ /** QueryExpansionInfo pinnedResultCount. */
+ public pinnedResultCount: (number|Long|string);
+
+ /**
+ * Creates a new QueryExpansionInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryExpansionInfo instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo): google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryExpansionInfo message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.verify|verify} messages.
+ * @param message QueryExpansionInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.SearchResponse.IQueryExpansionInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload is not 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.retail.v2beta.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Decodes a QueryExpansionInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryExpansionInfo
+ * @throws {Error} If the payload 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.retail.v2beta.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Verifies a QueryExpansionInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryExpansionInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryExpansionInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo;
+
+ /**
+ * Creates a plain object from a QueryExpansionInfo message. Also converts values to other types if specified.
+ * @param message QueryExpansionInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryExpansionInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryExpansionInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ControlService */
+ class ControlService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ControlService 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 ControlService 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): ControlService;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public createControl(request: google.cloud.retail.v2beta.ICreateControlRequest, callback: google.cloud.retail.v2beta.ControlService.CreateControlCallback): void;
+
+ /**
+ * Calls CreateControl.
+ * @param request CreateControlRequest message or plain object
+ * @returns Promise
+ */
+ public createControl(request: google.cloud.retail.v2beta.ICreateControlRequest): Promise;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteControl(request: google.cloud.retail.v2beta.IDeleteControlRequest, callback: google.cloud.retail.v2beta.ControlService.DeleteControlCallback): void;
+
+ /**
+ * Calls DeleteControl.
+ * @param request DeleteControlRequest message or plain object
+ * @returns Promise
+ */
+ public deleteControl(request: google.cloud.retail.v2beta.IDeleteControlRequest): Promise;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public updateControl(request: google.cloud.retail.v2beta.IUpdateControlRequest, callback: google.cloud.retail.v2beta.ControlService.UpdateControlCallback): void;
+
+ /**
+ * Calls UpdateControl.
+ * @param request UpdateControlRequest message or plain object
+ * @returns Promise
+ */
+ public updateControl(request: google.cloud.retail.v2beta.IUpdateControlRequest): Promise;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Control
+ */
+ public getControl(request: google.cloud.retail.v2beta.IGetControlRequest, callback: google.cloud.retail.v2beta.ControlService.GetControlCallback): void;
+
+ /**
+ * Calls GetControl.
+ * @param request GetControlRequest message or plain object
+ * @returns Promise
+ */
+ public getControl(request: google.cloud.retail.v2beta.IGetControlRequest): Promise;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListControlsResponse
+ */
+ public listControls(request: google.cloud.retail.v2beta.IListControlsRequest, callback: google.cloud.retail.v2beta.ControlService.ListControlsCallback): void;
+
+ /**
+ * Calls ListControls.
+ * @param request ListControlsRequest message or plain object
+ * @returns Promise
+ */
+ public listControls(request: google.cloud.retail.v2beta.IListControlsRequest): Promise;
+ }
+
+ namespace ControlService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ControlService|createControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type CreateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ControlService|deleteControl}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteControlCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ControlService|updateControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type UpdateControlCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ControlService|getControl}.
+ * @param error Error, if any
+ * @param [response] Control
+ */
+ type GetControlCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Control) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ControlService|listControls}.
+ * @param error Error, if any
+ * @param [response] ListControlsResponse
+ */
+ type ListControlsCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ListControlsResponse) => void;
+ }
+
+ /** Properties of a CreateControlRequest. */
+ interface ICreateControlRequest {
+
+ /** CreateControlRequest parent */
+ parent?: (string|null);
+
+ /** CreateControlRequest control */
+ control?: (google.cloud.retail.v2beta.IControl|null);
+
+ /** CreateControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a CreateControlRequest. */
+ class CreateControlRequest implements ICreateControlRequest {
+
+ /**
+ * Constructs a new CreateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICreateControlRequest);
+
+ /** CreateControlRequest parent. */
+ public parent: string;
+
+ /** CreateControlRequest control. */
+ public control?: (google.cloud.retail.v2beta.IControl|null);
+
+ /** CreateControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new CreateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICreateControlRequest): google.cloud.retail.v2beta.CreateControlRequest;
+
+ /**
+ * Encodes the specified CreateControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CreateControlRequest.verify|verify} messages.
+ * @param message CreateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICreateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.CreateControlRequest;
+
+ /**
+ * Decodes a CreateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.CreateControlRequest;
+
+ /**
+ * Verifies a CreateControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CreateControlRequest;
+
+ /**
+ * Creates a plain object from a CreateControlRequest message. Also converts values to other types if specified.
+ * @param message CreateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CreateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateControlRequest. */
+ interface IUpdateControlRequest {
+
+ /** UpdateControlRequest control */
+ control?: (google.cloud.retail.v2beta.IControl|null);
+
+ /** UpdateControlRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateControlRequest. */
+ class UpdateControlRequest implements IUpdateControlRequest {
+
+ /**
+ * Constructs a new UpdateControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateControlRequest);
+
+ /** UpdateControlRequest control. */
+ public control?: (google.cloud.retail.v2beta.IControl|null);
+
+ /** UpdateControlRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateControlRequest): google.cloud.retail.v2beta.UpdateControlRequest;
+
+ /**
+ * Encodes the specified UpdateControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateControlRequest.verify|verify} messages.
+ * @param message UpdateControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateControlRequest;
+
+ /**
+ * Decodes an UpdateControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateControlRequest;
+
+ /**
+ * Verifies an UpdateControlRequest message.
+ * @param message Plain 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 UpdateControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateControlRequest;
+
+ /**
+ * Creates a plain object from an UpdateControlRequest message. Also converts values to other types if specified.
+ * @param message UpdateControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteControlRequest. */
+ interface IDeleteControlRequest {
+
+ /** DeleteControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteControlRequest. */
+ class DeleteControlRequest implements IDeleteControlRequest {
+
+ /**
+ * Constructs a new DeleteControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IDeleteControlRequest);
+
+ /** DeleteControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IDeleteControlRequest): google.cloud.retail.v2beta.DeleteControlRequest;
+
+ /**
+ * Encodes the specified DeleteControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.DeleteControlRequest.verify|verify} messages.
+ * @param message DeleteControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IDeleteControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.DeleteControlRequest;
+
+ /**
+ * Decodes a DeleteControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.DeleteControlRequest;
+
+ /**
+ * Verifies a DeleteControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.DeleteControlRequest;
+
+ /**
+ * Creates a plain object from a DeleteControlRequest message. Also converts values to other types if specified.
+ * @param message DeleteControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.DeleteControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetControlRequest. */
+ interface IGetControlRequest {
+
+ /** GetControlRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetControlRequest. */
+ class GetControlRequest implements IGetControlRequest {
+
+ /**
+ * Constructs a new GetControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetControlRequest);
+
+ /** GetControlRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetControlRequest): google.cloud.retail.v2beta.GetControlRequest;
+
+ /**
+ * Encodes the specified GetControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetControlRequest.verify|verify} messages.
+ * @param message GetControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetControlRequest;
+
+ /**
+ * Decodes a GetControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetControlRequest;
+
+ /**
+ * Verifies a GetControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetControlRequest;
+
+ /**
+ * Creates a plain object from a GetControlRequest message. Also converts values to other types if specified.
+ * @param message GetControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsRequest. */
+ interface IListControlsRequest {
+
+ /** ListControlsRequest parent */
+ parent?: (string|null);
+
+ /** ListControlsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListControlsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListControlsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListControlsRequest. */
+ class ListControlsRequest implements IListControlsRequest {
+
+ /**
+ * Constructs a new ListControlsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListControlsRequest);
+
+ /** ListControlsRequest parent. */
+ public parent: string;
+
+ /** ListControlsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListControlsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListControlsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListControlsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListControlsRequest): google.cloud.retail.v2beta.ListControlsRequest;
+
+ /**
+ * Encodes the specified ListControlsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListControlsRequest.verify|verify} messages.
+ * @param message ListControlsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListControlsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListControlsRequest;
+
+ /**
+ * Decodes a ListControlsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ListControlsRequest;
+
+ /**
+ * Verifies a ListControlsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListControlsRequest;
+
+ /**
+ * Creates a plain object from a ListControlsRequest message. Also converts values to other types if specified.
+ * @param message ListControlsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListControlsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListControlsResponse. */
+ interface IListControlsResponse {
+
+ /** ListControlsResponse controls */
+ controls?: (google.cloud.retail.v2beta.IControl[]|null);
+
+ /** ListControlsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListControlsResponse. */
+ class ListControlsResponse implements IListControlsResponse {
+
+ /**
+ * Constructs a new ListControlsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListControlsResponse);
+
+ /** ListControlsResponse controls. */
+ public controls: google.cloud.retail.v2beta.IControl[];
+
+ /** ListControlsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListControlsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListControlsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListControlsResponse): google.cloud.retail.v2beta.ListControlsResponse;
+
+ /**
+ * Encodes the specified ListControlsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListControlsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListControlsResponse.verify|verify} messages.
+ * @param message ListControlsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListControlsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListControlsResponse;
+
+ /**
+ * Decodes a ListControlsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListControlsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ListControlsResponse;
+
+ /**
+ * Verifies a ListControlsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListControlsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListControlsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListControlsResponse;
+
+ /**
+ * Creates a plain object from a ListControlsResponse message. Also converts values to other types if specified.
+ * @param message ListControlsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListControlsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListControlsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListControlsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportErrorsConfig. */
+ interface IExportErrorsConfig {
+
+ /** ExportErrorsConfig gcsPrefix */
+ gcsPrefix?: (string|null);
+ }
+
+ /** Represents an ExportErrorsConfig. */
+ class ExportErrorsConfig implements IExportErrorsConfig {
+
+ /**
+ * Constructs a new ExportErrorsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IExportErrorsConfig);
+
+ /** ExportErrorsConfig gcsPrefix. */
+ public gcsPrefix?: (string|null);
+
+ /** ExportErrorsConfig destination. */
+ public destination?: "gcsPrefix";
+
+ /**
+ * Creates a new ExportErrorsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportErrorsConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IExportErrorsConfig): google.cloud.retail.v2beta.ExportErrorsConfig;
+
+ /**
+ * Encodes the specified ExportErrorsConfig message. Does not implicitly {@link google.cloud.retail.v2beta.ExportErrorsConfig.verify|verify} messages.
+ * @param message ExportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IExportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportErrorsConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ExportErrorsConfig.verify|verify} messages.
+ * @param message ExportErrorsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IExportErrorsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportErrorsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportErrorsConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.ExportErrorsConfig;
+
+ /**
+ * Decodes an ExportErrorsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportErrorsConfig
+ * @throws {Error} If the payload 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.retail.v2beta.ExportErrorsConfig;
+
+ /**
+ * Verifies an ExportErrorsConfig message.
+ * @param message Plain 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 ExportErrorsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportErrorsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ExportErrorsConfig;
+
+ /**
+ * Creates a plain object from an ExportErrorsConfig message. Also converts values to other types if specified.
+ * @param message ExportErrorsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ExportErrorsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportErrorsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportErrorsConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportMetadata. */
+ interface IExportMetadata {
+
+ /** ExportMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportMetadata updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an ExportMetadata. */
+ class ExportMetadata implements IExportMetadata {
+
+ /**
+ * Constructs a new ExportMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IExportMetadata);
+
+ /** ExportMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportMetadata updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ExportMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IExportMetadata): google.cloud.retail.v2beta.ExportMetadata;
+
+ /**
+ * Encodes the specified ExportMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.ExportMetadata.verify|verify} messages.
+ * @param message ExportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IExportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ExportMetadata.verify|verify} messages.
+ * @param message ExportMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IExportMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.ExportMetadata;
+
+ /**
+ * Decodes an ExportMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.ExportMetadata;
+
+ /**
+ * Verifies an ExportMetadata message.
+ * @param message Plain 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 ExportMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ExportMetadata;
+
+ /**
+ * Creates a plain object from an ExportMetadata message. Also converts values to other types if specified.
+ * @param message ExportMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ExportMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportProductsResponse. */
+ interface IExportProductsResponse {
+
+ /** ExportProductsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ExportProductsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IExportErrorsConfig|null);
+
+ /** ExportProductsResponse outputResult */
+ outputResult?: (google.cloud.retail.v2beta.IOutputResult|null);
+ }
+
+ /** Represents an ExportProductsResponse. */
+ class ExportProductsResponse implements IExportProductsResponse {
+
+ /**
+ * Constructs a new ExportProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IExportProductsResponse);
+
+ /** ExportProductsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ExportProductsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IExportErrorsConfig|null);
+
+ /** ExportProductsResponse outputResult. */
+ public outputResult?: (google.cloud.retail.v2beta.IOutputResult|null);
+
+ /**
+ * Creates a new ExportProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IExportProductsResponse): google.cloud.retail.v2beta.ExportProductsResponse;
+
+ /**
+ * Encodes the specified ExportProductsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ExportProductsResponse.verify|verify} messages.
+ * @param message ExportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IExportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ExportProductsResponse.verify|verify} messages.
+ * @param message ExportProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IExportProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ExportProductsResponse;
+
+ /**
+ * Decodes an ExportProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportProductsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ExportProductsResponse;
+
+ /**
+ * Verifies an ExportProductsResponse message.
+ * @param message Plain 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 ExportProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ExportProductsResponse;
+
+ /**
+ * Creates a plain object from an ExportProductsResponse message. Also converts values to other types if specified.
+ * @param message ExportProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ExportProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportUserEventsResponse. */
+ interface IExportUserEventsResponse {
+
+ /** ExportUserEventsResponse errorSamples */
+ errorSamples?: (google.rpc.IStatus[]|null);
+
+ /** ExportUserEventsResponse errorsConfig */
+ errorsConfig?: (google.cloud.retail.v2beta.IExportErrorsConfig|null);
+
+ /** ExportUserEventsResponse outputResult */
+ outputResult?: (google.cloud.retail.v2beta.IOutputResult|null);
+ }
+
+ /** Represents an ExportUserEventsResponse. */
+ class ExportUserEventsResponse implements IExportUserEventsResponse {
+
+ /**
+ * Constructs a new ExportUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IExportUserEventsResponse);
+
+ /** ExportUserEventsResponse errorSamples. */
+ public errorSamples: google.rpc.IStatus[];
+
+ /** ExportUserEventsResponse errorsConfig. */
+ public errorsConfig?: (google.cloud.retail.v2beta.IExportErrorsConfig|null);
+
+ /** ExportUserEventsResponse outputResult. */
+ public outputResult?: (google.cloud.retail.v2beta.IOutputResult|null);
+
+ /**
+ * Creates a new ExportUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IExportUserEventsResponse): google.cloud.retail.v2beta.ExportUserEventsResponse;
+
+ /**
+ * Encodes the specified ExportUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ExportUserEventsResponse.verify|verify} messages.
+ * @param message ExportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IExportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ExportUserEventsResponse.verify|verify} messages.
+ * @param message ExportUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IExportUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ExportUserEventsResponse;
+
+ /**
+ * Decodes an ExportUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ExportUserEventsResponse;
+
+ /**
+ * Verifies an ExportUserEventsResponse message.
+ * @param message Plain 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 ExportUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ExportUserEventsResponse;
+
+ /**
+ * Creates a plain object from an ExportUserEventsResponse message. Also converts values to other types if specified.
+ * @param message ExportUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ExportUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputResult. */
+ interface IOutputResult {
+
+ /** OutputResult bigqueryResult */
+ bigqueryResult?: (google.cloud.retail.v2beta.IBigQueryOutputResult[]|null);
+ }
+
+ /** Represents an OutputResult. */
+ class OutputResult implements IOutputResult {
+
+ /**
+ * Constructs a new OutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IOutputResult);
+
+ /** OutputResult bigqueryResult. */
+ public bigqueryResult: google.cloud.retail.v2beta.IBigQueryOutputResult[];
+
+ /**
+ * Creates a new OutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IOutputResult): google.cloud.retail.v2beta.OutputResult;
+
+ /**
+ * Encodes the specified OutputResult message. Does not implicitly {@link google.cloud.retail.v2beta.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputResult
+ * @throws {Error} If the payload is not 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.retail.v2beta.OutputResult;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputResult
+ * @throws {Error} If the payload 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.retail.v2beta.OutputResult;
+
+ /**
+ * Verifies an OutputResult message.
+ * @param message Plain 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 OutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.OutputResult;
+
+ /**
+ * Creates a plain object from an OutputResult message. Also converts values to other types if specified.
+ * @param message OutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.OutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQueryOutputResult. */
+ interface IBigQueryOutputResult {
+
+ /** BigQueryOutputResult datasetId */
+ datasetId?: (string|null);
+
+ /** BigQueryOutputResult tableId */
+ tableId?: (string|null);
+ }
+
+ /** Represents a BigQueryOutputResult. */
+ class BigQueryOutputResult implements IBigQueryOutputResult {
+
+ /**
+ * Constructs a new BigQueryOutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IBigQueryOutputResult);
+
+ /** BigQueryOutputResult datasetId. */
+ public datasetId: string;
+
+ /** BigQueryOutputResult tableId. */
+ public tableId: string;
+
+ /**
+ * Creates a new BigQueryOutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryOutputResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IBigQueryOutputResult): google.cloud.retail.v2beta.BigQueryOutputResult;
+
+ /**
+ * Encodes the specified BigQueryOutputResult message. Does not implicitly {@link google.cloud.retail.v2beta.BigQueryOutputResult.verify|verify} messages.
+ * @param message BigQueryOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IBigQueryOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryOutputResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.BigQueryOutputResult.verify|verify} messages.
+ * @param message BigQueryOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IBigQueryOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryOutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryOutputResult
+ * @throws {Error} If the payload is not 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.retail.v2beta.BigQueryOutputResult;
+
+ /**
+ * Decodes a BigQueryOutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryOutputResult
+ * @throws {Error} If the payload 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.retail.v2beta.BigQueryOutputResult;
+
+ /**
+ * Verifies a BigQueryOutputResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryOutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryOutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.BigQueryOutputResult;
+
+ /**
+ * Creates a plain object from a BigQueryOutputResult message. Also converts values to other types if specified.
+ * @param message BigQueryOutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.BigQueryOutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryOutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryOutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Model. */
+ interface IModel {
+
+ /** Model name */
+ name?: (string|null);
+
+ /** Model displayName */
+ displayName?: (string|null);
+
+ /** Model trainingState */
+ trainingState?: (google.cloud.retail.v2beta.Model.TrainingState|keyof typeof google.cloud.retail.v2beta.Model.TrainingState|null);
+
+ /** Model servingState */
+ servingState?: (google.cloud.retail.v2beta.Model.ServingState|keyof typeof google.cloud.retail.v2beta.Model.ServingState|null);
+
+ /** Model createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model type */
+ type?: (string|null);
+
+ /** Model optimizationObjective */
+ optimizationObjective?: (string|null);
+
+ /** Model periodicTuningState */
+ periodicTuningState?: (google.cloud.retail.v2beta.Model.PeriodicTuningState|keyof typeof google.cloud.retail.v2beta.Model.PeriodicTuningState|null);
+
+ /** Model lastTuneTime */
+ lastTuneTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model tuningOperation */
+ tuningOperation?: (string|null);
+
+ /** Model dataState */
+ dataState?: (google.cloud.retail.v2beta.Model.DataState|keyof typeof google.cloud.retail.v2beta.Model.DataState|null);
+
+ /** Model filteringOption */
+ filteringOption?: (google.cloud.retail.v2beta.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2beta.RecommendationsFilteringOption|null);
+
+ /** Model servingConfigLists */
+ servingConfigLists?: (google.cloud.retail.v2beta.Model.IServingConfigList[]|null);
+ }
+
+ /** Represents a Model. */
+ class Model implements IModel {
+
+ /**
+ * Constructs a new Model.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IModel);
+
+ /** Model name. */
+ public name: string;
+
+ /** Model displayName. */
+ public displayName: string;
+
+ /** Model trainingState. */
+ public trainingState: (google.cloud.retail.v2beta.Model.TrainingState|keyof typeof google.cloud.retail.v2beta.Model.TrainingState);
+
+ /** Model servingState. */
+ public servingState: (google.cloud.retail.v2beta.Model.ServingState|keyof typeof google.cloud.retail.v2beta.Model.ServingState);
+
+ /** Model createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model type. */
+ public type: string;
+
+ /** Model optimizationObjective. */
+ public optimizationObjective: string;
+
+ /** Model periodicTuningState. */
+ public periodicTuningState: (google.cloud.retail.v2beta.Model.PeriodicTuningState|keyof typeof google.cloud.retail.v2beta.Model.PeriodicTuningState);
+
+ /** Model lastTuneTime. */
+ public lastTuneTime?: (google.protobuf.ITimestamp|null);
+
+ /** Model tuningOperation. */
+ public tuningOperation: string;
+
+ /** Model dataState. */
+ public dataState: (google.cloud.retail.v2beta.Model.DataState|keyof typeof google.cloud.retail.v2beta.Model.DataState);
+
+ /** Model filteringOption. */
+ public filteringOption: (google.cloud.retail.v2beta.RecommendationsFilteringOption|keyof typeof google.cloud.retail.v2beta.RecommendationsFilteringOption);
+
+ /** Model servingConfigLists. */
+ public servingConfigLists: google.cloud.retail.v2beta.Model.IServingConfigList[];
+
+ /**
+ * Creates a new Model instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Model instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IModel): google.cloud.retail.v2beta.Model;
+
+ /**
+ * Encodes the specified Model message. Does not implicitly {@link google.cloud.retail.v2beta.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Model message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Model.verify|verify} messages.
+ * @param message Model message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IModel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Model
+ * @throws {Error} If the payload is not 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.retail.v2beta.Model;
+
+ /**
+ * Decodes a Model message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Model
+ * @throws {Error} If the payload 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.retail.v2beta.Model;
+
+ /**
+ * Verifies a Model message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Model message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Model
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Model;
+
+ /**
+ * Creates a plain object from a Model message. Also converts values to other types if specified.
+ * @param message Model
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Model, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Model to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Model
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Model {
+
+ /** Properties of a ServingConfigList. */
+ interface IServingConfigList {
+
+ /** ServingConfigList servingConfigIds */
+ servingConfigIds?: (string[]|null);
+ }
+
+ /** Represents a ServingConfigList. */
+ class ServingConfigList implements IServingConfigList {
+
+ /**
+ * Constructs a new ServingConfigList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.Model.IServingConfigList);
+
+ /** ServingConfigList servingConfigIds. */
+ public servingConfigIds: string[];
+
+ /**
+ * Creates a new ServingConfigList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServingConfigList instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.Model.IServingConfigList): google.cloud.retail.v2beta.Model.ServingConfigList;
+
+ /**
+ * Encodes the specified ServingConfigList message. Does not implicitly {@link google.cloud.retail.v2beta.Model.ServingConfigList.verify|verify} messages.
+ * @param message ServingConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.Model.IServingConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServingConfigList message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.Model.ServingConfigList.verify|verify} messages.
+ * @param message ServingConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.Model.IServingConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServingConfigList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServingConfigList
+ * @throws {Error} If the payload is not 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.retail.v2beta.Model.ServingConfigList;
+
+ /**
+ * Decodes a ServingConfigList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServingConfigList
+ * @throws {Error} If the payload 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.retail.v2beta.Model.ServingConfigList;
+
+ /**
+ * Verifies a ServingConfigList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServingConfigList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServingConfigList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.Model.ServingConfigList;
+
+ /**
+ * Creates a plain object from a ServingConfigList message. Also converts values to other types if specified.
+ * @param message ServingConfigList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.Model.ServingConfigList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServingConfigList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServingConfigList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** ServingState enum. */
+ enum ServingState {
+ SERVING_STATE_UNSPECIFIED = 0,
+ INACTIVE = 1,
+ ACTIVE = 2,
+ TUNED = 3
+ }
+
+ /** TrainingState enum. */
+ enum TrainingState {
+ TRAINING_STATE_UNSPECIFIED = 0,
+ PAUSED = 1,
+ TRAINING = 2
+ }
+
+ /** PeriodicTuningState enum. */
+ enum PeriodicTuningState {
+ PERIODIC_TUNING_STATE_UNSPECIFIED = 0,
+ PERIODIC_TUNING_DISABLED = 1,
+ ALL_TUNING_DISABLED = 3,
+ PERIODIC_TUNING_ENABLED = 2
+ }
+
+ /** DataState enum. */
+ enum DataState {
+ DATA_STATE_UNSPECIFIED = 0,
+ DATA_OK = 1,
+ DATA_ERROR = 2
+ }
+ }
+
+ /** Represents a ModelService */
+ class ModelService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ModelService 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 ModelService 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): ModelService;
+
+ /**
+ * Calls CreateModel.
+ * @param request CreateModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createModel(request: google.cloud.retail.v2beta.ICreateModelRequest, callback: google.cloud.retail.v2beta.ModelService.CreateModelCallback): void;
+
+ /**
+ * Calls CreateModel.
+ * @param request CreateModelRequest message or plain object
+ * @returns Promise
+ */
+ public createModel(request: google.cloud.retail.v2beta.ICreateModelRequest): Promise;
+
+ /**
+ * Calls PauseModel.
+ * @param request PauseModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public pauseModel(request: google.cloud.retail.v2beta.IPauseModelRequest, callback: google.cloud.retail.v2beta.ModelService.PauseModelCallback): void;
+
+ /**
+ * Calls PauseModel.
+ * @param request PauseModelRequest message or plain object
+ * @returns Promise
+ */
+ public pauseModel(request: google.cloud.retail.v2beta.IPauseModelRequest): Promise;
+
+ /**
+ * Calls ResumeModel.
+ * @param request ResumeModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public resumeModel(request: google.cloud.retail.v2beta.IResumeModelRequest, callback: google.cloud.retail.v2beta.ModelService.ResumeModelCallback): void;
+
+ /**
+ * Calls ResumeModel.
+ * @param request ResumeModelRequest message or plain object
+ * @returns Promise
+ */
+ public resumeModel(request: google.cloud.retail.v2beta.IResumeModelRequest): Promise;
+
+ /**
+ * Calls DeleteModel.
+ * @param request DeleteModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteModel(request: google.cloud.retail.v2beta.IDeleteModelRequest, callback: google.cloud.retail.v2beta.ModelService.DeleteModelCallback): void;
+
+ /**
+ * Calls DeleteModel.
+ * @param request DeleteModelRequest message or plain object
+ * @returns Promise
+ */
+ public deleteModel(request: google.cloud.retail.v2beta.IDeleteModelRequest): Promise;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListModelsResponse
+ */
+ public listModels(request: google.cloud.retail.v2beta.IListModelsRequest, callback: google.cloud.retail.v2beta.ModelService.ListModelsCallback): void;
+
+ /**
+ * Calls ListModels.
+ * @param request ListModelsRequest message or plain object
+ * @returns Promise
+ */
+ public listModels(request: google.cloud.retail.v2beta.IListModelsRequest): Promise;
+
+ /**
+ * Calls UpdateModel.
+ * @param request UpdateModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Model
+ */
+ public updateModel(request: google.cloud.retail.v2beta.IUpdateModelRequest, callback: google.cloud.retail.v2beta.ModelService.UpdateModelCallback): void;
+
+ /**
+ * Calls UpdateModel.
+ * @param request UpdateModelRequest message or plain object
+ * @returns Promise
+ */
+ public updateModel(request: google.cloud.retail.v2beta.IUpdateModelRequest): Promise;
+
+ /**
+ * Calls TuneModel.
+ * @param request TuneModelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public tuneModel(request: google.cloud.retail.v2beta.ITuneModelRequest, callback: google.cloud.retail.v2beta.ModelService.TuneModelCallback): void;
+
+ /**
+ * Calls TuneModel.
+ * @param request TuneModelRequest message or plain object
+ * @returns Promise
+ */
+ public tuneModel(request: google.cloud.retail.v2beta.ITuneModelRequest): Promise;
+ }
+
+ namespace ModelService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|createModel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateModelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|pauseModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type PauseModelCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|resumeModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type ResumeModelCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|deleteModel}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteModelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|listModels}.
+ * @param error Error, if any
+ * @param [response] ListModelsResponse
+ */
+ type ListModelsCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ListModelsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|updateModel}.
+ * @param error Error, if any
+ * @param [response] Model
+ */
+ type UpdateModelCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Model) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ModelService|tuneModel}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type TuneModelCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateModelRequest. */
+ interface ICreateModelRequest {
+
+ /** CreateModelRequest parent */
+ parent?: (string|null);
+
+ /** CreateModelRequest model */
+ model?: (google.cloud.retail.v2beta.IModel|null);
+
+ /** CreateModelRequest dryRun */
+ dryRun?: (boolean|null);
+ }
+
+ /** Represents a CreateModelRequest. */
+ class CreateModelRequest implements ICreateModelRequest {
+
+ /**
+ * Constructs a new CreateModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICreateModelRequest);
+
+ /** CreateModelRequest parent. */
+ public parent: string;
+
+ /** CreateModelRequest model. */
+ public model?: (google.cloud.retail.v2beta.IModel|null);
+
+ /** CreateModelRequest dryRun. */
+ public dryRun: boolean;
+
+ /**
+ * Creates a new CreateModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICreateModelRequest): google.cloud.retail.v2beta.CreateModelRequest;
+
+ /**
+ * Encodes the specified CreateModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.CreateModelRequest.verify|verify} messages.
+ * @param message CreateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICreateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CreateModelRequest.verify|verify} messages.
+ * @param message CreateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICreateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.CreateModelRequest;
+
+ /**
+ * Decodes a CreateModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.CreateModelRequest;
+
+ /**
+ * Verifies a CreateModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CreateModelRequest;
+
+ /**
+ * Creates a plain object from a CreateModelRequest message. Also converts values to other types if specified.
+ * @param message CreateModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CreateModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateModelRequest. */
+ interface IUpdateModelRequest {
+
+ /** UpdateModelRequest model */
+ model?: (google.cloud.retail.v2beta.IModel|null);
+
+ /** UpdateModelRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateModelRequest. */
+ class UpdateModelRequest implements IUpdateModelRequest {
+
+ /**
+ * Constructs a new UpdateModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateModelRequest);
+
+ /** UpdateModelRequest model. */
+ public model?: (google.cloud.retail.v2beta.IModel|null);
+
+ /** UpdateModelRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateModelRequest): google.cloud.retail.v2beta.UpdateModelRequest;
+
+ /**
+ * Encodes the specified UpdateModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateModelRequest.verify|verify} messages.
+ * @param message UpdateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateModelRequest.verify|verify} messages.
+ * @param message UpdateModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateModelRequest;
+
+ /**
+ * Decodes an UpdateModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateModelRequest;
+
+ /**
+ * Verifies an UpdateModelRequest message.
+ * @param message Plain 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 UpdateModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateModelRequest;
+
+ /**
+ * Creates a plain object from an UpdateModelRequest message. Also converts values to other types if specified.
+ * @param message UpdateModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PauseModelRequest. */
+ interface IPauseModelRequest {
+
+ /** PauseModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a PauseModelRequest. */
+ class PauseModelRequest implements IPauseModelRequest {
+
+ /**
+ * Constructs a new PauseModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPauseModelRequest);
+
+ /** PauseModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new PauseModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PauseModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPauseModelRequest): google.cloud.retail.v2beta.PauseModelRequest;
+
+ /**
+ * Encodes the specified PauseModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.PauseModelRequest.verify|verify} messages.
+ * @param message PauseModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPauseModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PauseModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PauseModelRequest.verify|verify} messages.
+ * @param message PauseModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPauseModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PauseModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PauseModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.PauseModelRequest;
+
+ /**
+ * Decodes a PauseModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PauseModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.PauseModelRequest;
+
+ /**
+ * Verifies a PauseModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PauseModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PauseModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PauseModelRequest;
+
+ /**
+ * Creates a plain object from a PauseModelRequest message. Also converts values to other types if specified.
+ * @param message PauseModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PauseModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PauseModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PauseModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResumeModelRequest. */
+ interface IResumeModelRequest {
+
+ /** ResumeModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a ResumeModelRequest. */
+ class ResumeModelRequest implements IResumeModelRequest {
+
+ /**
+ * Constructs a new ResumeModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IResumeModelRequest);
+
+ /** ResumeModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new ResumeModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResumeModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IResumeModelRequest): google.cloud.retail.v2beta.ResumeModelRequest;
+
+ /**
+ * Encodes the specified ResumeModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ResumeModelRequest.verify|verify} messages.
+ * @param message ResumeModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IResumeModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResumeModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ResumeModelRequest.verify|verify} messages.
+ * @param message ResumeModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IResumeModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResumeModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResumeModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ResumeModelRequest;
+
+ /**
+ * Decodes a ResumeModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResumeModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ResumeModelRequest;
+
+ /**
+ * Verifies a ResumeModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResumeModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResumeModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ResumeModelRequest;
+
+ /**
+ * Creates a plain object from a ResumeModelRequest message. Also converts values to other types if specified.
+ * @param message ResumeModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ResumeModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResumeModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResumeModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsRequest. */
+ interface IListModelsRequest {
+
+ /** ListModelsRequest parent */
+ parent?: (string|null);
+
+ /** ListModelsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListModelsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsRequest. */
+ class ListModelsRequest implements IListModelsRequest {
+
+ /**
+ * Constructs a new ListModelsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListModelsRequest);
+
+ /** ListModelsRequest parent. */
+ public parent: string;
+
+ /** ListModelsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListModelsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListModelsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListModelsRequest): google.cloud.retail.v2beta.ListModelsRequest;
+
+ /**
+ * Encodes the specified ListModelsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListModelsRequest.verify|verify} messages.
+ * @param message ListModelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListModelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListModelsRequest;
+
+ /**
+ * Decodes a ListModelsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ListModelsRequest;
+
+ /**
+ * Verifies a ListModelsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListModelsRequest;
+
+ /**
+ * Creates a plain object from a ListModelsRequest message. Also converts values to other types if specified.
+ * @param message ListModelsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListModelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteModelRequest. */
+ interface IDeleteModelRequest {
+
+ /** DeleteModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteModelRequest. */
+ class DeleteModelRequest implements IDeleteModelRequest {
+
+ /**
+ * Constructs a new DeleteModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IDeleteModelRequest);
+
+ /** DeleteModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IDeleteModelRequest): google.cloud.retail.v2beta.DeleteModelRequest;
+
+ /**
+ * Encodes the specified DeleteModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.DeleteModelRequest.verify|verify} messages.
+ * @param message DeleteModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IDeleteModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.DeleteModelRequest.verify|verify} messages.
+ * @param message DeleteModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IDeleteModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.DeleteModelRequest;
+
+ /**
+ * Decodes a DeleteModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.DeleteModelRequest;
+
+ /**
+ * Verifies a DeleteModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.DeleteModelRequest;
+
+ /**
+ * Creates a plain object from a DeleteModelRequest message. Also converts values to other types if specified.
+ * @param message DeleteModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.DeleteModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListModelsResponse. */
+ interface IListModelsResponse {
+
+ /** ListModelsResponse models */
+ models?: (google.cloud.retail.v2beta.IModel[]|null);
+
+ /** ListModelsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListModelsResponse. */
+ class ListModelsResponse implements IListModelsResponse {
+
+ /**
+ * Constructs a new ListModelsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListModelsResponse);
+
+ /** ListModelsResponse models. */
+ public models: google.cloud.retail.v2beta.IModel[];
+
+ /** ListModelsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListModelsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListModelsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListModelsResponse): google.cloud.retail.v2beta.ListModelsResponse;
+
+ /**
+ * Encodes the specified ListModelsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListModelsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListModelsResponse.verify|verify} messages.
+ * @param message ListModelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListModelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListModelsResponse;
+
+ /**
+ * Decodes a ListModelsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListModelsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ListModelsResponse;
+
+ /**
+ * Verifies a ListModelsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListModelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListModelsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListModelsResponse;
+
+ /**
+ * Creates a plain object from a ListModelsResponse message. Also converts values to other types if specified.
+ * @param message ListModelsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListModelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListModelsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListModelsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelRequest. */
+ interface ITuneModelRequest {
+
+ /** TuneModelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a TuneModelRequest. */
+ class TuneModelRequest implements ITuneModelRequest {
+
+ /**
+ * Constructs a new TuneModelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ITuneModelRequest);
+
+ /** TuneModelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new TuneModelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ITuneModelRequest): google.cloud.retail.v2beta.TuneModelRequest;
+
+ /**
+ * Encodes the specified TuneModelRequest message. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelRequest.verify|verify} messages.
+ * @param message TuneModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ITuneModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelRequest.verify|verify} messages.
+ * @param message TuneModelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ITuneModelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.TuneModelRequest;
+
+ /**
+ * Decodes a TuneModelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelRequest
+ * @throws {Error} If the payload 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.retail.v2beta.TuneModelRequest;
+
+ /**
+ * Verifies a TuneModelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.TuneModelRequest;
+
+ /**
+ * Creates a plain object from a TuneModelRequest message. Also converts values to other types if specified.
+ * @param message TuneModelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.TuneModelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateModelMetadata. */
+ interface ICreateModelMetadata {
+
+ /** CreateModelMetadata model */
+ model?: (string|null);
+ }
+
+ /** Represents a CreateModelMetadata. */
+ class CreateModelMetadata implements ICreateModelMetadata {
+
+ /**
+ * Constructs a new CreateModelMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICreateModelMetadata);
+
+ /** CreateModelMetadata model. */
+ public model: string;
+
+ /**
+ * Creates a new CreateModelMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateModelMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICreateModelMetadata): google.cloud.retail.v2beta.CreateModelMetadata;
+
+ /**
+ * Encodes the specified CreateModelMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.CreateModelMetadata.verify|verify} messages.
+ * @param message CreateModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICreateModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateModelMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CreateModelMetadata.verify|verify} messages.
+ * @param message CreateModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICreateModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateModelMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateModelMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.CreateModelMetadata;
+
+ /**
+ * Decodes a CreateModelMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateModelMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.CreateModelMetadata;
+
+ /**
+ * Verifies a CreateModelMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateModelMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateModelMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CreateModelMetadata;
+
+ /**
+ * Creates a plain object from a CreateModelMetadata message. Also converts values to other types if specified.
+ * @param message CreateModelMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CreateModelMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateModelMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateModelMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelMetadata. */
+ interface ITuneModelMetadata {
+
+ /** TuneModelMetadata model */
+ model?: (string|null);
+ }
+
+ /** Represents a TuneModelMetadata. */
+ class TuneModelMetadata implements ITuneModelMetadata {
+
+ /**
+ * Constructs a new TuneModelMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ITuneModelMetadata);
+
+ /** TuneModelMetadata model. */
+ public model: string;
+
+ /**
+ * Creates a new TuneModelMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ITuneModelMetadata): google.cloud.retail.v2beta.TuneModelMetadata;
+
+ /**
+ * Encodes the specified TuneModelMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelMetadata.verify|verify} messages.
+ * @param message TuneModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ITuneModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelMetadata.verify|verify} messages.
+ * @param message TuneModelMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ITuneModelMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.TuneModelMetadata;
+
+ /**
+ * Decodes a TuneModelMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.TuneModelMetadata;
+
+ /**
+ * Verifies a TuneModelMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.TuneModelMetadata;
+
+ /**
+ * Creates a plain object from a TuneModelMetadata message. Also converts values to other types if specified.
+ * @param message TuneModelMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.TuneModelMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TuneModelResponse. */
+ interface ITuneModelResponse {
+ }
+
+ /** Represents a TuneModelResponse. */
+ class TuneModelResponse implements ITuneModelResponse {
+
+ /**
+ * Constructs a new TuneModelResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ITuneModelResponse);
+
+ /**
+ * Creates a new TuneModelResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TuneModelResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ITuneModelResponse): google.cloud.retail.v2beta.TuneModelResponse;
+
+ /**
+ * Encodes the specified TuneModelResponse message. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelResponse.verify|verify} messages.
+ * @param message TuneModelResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ITuneModelResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TuneModelResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.TuneModelResponse.verify|verify} messages.
+ * @param message TuneModelResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ITuneModelResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TuneModelResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TuneModelResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.TuneModelResponse;
+
+ /**
+ * Decodes a TuneModelResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TuneModelResponse
+ * @throws {Error} If the payload 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.retail.v2beta.TuneModelResponse;
+
+ /**
+ * Verifies a TuneModelResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TuneModelResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TuneModelResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.TuneModelResponse;
+
+ /**
+ * Creates a plain object from a TuneModelResponse message. Also converts values to other types if specified.
+ * @param message TuneModelResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.TuneModelResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TuneModelResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TuneModelResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a PredictionService */
+ class PredictionService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new PredictionService 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 PredictionService 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): PredictionService;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and PredictResponse
+ */
+ public predict(request: google.cloud.retail.v2beta.IPredictRequest, callback: google.cloud.retail.v2beta.PredictionService.PredictCallback): void;
+
+ /**
+ * Calls Predict.
+ * @param request PredictRequest message or plain object
+ * @returns Promise
+ */
+ public predict(request: google.cloud.retail.v2beta.IPredictRequest): Promise;
+ }
+
+ namespace PredictionService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.PredictionService|predict}.
+ * @param error Error, if any
+ * @param [response] PredictResponse
+ */
+ type PredictCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.PredictResponse) => void;
+ }
+
+ /** Properties of a PredictRequest. */
+ interface IPredictRequest {
+
+ /** PredictRequest placement */
+ placement?: (string|null);
+
+ /** PredictRequest userEvent */
+ userEvent?: (google.cloud.retail.v2beta.IUserEvent|null);
+
+ /** PredictRequest pageSize */
+ pageSize?: (number|null);
+
+ /** PredictRequest pageToken */
+ pageToken?: (string|null);
+
+ /** PredictRequest filter */
+ filter?: (string|null);
+
+ /** PredictRequest validateOnly */
+ validateOnly?: (boolean|null);
+
+ /** PredictRequest params */
+ params?: ({ [k: string]: google.protobuf.IValue }|null);
+
+ /** PredictRequest labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a PredictRequest. */
+ class PredictRequest implements IPredictRequest {
+
+ /**
+ * Constructs a new PredictRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPredictRequest);
+
+ /** PredictRequest placement. */
+ public placement: string;
+
+ /** PredictRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2beta.IUserEvent|null);
+
+ /** PredictRequest pageSize. */
+ public pageSize: number;
+
+ /** PredictRequest pageToken. */
+ public pageToken: string;
+
+ /** PredictRequest filter. */
+ public filter: string;
+
+ /** PredictRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /** PredictRequest params. */
+ public params: { [k: string]: google.protobuf.IValue };
+
+ /** PredictRequest labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new PredictRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPredictRequest): google.cloud.retail.v2beta.PredictRequest;
+
+ /**
+ * Encodes the specified PredictRequest message. Does not implicitly {@link google.cloud.retail.v2beta.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PredictRequest.verify|verify} messages.
+ * @param message PredictRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPredictRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.PredictRequest;
+
+ /**
+ * Decodes a PredictRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictRequest
+ * @throws {Error} If the payload 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.retail.v2beta.PredictRequest;
+
+ /**
+ * Verifies a PredictRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PredictRequest;
+
+ /**
+ * Creates a plain object from a PredictRequest message. Also converts values to other types if specified.
+ * @param message PredictRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PredictRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PredictResponse. */
+ interface IPredictResponse {
+
+ /** PredictResponse results */
+ results?: (google.cloud.retail.v2beta.PredictResponse.IPredictionResult[]|null);
+
+ /** PredictResponse attributionToken */
+ attributionToken?: (string|null);
+
+ /** PredictResponse missingIds */
+ missingIds?: (string[]|null);
+
+ /** PredictResponse validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents a PredictResponse. */
+ class PredictResponse implements IPredictResponse {
+
+ /**
+ * Constructs a new PredictResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPredictResponse);
+
+ /** PredictResponse results. */
+ public results: google.cloud.retail.v2beta.PredictResponse.IPredictionResult[];
+
+ /** PredictResponse attributionToken. */
+ public attributionToken: string;
+
+ /** PredictResponse missingIds. */
+ public missingIds: string[];
+
+ /** PredictResponse validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new PredictResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPredictResponse): google.cloud.retail.v2beta.PredictResponse;
+
+ /**
+ * Encodes the specified PredictResponse message. Does not implicitly {@link google.cloud.retail.v2beta.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PredictResponse.verify|verify} messages.
+ * @param message PredictResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPredictResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.PredictResponse;
+
+ /**
+ * Decodes a PredictResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictResponse
+ * @throws {Error} If the payload 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.retail.v2beta.PredictResponse;
+
+ /**
+ * Verifies a PredictResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PredictResponse;
+
+ /**
+ * Creates a plain object from a PredictResponse message. Also converts values to other types if specified.
+ * @param message PredictResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PredictResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PredictResponse {
+
+ /** Properties of a PredictionResult. */
+ interface IPredictionResult {
+
+ /** PredictionResult id */
+ id?: (string|null);
+
+ /** PredictionResult metadata */
+ metadata?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a PredictionResult. */
+ class PredictionResult implements IPredictionResult {
+
+ /**
+ * Constructs a new PredictionResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.PredictResponse.IPredictionResult);
+
+ /** PredictionResult id. */
+ public id: string;
+
+ /** PredictionResult metadata. */
+ public metadata: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new PredictionResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PredictionResult instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.PredictResponse.IPredictionResult): google.cloud.retail.v2beta.PredictResponse.PredictionResult;
+
+ /**
+ * Encodes the specified PredictionResult message. Does not implicitly {@link google.cloud.retail.v2beta.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PredictionResult message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PredictResponse.PredictionResult.verify|verify} messages.
+ * @param message PredictionResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.PredictResponse.IPredictionResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PredictionResult
+ * @throws {Error} If the payload is not 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.retail.v2beta.PredictResponse.PredictionResult;
+
+ /**
+ * Decodes a PredictionResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PredictionResult
+ * @throws {Error} If the payload 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.retail.v2beta.PredictResponse.PredictionResult;
+
+ /**
+ * Verifies a PredictionResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PredictionResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PredictionResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PredictResponse.PredictionResult;
+
+ /**
+ * Creates a plain object from a PredictionResult message. Also converts values to other types if specified.
+ * @param message PredictionResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PredictResponse.PredictionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PredictionResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PredictionResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ProductService */
+ class ProductService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ProductService 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 ProductService 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): ProductService;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public createProduct(request: google.cloud.retail.v2beta.ICreateProductRequest, callback: google.cloud.retail.v2beta.ProductService.CreateProductCallback): void;
+
+ /**
+ * Calls CreateProduct.
+ * @param request CreateProductRequest message or plain object
+ * @returns Promise
+ */
+ public createProduct(request: google.cloud.retail.v2beta.ICreateProductRequest): Promise;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public getProduct(request: google.cloud.retail.v2beta.IGetProductRequest, callback: google.cloud.retail.v2beta.ProductService.GetProductCallback): void;
+
+ /**
+ * Calls GetProduct.
+ * @param request GetProductRequest message or plain object
+ * @returns Promise
+ */
+ public getProduct(request: google.cloud.retail.v2beta.IGetProductRequest): Promise;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListProductsResponse
+ */
+ public listProducts(request: google.cloud.retail.v2beta.IListProductsRequest, callback: google.cloud.retail.v2beta.ProductService.ListProductsCallback): void;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @returns Promise
+ */
+ public listProducts(request: google.cloud.retail.v2beta.IListProductsRequest): Promise;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Product
+ */
+ public updateProduct(request: google.cloud.retail.v2beta.IUpdateProductRequest, callback: google.cloud.retail.v2beta.ProductService.UpdateProductCallback): void;
+
+ /**
+ * Calls UpdateProduct.
+ * @param request UpdateProductRequest message or plain object
+ * @returns Promise
+ */
+ public updateProduct(request: google.cloud.retail.v2beta.IUpdateProductRequest): Promise;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteProduct(request: google.cloud.retail.v2beta.IDeleteProductRequest, callback: google.cloud.retail.v2beta.ProductService.DeleteProductCallback): void;
+
+ /**
+ * Calls DeleteProduct.
+ * @param request DeleteProductRequest message or plain object
+ * @returns Promise
+ */
+ public deleteProduct(request: google.cloud.retail.v2beta.IDeleteProductRequest): Promise;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importProducts(request: google.cloud.retail.v2beta.IImportProductsRequest, callback: google.cloud.retail.v2beta.ProductService.ImportProductsCallback): void;
+
+ /**
+ * Calls ImportProducts.
+ * @param request ImportProductsRequest message or plain object
+ * @returns Promise
+ */
+ public importProducts(request: google.cloud.retail.v2beta.IImportProductsRequest): Promise;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public setInventory(request: google.cloud.retail.v2beta.ISetInventoryRequest, callback: google.cloud.retail.v2beta.ProductService.SetInventoryCallback): void;
+
+ /**
+ * Calls SetInventory.
+ * @param request SetInventoryRequest message or plain object
+ * @returns Promise
+ */
+ public setInventory(request: google.cloud.retail.v2beta.ISetInventoryRequest): Promise;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest, callback: google.cloud.retail.v2beta.ProductService.AddFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls AddFulfillmentPlaces.
+ * @param request AddFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public addFulfillmentPlaces(request: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest, callback: google.cloud.retail.v2beta.ProductService.RemoveFulfillmentPlacesCallback): void;
+
+ /**
+ * Calls RemoveFulfillmentPlaces.
+ * @param request RemoveFulfillmentPlacesRequest message or plain object
+ * @returns Promise
+ */
+ public removeFulfillmentPlaces(request: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest): Promise;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public addLocalInventories(request: google.cloud.retail.v2beta.IAddLocalInventoriesRequest, callback: google.cloud.retail.v2beta.ProductService.AddLocalInventoriesCallback): void;
+
+ /**
+ * Calls AddLocalInventories.
+ * @param request AddLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public addLocalInventories(request: google.cloud.retail.v2beta.IAddLocalInventoriesRequest): Promise;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest, callback: google.cloud.retail.v2beta.ProductService.RemoveLocalInventoriesCallback): void;
+
+ /**
+ * Calls RemoveLocalInventories.
+ * @param request RemoveLocalInventoriesRequest message or plain object
+ * @returns Promise
+ */
+ public removeLocalInventories(request: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest): Promise;
+ }
+
+ namespace ProductService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|createProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type CreateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|getProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type GetProductCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|listProducts}.
+ * @param error Error, if any
+ * @param [response] ListProductsResponse
+ */
+ type ListProductsCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ListProductsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|updateProduct}.
+ * @param error Error, if any
+ * @param [response] Product
+ */
+ type UpdateProductCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.Product) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|deleteProduct}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteProductCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|importProducts}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportProductsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|setInventory}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type SetInventoryCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|addFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|removeFulfillmentPlaces}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveFulfillmentPlacesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|addLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AddLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ProductService|removeLocalInventories}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RemoveLocalInventoriesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateProductRequest. */
+ interface ICreateProductRequest {
+
+ /** CreateProductRequest parent */
+ parent?: (string|null);
+
+ /** CreateProductRequest product */
+ product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** CreateProductRequest productId */
+ productId?: (string|null);
+ }
+
+ /** Represents a CreateProductRequest. */
+ class CreateProductRequest implements ICreateProductRequest {
+
+ /**
+ * Constructs a new CreateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICreateProductRequest);
+
+ /** CreateProductRequest parent. */
+ public parent: string;
+
+ /** CreateProductRequest product. */
+ public product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** CreateProductRequest productId. */
+ public productId: string;
+
+ /**
+ * Creates a new CreateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICreateProductRequest): google.cloud.retail.v2beta.CreateProductRequest;
+
+ /**
+ * Encodes the specified CreateProductRequest message. Does not implicitly {@link google.cloud.retail.v2beta.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CreateProductRequest.verify|verify} messages.
+ * @param message CreateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICreateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.CreateProductRequest;
+
+ /**
+ * Decodes a CreateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateProductRequest
+ * @throws {Error} If the payload 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.retail.v2beta.CreateProductRequest;
+
+ /**
+ * Verifies a CreateProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CreateProductRequest;
+
+ /**
+ * Creates a plain object from a CreateProductRequest message. Also converts values to other types if specified.
+ * @param message CreateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CreateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetProductRequest. */
+ interface IGetProductRequest {
+
+ /** GetProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetProductRequest. */
+ class GetProductRequest implements IGetProductRequest {
+
+ /**
+ * Constructs a new GetProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetProductRequest);
+
+ /** GetProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetProductRequest): google.cloud.retail.v2beta.GetProductRequest;
+
+ /**
+ * Encodes the specified GetProductRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetProductRequest.verify|verify} messages.
+ * @param message GetProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetProductRequest;
+
+ /**
+ * Decodes a GetProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetProductRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetProductRequest;
+
+ /**
+ * Verifies a GetProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetProductRequest;
+
+ /**
+ * Creates a plain object from a GetProductRequest message. Also converts values to other types if specified.
+ * @param message GetProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateProductRequest. */
+ interface IUpdateProductRequest {
+
+ /** UpdateProductRequest product */
+ product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** UpdateProductRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an UpdateProductRequest. */
+ class UpdateProductRequest implements IUpdateProductRequest {
+
+ /**
+ * Constructs a new UpdateProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateProductRequest);
+
+ /** UpdateProductRequest product. */
+ public product?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** UpdateProductRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateProductRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new UpdateProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateProductRequest): google.cloud.retail.v2beta.UpdateProductRequest;
+
+ /**
+ * Encodes the specified UpdateProductRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateProductRequest.verify|verify} messages.
+ * @param message UpdateProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateProductRequest;
+
+ /**
+ * Decodes an UpdateProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateProductRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateProductRequest;
+
+ /**
+ * Verifies an UpdateProductRequest message.
+ * @param message Plain 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 UpdateProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateProductRequest;
+
+ /**
+ * Creates a plain object from an UpdateProductRequest message. Also converts values to other types if specified.
+ * @param message UpdateProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteProductRequest. */
+ interface IDeleteProductRequest {
+
+ /** DeleteProductRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteProductRequest. */
+ class DeleteProductRequest implements IDeleteProductRequest {
+
+ /**
+ * Constructs a new DeleteProductRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IDeleteProductRequest);
+
+ /** DeleteProductRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteProductRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteProductRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IDeleteProductRequest): google.cloud.retail.v2beta.DeleteProductRequest;
+
+ /**
+ * Encodes the specified DeleteProductRequest message. Does not implicitly {@link google.cloud.retail.v2beta.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteProductRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.DeleteProductRequest.verify|verify} messages.
+ * @param message DeleteProductRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IDeleteProductRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.DeleteProductRequest;
+
+ /**
+ * Decodes a DeleteProductRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteProductRequest
+ * @throws {Error} If the payload 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.retail.v2beta.DeleteProductRequest;
+
+ /**
+ * Verifies a DeleteProductRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteProductRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteProductRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.DeleteProductRequest;
+
+ /**
+ * Creates a plain object from a DeleteProductRequest message. Also converts values to other types if specified.
+ * @param message DeleteProductRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.DeleteProductRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteProductRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteProductRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsRequest. */
+ interface IListProductsRequest {
+
+ /** ListProductsRequest parent */
+ parent?: (string|null);
+
+ /** ListProductsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListProductsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListProductsRequest filter */
+ filter?: (string|null);
+
+ /** ListProductsRequest readMask */
+ readMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a ListProductsRequest. */
+ class ListProductsRequest implements IListProductsRequest {
+
+ /**
+ * Constructs a new ListProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListProductsRequest);
+
+ /** ListProductsRequest parent. */
+ public parent: string;
+
+ /** ListProductsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListProductsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListProductsRequest filter. */
+ public filter: string;
+
+ /** ListProductsRequest readMask. */
+ public readMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new ListProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListProductsRequest): google.cloud.retail.v2beta.ListProductsRequest;
+
+ /**
+ * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListProductsRequest;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ListProductsRequest;
+
+ /**
+ * Verifies a ListProductsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListProductsRequest;
+
+ /**
+ * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified.
+ * @param message ListProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsResponse. */
+ interface IListProductsResponse {
+
+ /** ListProductsResponse products */
+ products?: (google.cloud.retail.v2beta.IProduct[]|null);
+
+ /** ListProductsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListProductsResponse. */
+ class ListProductsResponse implements IListProductsResponse {
+
+ /**
+ * Constructs a new ListProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListProductsResponse);
+
+ /** ListProductsResponse products. */
+ public products: google.cloud.retail.v2beta.IProduct[];
+
+ /** ListProductsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListProductsResponse): google.cloud.retail.v2beta.ListProductsResponse;
+
+ /**
+ * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListProductsResponse;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ListProductsResponse;
+
+ /**
+ * Verifies a ListProductsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListProductsResponse;
+
+ /**
+ * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified.
+ * @param message ListProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryRequest. */
+ interface ISetInventoryRequest {
+
+ /** SetInventoryRequest inventory */
+ inventory?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** SetInventoryRequest setMask */
+ setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime */
+ setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a SetInventoryRequest. */
+ class SetInventoryRequest implements ISetInventoryRequest {
+
+ /**
+ * Constructs a new SetInventoryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISetInventoryRequest);
+
+ /** SetInventoryRequest inventory. */
+ public inventory?: (google.cloud.retail.v2beta.IProduct|null);
+
+ /** SetInventoryRequest setMask. */
+ public setMask?: (google.protobuf.IFieldMask|null);
+
+ /** SetInventoryRequest setTime. */
+ public setTime?: (google.protobuf.ITimestamp|null);
+
+ /** SetInventoryRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new SetInventoryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISetInventoryRequest): google.cloud.retail.v2beta.SetInventoryRequest;
+
+ /**
+ * Encodes the specified SetInventoryRequest message. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryRequest.verify|verify} messages.
+ * @param message SetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.SetInventoryRequest;
+
+ /**
+ * Decodes a SetInventoryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryRequest
+ * @throws {Error} If the payload 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.retail.v2beta.SetInventoryRequest;
+
+ /**
+ * Verifies a SetInventoryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SetInventoryRequest;
+
+ /**
+ * Creates a plain object from a SetInventoryRequest message. Also converts values to other types if specified.
+ * @param message SetInventoryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SetInventoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryMetadata. */
+ interface ISetInventoryMetadata {
+ }
+
+ /** Represents a SetInventoryMetadata. */
+ class SetInventoryMetadata implements ISetInventoryMetadata {
+
+ /**
+ * Constructs a new SetInventoryMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISetInventoryMetadata);
+
+ /**
+ * Creates a new SetInventoryMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISetInventoryMetadata): google.cloud.retail.v2beta.SetInventoryMetadata;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryMetadata.verify|verify} messages.
+ * @param message SetInventoryMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISetInventoryMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.SetInventoryMetadata;
+
+ /**
+ * Decodes a SetInventoryMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.SetInventoryMetadata;
+
+ /**
+ * Verifies a SetInventoryMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SetInventoryMetadata;
+
+ /**
+ * Creates a plain object from a SetInventoryMetadata message. Also converts values to other types if specified.
+ * @param message SetInventoryMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SetInventoryMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SetInventoryResponse. */
+ interface ISetInventoryResponse {
+ }
+
+ /** Represents a SetInventoryResponse. */
+ class SetInventoryResponse implements ISetInventoryResponse {
+
+ /**
+ * Constructs a new SetInventoryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ISetInventoryResponse);
+
+ /**
+ * Creates a new SetInventoryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetInventoryResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ISetInventoryResponse): google.cloud.retail.v2beta.SetInventoryResponse;
+
+ /**
+ * Encodes the specified SetInventoryResponse message. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetInventoryResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.SetInventoryResponse.verify|verify} messages.
+ * @param message SetInventoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ISetInventoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.SetInventoryResponse;
+
+ /**
+ * Decodes a SetInventoryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetInventoryResponse
+ * @throws {Error} If the payload 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.retail.v2beta.SetInventoryResponse;
+
+ /**
+ * Verifies a SetInventoryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetInventoryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetInventoryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.SetInventoryResponse;
+
+ /**
+ * Creates a plain object from a SetInventoryResponse message. Also converts values to other types if specified.
+ * @param message SetInventoryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.SetInventoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetInventoryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetInventoryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesRequest. */
+ interface IAddFulfillmentPlacesRequest {
+
+ /** AddFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** AddFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** AddFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** AddFulfillmentPlacesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddFulfillmentPlacesRequest. */
+ class AddFulfillmentPlacesRequest implements IAddFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest);
+
+ /** AddFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** AddFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** AddFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** AddFulfillmentPlacesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest): google.cloud.retail.v2beta.AddFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message AddFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddFulfillmentPlacesRequest;
+
+ /**
+ * Decodes an AddFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2beta.AddFulfillmentPlacesRequest;
+
+ /**
+ * Verifies an AddFulfillmentPlacesRequest message.
+ * @param message Plain 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 AddFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesMetadata. */
+ interface IAddFulfillmentPlacesMetadata {
+ }
+
+ /** Represents an AddFulfillmentPlacesMetadata. */
+ class AddFulfillmentPlacesMetadata implements IAddFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new AddFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesMetadata): google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message AddFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes an AddFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies an AddFulfillmentPlacesMetadata message.
+ * @param message Plain 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 AddFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddFulfillmentPlacesResponse. */
+ interface IAddFulfillmentPlacesResponse {
+ }
+
+ /** Represents an AddFulfillmentPlacesResponse. */
+ class AddFulfillmentPlacesResponse implements IAddFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new AddFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new AddFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddFulfillmentPlacesResponse): google.cloud.retail.v2beta.AddFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message AddFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddFulfillmentPlacesResponse;
+
+ /**
+ * Decodes an AddFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2beta.AddFulfillmentPlacesResponse;
+
+ /**
+ * Verifies an AddFulfillmentPlacesResponse message.
+ * @param message Plain 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 AddFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from an AddFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message AddFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesRequest. */
+ interface IAddLocalInventoriesRequest {
+
+ /** AddLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** AddLocalInventoriesRequest localInventories */
+ localInventories?: (google.cloud.retail.v2beta.ILocalInventory[]|null);
+
+ /** AddLocalInventoriesRequest addMask */
+ addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime */
+ addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents an AddLocalInventoriesRequest. */
+ class AddLocalInventoriesRequest implements IAddLocalInventoriesRequest {
+
+ /**
+ * Constructs a new AddLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesRequest);
+
+ /** AddLocalInventoriesRequest product. */
+ public product: string;
+
+ /** AddLocalInventoriesRequest localInventories. */
+ public localInventories: google.cloud.retail.v2beta.ILocalInventory[];
+
+ /** AddLocalInventoriesRequest addMask. */
+ public addMask?: (google.protobuf.IFieldMask|null);
+
+ /** AddLocalInventoriesRequest addTime. */
+ public addTime?: (google.protobuf.ITimestamp|null);
+
+ /** AddLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new AddLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesRequest): google.cloud.retail.v2beta.AddLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesRequest.verify|verify} messages.
+ * @param message AddLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddLocalInventoriesRequest;
+
+ /**
+ * Decodes an AddLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2beta.AddLocalInventoriesRequest;
+
+ /**
+ * Verifies an AddLocalInventoriesRequest message.
+ * @param message Plain 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 AddLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesMetadata. */
+ interface IAddLocalInventoriesMetadata {
+ }
+
+ /** Represents an AddLocalInventoriesMetadata. */
+ class AddLocalInventoriesMetadata implements IAddLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new AddLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesMetadata);
+
+ /**
+ * Creates a new AddLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesMetadata): google.cloud.retail.v2beta.AddLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesMetadata.verify|verify} messages.
+ * @param message AddLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddLocalInventoriesMetadata;
+
+ /**
+ * Decodes an AddLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.AddLocalInventoriesMetadata;
+
+ /**
+ * Verifies an AddLocalInventoriesMetadata message.
+ * @param message Plain 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 AddLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddLocalInventoriesResponse. */
+ interface IAddLocalInventoriesResponse {
+ }
+
+ /** Represents an AddLocalInventoriesResponse. */
+ class AddLocalInventoriesResponse implements IAddLocalInventoriesResponse {
+
+ /**
+ * Constructs a new AddLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesResponse);
+
+ /**
+ * Creates a new AddLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddLocalInventoriesResponse): google.cloud.retail.v2beta.AddLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddLocalInventoriesResponse.verify|verify} messages.
+ * @param message AddLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddLocalInventoriesResponse;
+
+ /**
+ * Decodes an AddLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2beta.AddLocalInventoriesResponse;
+
+ /**
+ * Verifies an AddLocalInventoriesResponse message.
+ * @param message Plain 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 AddLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from an AddLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message AddLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesRequest. */
+ interface IRemoveLocalInventoriesRequest {
+
+ /** RemoveLocalInventoriesRequest product */
+ product?: (string|null);
+
+ /** RemoveLocalInventoriesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveLocalInventoriesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveLocalInventoriesRequest. */
+ class RemoveLocalInventoriesRequest implements IRemoveLocalInventoriesRequest {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest);
+
+ /** RemoveLocalInventoriesRequest product. */
+ public product: string;
+
+ /** RemoveLocalInventoriesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveLocalInventoriesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveLocalInventoriesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveLocalInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest): google.cloud.retail.v2beta.RemoveLocalInventoriesRequest;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesRequest.verify|verify} messages.
+ * @param message RemoveLocalInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveLocalInventoriesRequest;
+
+ /**
+ * Decodes a RemoveLocalInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesRequest
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveLocalInventoriesRequest;
+
+ /**
+ * Verifies a RemoveLocalInventoriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveLocalInventoriesRequest;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesRequest message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveLocalInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesMetadata. */
+ interface IRemoveLocalInventoriesMetadata {
+ }
+
+ /** Represents a RemoveLocalInventoriesMetadata. */
+ class RemoveLocalInventoriesMetadata implements IRemoveLocalInventoriesMetadata {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesMetadata);
+
+ /**
+ * Creates a new RemoveLocalInventoriesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesMetadata): google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata.verify|verify} messages.
+ * @param message RemoveLocalInventoriesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Decodes a RemoveLocalInventoriesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Verifies a RemoveLocalInventoriesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveLocalInventoriesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveLocalInventoriesResponse. */
+ interface IRemoveLocalInventoriesResponse {
+ }
+
+ /** Represents a RemoveLocalInventoriesResponse. */
+ class RemoveLocalInventoriesResponse implements IRemoveLocalInventoriesResponse {
+
+ /**
+ * Constructs a new RemoveLocalInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesResponse);
+
+ /**
+ * Creates a new RemoveLocalInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveLocalInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveLocalInventoriesResponse): google.cloud.retail.v2beta.RemoveLocalInventoriesResponse;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveLocalInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveLocalInventoriesResponse.verify|verify} messages.
+ * @param message RemoveLocalInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveLocalInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveLocalInventoriesResponse;
+
+ /**
+ * Decodes a RemoveLocalInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveLocalInventoriesResponse
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveLocalInventoriesResponse;
+
+ /**
+ * Verifies a RemoveLocalInventoriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveLocalInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveLocalInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveLocalInventoriesResponse;
+
+ /**
+ * Creates a plain object from a RemoveLocalInventoriesResponse message. Also converts values to other types if specified.
+ * @param message RemoveLocalInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveLocalInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveLocalInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveLocalInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesRequest. */
+ interface IRemoveFulfillmentPlacesRequest {
+
+ /** RemoveFulfillmentPlacesRequest product */
+ product?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest type */
+ type?: (string|null);
+
+ /** RemoveFulfillmentPlacesRequest placeIds */
+ placeIds?: (string[]|null);
+
+ /** RemoveFulfillmentPlacesRequest removeTime */
+ removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing */
+ allowMissing?: (boolean|null);
+ }
+
+ /** Represents a RemoveFulfillmentPlacesRequest. */
+ class RemoveFulfillmentPlacesRequest implements IRemoveFulfillmentPlacesRequest {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest);
+
+ /** RemoveFulfillmentPlacesRequest product. */
+ public product: string;
+
+ /** RemoveFulfillmentPlacesRequest type. */
+ public type: string;
+
+ /** RemoveFulfillmentPlacesRequest placeIds. */
+ public placeIds: string[];
+
+ /** RemoveFulfillmentPlacesRequest removeTime. */
+ public removeTime?: (google.protobuf.ITimestamp|null);
+
+ /** RemoveFulfillmentPlacesRequest allowMissing. */
+ public allowMissing: boolean;
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest): google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesRequest
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesRequest message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveFulfillmentPlacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesMetadata. */
+ interface IRemoveFulfillmentPlacesMetadata {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesMetadata. */
+ class RemoveFulfillmentPlacesMetadata implements IRemoveFulfillmentPlacesMetadata {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesMetadata);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesMetadata): google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesMetadata message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveFulfillmentPlacesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveFulfillmentPlacesResponse. */
+ interface IRemoveFulfillmentPlacesResponse {
+ }
+
+ /** Represents a RemoveFulfillmentPlacesResponse. */
+ class RemoveFulfillmentPlacesResponse implements IRemoveFulfillmentPlacesResponse {
+
+ /**
+ * Constructs a new RemoveFulfillmentPlacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesResponse);
+
+ /**
+ * Creates a new RemoveFulfillmentPlacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveFulfillmentPlacesResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesResponse): google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveFulfillmentPlacesResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse.verify|verify} messages.
+ * @param message RemoveFulfillmentPlacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveFulfillmentPlacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Decodes a RemoveFulfillmentPlacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveFulfillmentPlacesResponse
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Verifies a RemoveFulfillmentPlacesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveFulfillmentPlacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveFulfillmentPlacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse;
+
+ /**
+ * Creates a plain object from a RemoveFulfillmentPlacesResponse message. Also converts values to other types if specified.
+ * @param message RemoveFulfillmentPlacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveFulfillmentPlacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveFulfillmentPlacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveFulfillmentPlacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeMetadata. */
+ interface IPurgeMetadata {
+ }
+
+ /** Represents a PurgeMetadata. */
+ class PurgeMetadata implements IPurgeMetadata {
+
+ /**
+ * Constructs a new PurgeMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPurgeMetadata);
+
+ /**
+ * Creates a new PurgeMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPurgeMetadata): google.cloud.retail.v2beta.PurgeMetadata;
+
+ /**
+ * Encodes the specified PurgeMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PurgeMetadata.verify|verify} messages.
+ * @param message PurgeMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPurgeMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.PurgeMetadata;
+
+ /**
+ * Decodes a PurgeMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.PurgeMetadata;
+
+ /**
+ * Verifies a PurgeMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PurgeMetadata;
+
+ /**
+ * Creates a plain object from a PurgeMetadata message. Also converts values to other types if specified.
+ * @param message PurgeMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PurgeMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsRequest. */
+ interface IPurgeUserEventsRequest {
+
+ /** PurgeUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** PurgeUserEventsRequest filter */
+ filter?: (string|null);
+
+ /** PurgeUserEventsRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a PurgeUserEventsRequest. */
+ class PurgeUserEventsRequest implements IPurgeUserEventsRequest {
+
+ /**
+ * Constructs a new PurgeUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPurgeUserEventsRequest);
+
+ /** PurgeUserEventsRequest parent. */
+ public parent: string;
+
+ /** PurgeUserEventsRequest filter. */
+ public filter: string;
+
+ /** PurgeUserEventsRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new PurgeUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPurgeUserEventsRequest): google.cloud.retail.v2beta.PurgeUserEventsRequest;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PurgeUserEventsRequest.verify|verify} messages.
+ * @param message PurgeUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPurgeUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.PurgeUserEventsRequest;
+
+ /**
+ * Decodes a PurgeUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.PurgeUserEventsRequest;
+
+ /**
+ * Verifies a PurgeUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PurgeUserEventsRequest;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsRequest message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PurgeUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurgeUserEventsResponse. */
+ interface IPurgeUserEventsResponse {
+
+ /** PurgeUserEventsResponse purgedEventsCount */
+ purgedEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a PurgeUserEventsResponse. */
+ class PurgeUserEventsResponse implements IPurgeUserEventsResponse {
+
+ /**
+ * Constructs a new PurgeUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IPurgeUserEventsResponse);
+
+ /** PurgeUserEventsResponse purgedEventsCount. */
+ public purgedEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new PurgeUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurgeUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IPurgeUserEventsResponse): google.cloud.retail.v2beta.PurgeUserEventsResponse;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurgeUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.PurgeUserEventsResponse.verify|verify} messages.
+ * @param message PurgeUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IPurgeUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.PurgeUserEventsResponse;
+
+ /**
+ * Decodes a PurgeUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurgeUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.PurgeUserEventsResponse;
+
+ /**
+ * Verifies a PurgeUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurgeUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurgeUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.PurgeUserEventsResponse;
+
+ /**
+ * Creates a plain object from a PurgeUserEventsResponse message. Also converts values to other types if specified.
+ * @param message PurgeUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.PurgeUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurgeUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurgeUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServingConfig. */
+ interface IServingConfig {
+
+ /** ServingConfig name */
+ name?: (string|null);
+
+ /** ServingConfig displayName */
+ displayName?: (string|null);
+
+ /** ServingConfig modelId */
+ modelId?: (string|null);
+
+ /** ServingConfig priceRerankingLevel */
+ priceRerankingLevel?: (string|null);
+
+ /** ServingConfig facetControlIds */
+ facetControlIds?: (string[]|null);
+
+ /** ServingConfig dynamicFacetSpec */
+ dynamicFacetSpec?: (google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds */
+ boostControlIds?: (string[]|null);
+
+ /** ServingConfig filterControlIds */
+ filterControlIds?: (string[]|null);
+
+ /** ServingConfig redirectControlIds */
+ redirectControlIds?: (string[]|null);
+
+ /** ServingConfig twowaySynonymsControlIds */
+ twowaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig onewaySynonymsControlIds */
+ onewaySynonymsControlIds?: (string[]|null);
+
+ /** ServingConfig doNotAssociateControlIds */
+ doNotAssociateControlIds?: (string[]|null);
+
+ /** ServingConfig replacementControlIds */
+ replacementControlIds?: (string[]|null);
+
+ /** ServingConfig ignoreControlIds */
+ ignoreControlIds?: (string[]|null);
+
+ /** ServingConfig diversityLevel */
+ diversityLevel?: (string|null);
+
+ /** ServingConfig diversityType */
+ diversityType?: (google.cloud.retail.v2beta.ServingConfig.DiversityType|keyof typeof google.cloud.retail.v2beta.ServingConfig.DiversityType|null);
+
+ /** ServingConfig enableCategoryFilterLevel */
+ enableCategoryFilterLevel?: (string|null);
+
+ /** ServingConfig personalizationSpec */
+ personalizationSpec?: (google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec|null);
+
+ /** ServingConfig solutionTypes */
+ solutionTypes?: (google.cloud.retail.v2beta.SolutionType[]|null);
+ }
+
+ /** Represents a ServingConfig. */
+ class ServingConfig implements IServingConfig {
+
+ /**
+ * Constructs a new ServingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IServingConfig);
+
+ /** ServingConfig name. */
+ public name: string;
+
+ /** ServingConfig displayName. */
+ public displayName: string;
+
+ /** ServingConfig modelId. */
+ public modelId: string;
+
+ /** ServingConfig priceRerankingLevel. */
+ public priceRerankingLevel: string;
+
+ /** ServingConfig facetControlIds. */
+ public facetControlIds: string[];
+
+ /** ServingConfig dynamicFacetSpec. */
+ public dynamicFacetSpec?: (google.cloud.retail.v2beta.SearchRequest.IDynamicFacetSpec|null);
+
+ /** ServingConfig boostControlIds. */
+ public boostControlIds: string[];
+
+ /** ServingConfig filterControlIds. */
+ public filterControlIds: string[];
+
+ /** ServingConfig redirectControlIds. */
+ public redirectControlIds: string[];
+
+ /** ServingConfig twowaySynonymsControlIds. */
+ public twowaySynonymsControlIds: string[];
+
+ /** ServingConfig onewaySynonymsControlIds. */
+ public onewaySynonymsControlIds: string[];
+
+ /** ServingConfig doNotAssociateControlIds. */
+ public doNotAssociateControlIds: string[];
+
+ /** ServingConfig replacementControlIds. */
+ public replacementControlIds: string[];
+
+ /** ServingConfig ignoreControlIds. */
+ public ignoreControlIds: string[];
+
+ /** ServingConfig diversityLevel. */
+ public diversityLevel: string;
+
+ /** ServingConfig diversityType. */
+ public diversityType: (google.cloud.retail.v2beta.ServingConfig.DiversityType|keyof typeof google.cloud.retail.v2beta.ServingConfig.DiversityType);
+
+ /** ServingConfig enableCategoryFilterLevel. */
+ public enableCategoryFilterLevel: string;
+
+ /** ServingConfig personalizationSpec. */
+ public personalizationSpec?: (google.cloud.retail.v2beta.SearchRequest.IPersonalizationSpec|null);
+
+ /** ServingConfig solutionTypes. */
+ public solutionTypes: google.cloud.retail.v2beta.SolutionType[];
+
+ /**
+ * Creates a new ServingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServingConfig instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IServingConfig): google.cloud.retail.v2beta.ServingConfig;
+
+ /**
+ * Encodes the specified ServingConfig message. Does not implicitly {@link google.cloud.retail.v2beta.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServingConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ServingConfig.verify|verify} messages.
+ * @param message ServingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IServingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServingConfig
+ * @throws {Error} If the payload is not 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.retail.v2beta.ServingConfig;
+
+ /**
+ * Decodes a ServingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServingConfig
+ * @throws {Error} If the payload 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.retail.v2beta.ServingConfig;
+
+ /**
+ * Verifies a ServingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ServingConfig;
+
+ /**
+ * Creates a plain object from a ServingConfig message. Also converts values to other types if specified.
+ * @param message ServingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ServingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ServingConfig {
+
+ /** DiversityType enum. */
+ enum DiversityType {
+ DIVERSITY_TYPE_UNSPECIFIED = 0,
+ RULE_BASED_DIVERSITY = 2,
+ DATA_DRIVEN_DIVERSITY = 3
+ }
+ }
+
+ /** Represents a ServingConfigService */
+ class ServingConfigService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ServingConfigService 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 ServingConfigService 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): ServingConfigService;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public createServingConfig(request: google.cloud.retail.v2beta.ICreateServingConfigRequest, callback: google.cloud.retail.v2beta.ServingConfigService.CreateServingConfigCallback): void;
+
+ /**
+ * Calls CreateServingConfig.
+ * @param request CreateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createServingConfig(request: google.cloud.retail.v2beta.ICreateServingConfigRequest): Promise;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2beta.IDeleteServingConfigRequest, callback: google.cloud.retail.v2beta.ServingConfigService.DeleteServingConfigCallback): void;
+
+ /**
+ * Calls DeleteServingConfig.
+ * @param request DeleteServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteServingConfig(request: google.cloud.retail.v2beta.IDeleteServingConfigRequest): Promise;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public updateServingConfig(request: google.cloud.retail.v2beta.IUpdateServingConfigRequest, callback: google.cloud.retail.v2beta.ServingConfigService.UpdateServingConfigCallback): void;
+
+ /**
+ * Calls UpdateServingConfig.
+ * @param request UpdateServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateServingConfig(request: google.cloud.retail.v2beta.IUpdateServingConfigRequest): Promise;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public getServingConfig(request: google.cloud.retail.v2beta.IGetServingConfigRequest, callback: google.cloud.retail.v2beta.ServingConfigService.GetServingConfigCallback): void;
+
+ /**
+ * Calls GetServingConfig.
+ * @param request GetServingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getServingConfig(request: google.cloud.retail.v2beta.IGetServingConfigRequest): Promise;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServingConfigsResponse
+ */
+ public listServingConfigs(request: google.cloud.retail.v2beta.IListServingConfigsRequest, callback: google.cloud.retail.v2beta.ServingConfigService.ListServingConfigsCallback): void;
+
+ /**
+ * Calls ListServingConfigs.
+ * @param request ListServingConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listServingConfigs(request: google.cloud.retail.v2beta.IListServingConfigsRequest): Promise;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public addControl(request: google.cloud.retail.v2beta.IAddControlRequest, callback: google.cloud.retail.v2beta.ServingConfigService.AddControlCallback): void;
+
+ /**
+ * Calls AddControl.
+ * @param request AddControlRequest message or plain object
+ * @returns Promise
+ */
+ public addControl(request: google.cloud.retail.v2beta.IAddControlRequest): Promise;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServingConfig
+ */
+ public removeControl(request: google.cloud.retail.v2beta.IRemoveControlRequest, callback: google.cloud.retail.v2beta.ServingConfigService.RemoveControlCallback): void;
+
+ /**
+ * Calls RemoveControl.
+ * @param request RemoveControlRequest message or plain object
+ * @returns Promise
+ */
+ public removeControl(request: google.cloud.retail.v2beta.IRemoveControlRequest): Promise;
+ }
+
+ namespace ServingConfigService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|createServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type CreateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|deleteServingConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServingConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|updateServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type UpdateServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|getServingConfig}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type GetServingConfigCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|listServingConfigs}.
+ * @param error Error, if any
+ * @param [response] ListServingConfigsResponse
+ */
+ type ListServingConfigsCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ListServingConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|addControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type AddControlCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ServingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.ServingConfigService|removeControl}.
+ * @param error Error, if any
+ * @param [response] ServingConfig
+ */
+ type RemoveControlCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.ServingConfig) => void;
+ }
+
+ /** Properties of a CreateServingConfigRequest. */
+ interface ICreateServingConfigRequest {
+
+ /** CreateServingConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2beta.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId */
+ servingConfigId?: (string|null);
+ }
+
+ /** Represents a CreateServingConfigRequest. */
+ class CreateServingConfigRequest implements ICreateServingConfigRequest {
+
+ /**
+ * Constructs a new CreateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICreateServingConfigRequest);
+
+ /** CreateServingConfigRequest parent. */
+ public parent: string;
+
+ /** CreateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2beta.IServingConfig|null);
+
+ /** CreateServingConfigRequest servingConfigId. */
+ public servingConfigId: string;
+
+ /**
+ * Creates a new CreateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICreateServingConfigRequest): google.cloud.retail.v2beta.CreateServingConfigRequest;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CreateServingConfigRequest.verify|verify} messages.
+ * @param message CreateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICreateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.CreateServingConfigRequest;
+
+ /**
+ * Decodes a CreateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.CreateServingConfigRequest;
+
+ /**
+ * Verifies a CreateServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CreateServingConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CreateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServingConfigRequest. */
+ interface IUpdateServingConfigRequest {
+
+ /** UpdateServingConfigRequest servingConfig */
+ servingConfig?: (google.cloud.retail.v2beta.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServingConfigRequest. */
+ class UpdateServingConfigRequest implements IUpdateServingConfigRequest {
+
+ /**
+ * Constructs a new UpdateServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IUpdateServingConfigRequest);
+
+ /** UpdateServingConfigRequest servingConfig. */
+ public servingConfig?: (google.cloud.retail.v2beta.IServingConfig|null);
+
+ /** UpdateServingConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IUpdateServingConfigRequest): google.cloud.retail.v2beta.UpdateServingConfigRequest;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.UpdateServingConfigRequest.verify|verify} messages.
+ * @param message UpdateServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IUpdateServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.UpdateServingConfigRequest;
+
+ /**
+ * Decodes an UpdateServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.UpdateServingConfigRequest;
+
+ /**
+ * Verifies an UpdateServingConfigRequest message.
+ * @param message Plain 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 UpdateServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.UpdateServingConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateServingConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.UpdateServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServingConfigRequest. */
+ interface IDeleteServingConfigRequest {
+
+ /** DeleteServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServingConfigRequest. */
+ class DeleteServingConfigRequest implements IDeleteServingConfigRequest {
+
+ /**
+ * Constructs a new DeleteServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IDeleteServingConfigRequest);
+
+ /** DeleteServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IDeleteServingConfigRequest): google.cloud.retail.v2beta.DeleteServingConfigRequest;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.DeleteServingConfigRequest.verify|verify} messages.
+ * @param message DeleteServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IDeleteServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.DeleteServingConfigRequest;
+
+ /**
+ * Decodes a DeleteServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.DeleteServingConfigRequest;
+
+ /**
+ * Verifies a DeleteServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.DeleteServingConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteServingConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.DeleteServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServingConfigRequest. */
+ interface IGetServingConfigRequest {
+
+ /** GetServingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServingConfigRequest. */
+ class GetServingConfigRequest implements IGetServingConfigRequest {
+
+ /**
+ * Constructs a new GetServingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IGetServingConfigRequest);
+
+ /** GetServingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IGetServingConfigRequest): google.cloud.retail.v2beta.GetServingConfigRequest;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message. Does not implicitly {@link google.cloud.retail.v2beta.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.GetServingConfigRequest.verify|verify} messages.
+ * @param message GetServingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IGetServingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.GetServingConfigRequest;
+
+ /**
+ * Decodes a GetServingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServingConfigRequest
+ * @throws {Error} If the payload 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.retail.v2beta.GetServingConfigRequest;
+
+ /**
+ * Verifies a GetServingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.GetServingConfigRequest;
+
+ /**
+ * Creates a plain object from a GetServingConfigRequest message. Also converts values to other types if specified.
+ * @param message GetServingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.GetServingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsRequest. */
+ interface IListServingConfigsRequest {
+
+ /** ListServingConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListServingConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServingConfigsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsRequest. */
+ class ListServingConfigsRequest implements IListServingConfigsRequest {
+
+ /**
+ * Constructs a new ListServingConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListServingConfigsRequest);
+
+ /** ListServingConfigsRequest parent. */
+ public parent: string;
+
+ /** ListServingConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServingConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListServingConfigsRequest): google.cloud.retail.v2beta.ListServingConfigsRequest;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListServingConfigsRequest.verify|verify} messages.
+ * @param message ListServingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListServingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListServingConfigsRequest;
+
+ /**
+ * Decodes a ListServingConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.ListServingConfigsRequest;
+
+ /**
+ * Verifies a ListServingConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListServingConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListServingConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListServingConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListServingConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServingConfigsResponse. */
+ interface IListServingConfigsResponse {
+
+ /** ListServingConfigsResponse servingConfigs */
+ servingConfigs?: (google.cloud.retail.v2beta.IServingConfig[]|null);
+
+ /** ListServingConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServingConfigsResponse. */
+ class ListServingConfigsResponse implements IListServingConfigsResponse {
+
+ /**
+ * Constructs a new ListServingConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IListServingConfigsResponse);
+
+ /** ListServingConfigsResponse servingConfigs. */
+ public servingConfigs: google.cloud.retail.v2beta.IServingConfig[];
+
+ /** ListServingConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServingConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServingConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IListServingConfigsResponse): google.cloud.retail.v2beta.ListServingConfigsResponse;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServingConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.ListServingConfigsResponse.verify|verify} messages.
+ * @param message ListServingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IListServingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.ListServingConfigsResponse;
+
+ /**
+ * Decodes a ListServingConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServingConfigsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.ListServingConfigsResponse;
+
+ /**
+ * Verifies a ListServingConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServingConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServingConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.ListServingConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListServingConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListServingConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.ListServingConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServingConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServingConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AddControlRequest. */
+ interface IAddControlRequest {
+
+ /** AddControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** AddControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents an AddControlRequest. */
+ class AddControlRequest implements IAddControlRequest {
+
+ /**
+ * Constructs a new AddControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IAddControlRequest);
+
+ /** AddControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** AddControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new AddControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AddControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IAddControlRequest): google.cloud.retail.v2beta.AddControlRequest;
+
+ /**
+ * Encodes the specified AddControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AddControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.AddControlRequest.verify|verify} messages.
+ * @param message AddControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IAddControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AddControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.AddControlRequest;
+
+ /**
+ * Decodes an AddControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AddControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.AddControlRequest;
+
+ /**
+ * Verifies an AddControlRequest message.
+ * @param message Plain 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 AddControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AddControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.AddControlRequest;
+
+ /**
+ * Creates a plain object from an AddControlRequest message. Also converts values to other types if specified.
+ * @param message AddControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.AddControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AddControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AddControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RemoveControlRequest. */
+ interface IRemoveControlRequest {
+
+ /** RemoveControlRequest servingConfig */
+ servingConfig?: (string|null);
+
+ /** RemoveControlRequest controlId */
+ controlId?: (string|null);
+ }
+
+ /** Represents a RemoveControlRequest. */
+ class RemoveControlRequest implements IRemoveControlRequest {
+
+ /**
+ * Constructs a new RemoveControlRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRemoveControlRequest);
+
+ /** RemoveControlRequest servingConfig. */
+ public servingConfig: string;
+
+ /** RemoveControlRequest controlId. */
+ public controlId: string;
+
+ /**
+ * Creates a new RemoveControlRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RemoveControlRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRemoveControlRequest): google.cloud.retail.v2beta.RemoveControlRequest;
+
+ /**
+ * Encodes the specified RemoveControlRequest message. Does not implicitly {@link google.cloud.retail.v2beta.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RemoveControlRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RemoveControlRequest.verify|verify} messages.
+ * @param message RemoveControlRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRemoveControlRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.RemoveControlRequest;
+
+ /**
+ * Decodes a RemoveControlRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RemoveControlRequest
+ * @throws {Error} If the payload 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.retail.v2beta.RemoveControlRequest;
+
+ /**
+ * Verifies a RemoveControlRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RemoveControlRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RemoveControlRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RemoveControlRequest;
+
+ /**
+ * Creates a plain object from a RemoveControlRequest message. Also converts values to other types if specified.
+ * @param message RemoveControlRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RemoveControlRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RemoveControlRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RemoveControlRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a UserEventService */
+ class UserEventService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new UserEventService 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 UserEventService 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): UserEventService;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UserEvent
+ */
+ public writeUserEvent(request: google.cloud.retail.v2beta.IWriteUserEventRequest, callback: google.cloud.retail.v2beta.UserEventService.WriteUserEventCallback): void;
+
+ /**
+ * Calls WriteUserEvent.
+ * @param request WriteUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public writeUserEvent(request: google.cloud.retail.v2beta.IWriteUserEventRequest): Promise;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and HttpBody
+ */
+ public collectUserEvent(request: google.cloud.retail.v2beta.ICollectUserEventRequest, callback: google.cloud.retail.v2beta.UserEventService.CollectUserEventCallback): void;
+
+ /**
+ * Calls CollectUserEvent.
+ * @param request CollectUserEventRequest message or plain object
+ * @returns Promise
+ */
+ public collectUserEvent(request: google.cloud.retail.v2beta.ICollectUserEventRequest): Promise;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2beta.IPurgeUserEventsRequest, callback: google.cloud.retail.v2beta.UserEventService.PurgeUserEventsCallback): void;
+
+ /**
+ * Calls PurgeUserEvents.
+ * @param request PurgeUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public purgeUserEvents(request: google.cloud.retail.v2beta.IPurgeUserEventsRequest): Promise;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importUserEvents(request: google.cloud.retail.v2beta.IImportUserEventsRequest, callback: google.cloud.retail.v2beta.UserEventService.ImportUserEventsCallback): void;
+
+ /**
+ * Calls ImportUserEvents.
+ * @param request ImportUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public importUserEvents(request: google.cloud.retail.v2beta.IImportUserEventsRequest): Promise;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2beta.IRejoinUserEventsRequest, callback: google.cloud.retail.v2beta.UserEventService.RejoinUserEventsCallback): void;
+
+ /**
+ * Calls RejoinUserEvents.
+ * @param request RejoinUserEventsRequest message or plain object
+ * @returns Promise
+ */
+ public rejoinUserEvents(request: google.cloud.retail.v2beta.IRejoinUserEventsRequest): Promise;
+ }
+
+ namespace UserEventService {
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.UserEventService|writeUserEvent}.
+ * @param error Error, if any
+ * @param [response] UserEvent
+ */
+ type WriteUserEventCallback = (error: (Error|null), response?: google.cloud.retail.v2beta.UserEvent) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.UserEventService|collectUserEvent}.
+ * @param error Error, if any
+ * @param [response] HttpBody
+ */
+ type CollectUserEventCallback = (error: (Error|null), response?: google.api.HttpBody) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.UserEventService|purgeUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type PurgeUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.UserEventService|importUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.retail.v2beta.UserEventService|rejoinUserEvents}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RejoinUserEventsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a WriteUserEventRequest. */
+ interface IWriteUserEventRequest {
+
+ /** WriteUserEventRequest parent */
+ parent?: (string|null);
+
+ /** WriteUserEventRequest userEvent */
+ userEvent?: (google.cloud.retail.v2beta.IUserEvent|null);
+ }
+
+ /** Represents a WriteUserEventRequest. */
+ class WriteUserEventRequest implements IWriteUserEventRequest {
+
+ /**
+ * Constructs a new WriteUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IWriteUserEventRequest);
+
+ /** WriteUserEventRequest parent. */
+ public parent: string;
+
+ /** WriteUserEventRequest userEvent. */
+ public userEvent?: (google.cloud.retail.v2beta.IUserEvent|null);
+
+ /**
+ * Creates a new WriteUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WriteUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IWriteUserEventRequest): google.cloud.retail.v2beta.WriteUserEventRequest;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2beta.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WriteUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.WriteUserEventRequest.verify|verify} messages.
+ * @param message WriteUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IWriteUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.WriteUserEventRequest;
+
+ /**
+ * Decodes a WriteUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WriteUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2beta.WriteUserEventRequest;
+
+ /**
+ * Verifies a WriteUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WriteUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WriteUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.WriteUserEventRequest;
+
+ /**
+ * Creates a plain object from a WriteUserEventRequest message. Also converts values to other types if specified.
+ * @param message WriteUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.WriteUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WriteUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WriteUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CollectUserEventRequest. */
+ interface ICollectUserEventRequest {
+
+ /** CollectUserEventRequest parent */
+ parent?: (string|null);
+
+ /** CollectUserEventRequest userEvent */
+ userEvent?: (string|null);
+
+ /** CollectUserEventRequest uri */
+ uri?: (string|null);
+
+ /** CollectUserEventRequest ets */
+ ets?: (number|Long|string|null);
+ }
+
+ /** Represents a CollectUserEventRequest. */
+ class CollectUserEventRequest implements ICollectUserEventRequest {
+
+ /**
+ * Constructs a new CollectUserEventRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.ICollectUserEventRequest);
+
+ /** CollectUserEventRequest parent. */
+ public parent: string;
+
+ /** CollectUserEventRequest userEvent. */
+ public userEvent: string;
+
+ /** CollectUserEventRequest uri. */
+ public uri: string;
+
+ /** CollectUserEventRequest ets. */
+ public ets: (number|Long|string);
+
+ /**
+ * Creates a new CollectUserEventRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CollectUserEventRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.ICollectUserEventRequest): google.cloud.retail.v2beta.CollectUserEventRequest;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message. Does not implicitly {@link google.cloud.retail.v2beta.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CollectUserEventRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.CollectUserEventRequest.verify|verify} messages.
+ * @param message CollectUserEventRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.ICollectUserEventRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.CollectUserEventRequest;
+
+ /**
+ * Decodes a CollectUserEventRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CollectUserEventRequest
+ * @throws {Error} If the payload 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.retail.v2beta.CollectUserEventRequest;
+
+ /**
+ * Verifies a CollectUserEventRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CollectUserEventRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CollectUserEventRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.CollectUserEventRequest;
+
+ /**
+ * Creates a plain object from a CollectUserEventRequest message. Also converts values to other types if specified.
+ * @param message CollectUserEventRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.CollectUserEventRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CollectUserEventRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CollectUserEventRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsRequest. */
+ interface IRejoinUserEventsRequest {
+
+ /** RejoinUserEventsRequest parent */
+ parent?: (string|null);
+
+ /** RejoinUserEventsRequest userEventRejoinScope */
+ userEventRejoinScope?: (google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope|null);
+ }
+
+ /** Represents a RejoinUserEventsRequest. */
+ class RejoinUserEventsRequest implements IRejoinUserEventsRequest {
+
+ /**
+ * Constructs a new RejoinUserEventsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRejoinUserEventsRequest);
+
+ /** RejoinUserEventsRequest parent. */
+ public parent: string;
+
+ /** RejoinUserEventsRequest userEventRejoinScope. */
+ public userEventRejoinScope: (google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope|keyof typeof google.cloud.retail.v2beta.RejoinUserEventsRequest.UserEventRejoinScope);
+
+ /**
+ * Creates a new RejoinUserEventsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsRequest instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRejoinUserEventsRequest): google.cloud.retail.v2beta.RejoinUserEventsRequest;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsRequest message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsRequest.verify|verify} messages.
+ * @param message RejoinUserEventsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRejoinUserEventsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload is not 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.retail.v2beta.RejoinUserEventsRequest;
+
+ /**
+ * Decodes a RejoinUserEventsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsRequest
+ * @throws {Error} If the payload 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.retail.v2beta.RejoinUserEventsRequest;
+
+ /**
+ * Verifies a RejoinUserEventsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RejoinUserEventsRequest;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsRequest message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RejoinUserEventsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RejoinUserEventsRequest {
+
+ /** UserEventRejoinScope enum. */
+ enum UserEventRejoinScope {
+ USER_EVENT_REJOIN_SCOPE_UNSPECIFIED = 0,
+ JOINED_EVENTS = 1,
+ UNJOINED_EVENTS = 2
+ }
+ }
+
+ /** Properties of a RejoinUserEventsResponse. */
+ interface IRejoinUserEventsResponse {
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount */
+ rejoinedUserEventsCount?: (number|Long|string|null);
+ }
+
+ /** Represents a RejoinUserEventsResponse. */
+ class RejoinUserEventsResponse implements IRejoinUserEventsResponse {
+
+ /**
+ * Constructs a new RejoinUserEventsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRejoinUserEventsResponse);
+
+ /** RejoinUserEventsResponse rejoinedUserEventsCount. */
+ public rejoinedUserEventsCount: (number|Long|string);
+
+ /**
+ * Creates a new RejoinUserEventsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsResponse instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRejoinUserEventsResponse): google.cloud.retail.v2beta.RejoinUserEventsResponse;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsResponse message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsResponse.verify|verify} messages.
+ * @param message RejoinUserEventsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRejoinUserEventsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload is not 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.retail.v2beta.RejoinUserEventsResponse;
+
+ /**
+ * Decodes a RejoinUserEventsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsResponse
+ * @throws {Error} If the payload 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.retail.v2beta.RejoinUserEventsResponse;
+
+ /**
+ * Verifies a RejoinUserEventsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RejoinUserEventsResponse;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsResponse message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RejoinUserEventsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RejoinUserEventsMetadata. */
+ interface IRejoinUserEventsMetadata {
+ }
+
+ /** Represents a RejoinUserEventsMetadata. */
+ class RejoinUserEventsMetadata implements IRejoinUserEventsMetadata {
+
+ /**
+ * Constructs a new RejoinUserEventsMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.retail.v2beta.IRejoinUserEventsMetadata);
+
+ /**
+ * Creates a new RejoinUserEventsMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RejoinUserEventsMetadata instance
+ */
+ public static create(properties?: google.cloud.retail.v2beta.IRejoinUserEventsMetadata): google.cloud.retail.v2beta.RejoinUserEventsMetadata;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.retail.v2beta.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RejoinUserEventsMetadata message, length delimited. Does not implicitly {@link google.cloud.retail.v2beta.RejoinUserEventsMetadata.verify|verify} messages.
+ * @param message RejoinUserEventsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.retail.v2beta.IRejoinUserEventsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload is not 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.retail.v2beta.RejoinUserEventsMetadata;
+
+ /**
+ * Decodes a RejoinUserEventsMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RejoinUserEventsMetadata
+ * @throws {Error} If the payload 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.retail.v2beta.RejoinUserEventsMetadata;
+
+ /**
+ * Verifies a RejoinUserEventsMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RejoinUserEventsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RejoinUserEventsMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.retail.v2beta.RejoinUserEventsMetadata;
+
+ /**
+ * Creates a plain object from a RejoinUserEventsMetadata message. Also converts values to other types if specified.
+ * @param message RejoinUserEventsMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.retail.v2beta.RejoinUserEventsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RejoinUserEventsMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RejoinUserEventsMetadata
+ * @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;
+ }
+
+ /** Properties of a HttpBody. */
+ interface IHttpBody {
+
+ /** HttpBody contentType */
+ contentType?: (string|null);
+
+ /** HttpBody data */
+ data?: (Uint8Array|string|null);
+
+ /** HttpBody extensions */
+ extensions?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a HttpBody. */
+ class HttpBody implements IHttpBody {
+
+ /**
+ * Constructs a new HttpBody.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpBody);
+
+ /** HttpBody contentType. */
+ public contentType: string;
+
+ /** HttpBody data. */
+ public data: (Uint8Array|string);
+
+ /** HttpBody extensions. */
+ public extensions: google.protobuf.IAny[];
+
+ /**
+ * Creates a new HttpBody instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpBody instance
+ */
+ public static create(properties?: google.api.IHttpBody): google.api.HttpBody;
+
+ /**
+ * Encodes the specified HttpBody message. Does not implicitly {@link google.api.HttpBody.verify|verify} messages.
+ * @param message HttpBody message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpBody, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpBody message, length delimited. Does not implicitly {@link google.api.HttpBody.verify|verify} messages.
+ * @param message HttpBody message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpBody, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpBody message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpBody
+ * @throws {Error} If the payload is not 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.HttpBody;
+
+ /**
+ * Decodes a HttpBody message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpBody
+ * @throws {Error} If the payload 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.HttpBody;
+
+ /**
+ * Verifies a HttpBody message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpBody message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpBody
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpBody;
+
+ /**
+ * Creates a plain object from a HttpBody message. Also converts values to other types if specified.
+ * @param message HttpBody
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpBody, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpBody to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpBody
+ * @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 Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a 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 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 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;
+ }
+
+ /** 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 Struct. */
+ interface IStruct {
+
+ /** Struct fields */
+ fields?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a Struct. */
+ class Struct implements IStruct {
+
+ /**
+ * Constructs a new Struct.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStruct);
+
+ /** Struct fields. */
+ public fields: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new Struct instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Struct instance
+ */
+ public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct;
+
+ /**
+ * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Struct;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Struct;
+
+ /**
+ * Verifies a Struct message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Struct message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Struct
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Struct;
+
+ /**
+ * Creates a plain object from a Struct message. Also converts values to other types if specified.
+ * @param message Struct
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Struct to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Struct
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value nullValue */
+ nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue */
+ numberValue?: (number|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value boolValue */
+ boolValue?: (boolean|null);
+
+ /** Value structValue */
+ structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue */
+ listValue?: (google.protobuf.IListValue|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IValue);
+
+ /** Value nullValue. */
+ public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue. */
+ public numberValue?: (number|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** Value structValue. */
+ public structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue. */
+ public listValue?: (google.protobuf.IListValue|null);
+
+ /** Value kind. */
+ public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.protobuf.IValue): google.protobuf.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** NullValue enum. */
+ enum NullValue {
+ NULL_VALUE = 0
+ }
+
+ /** Properties of a ListValue. */
+ interface IListValue {
+
+ /** ListValue values */
+ values?: (google.protobuf.IValue[]|null);
+ }
+
+ /** Represents a ListValue. */
+ class ListValue implements IListValue {
+
+ /**
+ * Constructs a new ListValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IListValue);
+
+ /** ListValue values. */
+ public values: google.protobuf.IValue[];
+
+ /**
+ * Creates a new ListValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListValue instance
+ */
+ public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue;
+
+ /**
+ * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ListValue;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ListValue;
+
+ /**
+ * Verifies a ListValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue;
+
+ /**
+ * Creates a plain object from a ListValue message. Also converts values to other types if specified.
+ * @param message ListValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a Date. */
+ interface IDate {
+
+ /** Date year */
+ year?: (number|null);
+
+ /** Date month */
+ month?: (number|null);
+
+ /** Date day */
+ day?: (number|null);
+ }
+
+ /** Represents a Date. */
+ class Date implements IDate {
+
+ /**
+ * Constructs a new Date.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDate);
+
+ /** Date year. */
+ public year: number;
+
+ /** Date month. */
+ public month: number;
+
+ /** Date day. */
+ public day: number;
+
+ /**
+ * Creates a new Date instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Date instance
+ */
+ public static create(properties?: google.type.IDate): google.type.Date;
+
+ /**
+ * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Date
+ * @throws {Error} If the payload is not 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.Date;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Date
+ * @throws {Error} If the payload 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.Date;
+
+ /**
+ * Verifies a Date message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Date message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Date
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Date;
+
+ /**
+ * Creates a plain object from a Date message. Also converts values to other types if specified.
+ * @param message Date
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Date to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Date
+ * @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;
+ }
+ }
+}
diff --git a/packages/google-cloud-retail/protos/protos.js b/packages/google-cloud-retail/protos/protos.js
new file mode 100644
index 00000000000..b8840714673
--- /dev/null
+++ b/packages/google-cloud-retail/protos/protos.js
@@ -0,0 +1,147500 @@
+// 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_retail_protos || ($protobuf.roots._google_cloud_retail_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.retail = (function() {
+
+ /**
+ * Namespace retail.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var retail = {};
+
+ retail.v2 = (function() {
+
+ /**
+ * Namespace v2.
+ * @memberof google.cloud.retail
+ * @namespace
+ */
+ var v2 = {};
+
+ v2.ProductLevelConfig = (function() {
+
+ /**
+ * Properties of a ProductLevelConfig.
+ * @memberof google.cloud.retail.v2
+ * @interface IProductLevelConfig
+ * @property {string|null} [ingestionProductType] ProductLevelConfig ingestionProductType
+ * @property {string|null} [merchantCenterProductIdField] ProductLevelConfig merchantCenterProductIdField
+ */
+
+ /**
+ * Constructs a new ProductLevelConfig.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a ProductLevelConfig.
+ * @implements IProductLevelConfig
+ * @constructor
+ * @param {google.cloud.retail.v2.IProductLevelConfig=} [properties] Properties to set
+ */
+ function ProductLevelConfig(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]];
+ }
+
+ /**
+ * ProductLevelConfig ingestionProductType.
+ * @member {string} ingestionProductType
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @instance
+ */
+ ProductLevelConfig.prototype.ingestionProductType = "";
+
+ /**
+ * ProductLevelConfig merchantCenterProductIdField.
+ * @member {string} merchantCenterProductIdField
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @instance
+ */
+ ProductLevelConfig.prototype.merchantCenterProductIdField = "";
+
+ /**
+ * Creates a new ProductLevelConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {google.cloud.retail.v2.IProductLevelConfig=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.ProductLevelConfig} ProductLevelConfig instance
+ */
+ ProductLevelConfig.create = function create(properties) {
+ return new ProductLevelConfig(properties);
+ };
+
+ /**
+ * Encodes the specified ProductLevelConfig message. Does not implicitly {@link google.cloud.retail.v2.ProductLevelConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {google.cloud.retail.v2.IProductLevelConfig} message ProductLevelConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductLevelConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.ingestionProductType != null && Object.hasOwnProperty.call(message, "ingestionProductType"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.ingestionProductType);
+ if (message.merchantCenterProductIdField != null && Object.hasOwnProperty.call(message, "merchantCenterProductIdField"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.merchantCenterProductIdField);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProductLevelConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.ProductLevelConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {google.cloud.retail.v2.IProductLevelConfig} message ProductLevelConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProductLevelConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.ProductLevelConfig} ProductLevelConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductLevelConfig.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.retail.v2.ProductLevelConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.ingestionProductType = reader.string();
+ break;
+ }
+ case 2: {
+ message.merchantCenterProductIdField = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProductLevelConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.ProductLevelConfig} ProductLevelConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProductLevelConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProductLevelConfig message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProductLevelConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.ingestionProductType != null && message.hasOwnProperty("ingestionProductType"))
+ if (!$util.isString(message.ingestionProductType))
+ return "ingestionProductType: string expected";
+ if (message.merchantCenterProductIdField != null && message.hasOwnProperty("merchantCenterProductIdField"))
+ if (!$util.isString(message.merchantCenterProductIdField))
+ return "merchantCenterProductIdField: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ProductLevelConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.ProductLevelConfig} ProductLevelConfig
+ */
+ ProductLevelConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.ProductLevelConfig)
+ return object;
+ var message = new $root.google.cloud.retail.v2.ProductLevelConfig();
+ if (object.ingestionProductType != null)
+ message.ingestionProductType = String(object.ingestionProductType);
+ if (object.merchantCenterProductIdField != null)
+ message.merchantCenterProductIdField = String(object.merchantCenterProductIdField);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProductLevelConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {google.cloud.retail.v2.ProductLevelConfig} message ProductLevelConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProductLevelConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.ingestionProductType = "";
+ object.merchantCenterProductIdField = "";
+ }
+ if (message.ingestionProductType != null && message.hasOwnProperty("ingestionProductType"))
+ object.ingestionProductType = message.ingestionProductType;
+ if (message.merchantCenterProductIdField != null && message.hasOwnProperty("merchantCenterProductIdField"))
+ object.merchantCenterProductIdField = message.merchantCenterProductIdField;
+ return object;
+ };
+
+ /**
+ * Converts this ProductLevelConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProductLevelConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProductLevelConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.ProductLevelConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProductLevelConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.ProductLevelConfig";
+ };
+
+ return ProductLevelConfig;
+ })();
+
+ v2.CatalogAttribute = (function() {
+
+ /**
+ * Properties of a CatalogAttribute.
+ * @memberof google.cloud.retail.v2
+ * @interface ICatalogAttribute
+ * @property {string|null} [key] CatalogAttribute key
+ * @property {boolean|null} [inUse] CatalogAttribute inUse
+ * @property {google.cloud.retail.v2.CatalogAttribute.AttributeType|null} [type] CatalogAttribute type
+ * @property {google.cloud.retail.v2.CatalogAttribute.IndexableOption|null} [indexableOption] CatalogAttribute indexableOption
+ * @property {google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption|null} [dynamicFacetableOption] CatalogAttribute dynamicFacetableOption
+ * @property {google.cloud.retail.v2.CatalogAttribute.SearchableOption|null} [searchableOption] CatalogAttribute searchableOption
+ */
+
+ /**
+ * Constructs a new CatalogAttribute.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a CatalogAttribute.
+ * @implements ICatalogAttribute
+ * @constructor
+ * @param {google.cloud.retail.v2.ICatalogAttribute=} [properties] Properties to set
+ */
+ function CatalogAttribute(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]];
+ }
+
+ /**
+ * CatalogAttribute key.
+ * @member {string} key
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.key = "";
+
+ /**
+ * CatalogAttribute inUse.
+ * @member {boolean} inUse
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.inUse = false;
+
+ /**
+ * CatalogAttribute type.
+ * @member {google.cloud.retail.v2.CatalogAttribute.AttributeType} type
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.type = 0;
+
+ /**
+ * CatalogAttribute indexableOption.
+ * @member {google.cloud.retail.v2.CatalogAttribute.IndexableOption} indexableOption
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.indexableOption = 0;
+
+ /**
+ * CatalogAttribute dynamicFacetableOption.
+ * @member {google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption} dynamicFacetableOption
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.dynamicFacetableOption = 0;
+
+ /**
+ * CatalogAttribute searchableOption.
+ * @member {google.cloud.retail.v2.CatalogAttribute.SearchableOption} searchableOption
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ */
+ CatalogAttribute.prototype.searchableOption = 0;
+
+ /**
+ * Creates a new CatalogAttribute instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {google.cloud.retail.v2.ICatalogAttribute=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.CatalogAttribute} CatalogAttribute instance
+ */
+ CatalogAttribute.create = function create(properties) {
+ return new CatalogAttribute(properties);
+ };
+
+ /**
+ * Encodes the specified CatalogAttribute message. Does not implicitly {@link google.cloud.retail.v2.CatalogAttribute.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {google.cloud.retail.v2.ICatalogAttribute} message CatalogAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CatalogAttribute.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.key);
+ if (message.indexableOption != null && Object.hasOwnProperty.call(message, "indexableOption"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.indexableOption);
+ if (message.dynamicFacetableOption != null && Object.hasOwnProperty.call(message, "dynamicFacetableOption"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.dynamicFacetableOption);
+ if (message.searchableOption != null && Object.hasOwnProperty.call(message, "searchableOption"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.searchableOption);
+ if (message.inUse != null && Object.hasOwnProperty.call(message, "inUse"))
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.inUse);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.type);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CatalogAttribute message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CatalogAttribute.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {google.cloud.retail.v2.ICatalogAttribute} message CatalogAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CatalogAttribute.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.CatalogAttribute} CatalogAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CatalogAttribute.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.retail.v2.CatalogAttribute();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = reader.string();
+ break;
+ }
+ case 9: {
+ message.inUse = reader.bool();
+ break;
+ }
+ case 10: {
+ message.type = reader.int32();
+ break;
+ }
+ case 5: {
+ message.indexableOption = reader.int32();
+ break;
+ }
+ case 6: {
+ message.dynamicFacetableOption = reader.int32();
+ break;
+ }
+ case 7: {
+ message.searchableOption = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CatalogAttribute message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.CatalogAttribute} CatalogAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CatalogAttribute.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CatalogAttribute message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CatalogAttribute.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.inUse != null && message.hasOwnProperty("inUse"))
+ if (typeof message.inUse !== "boolean")
+ return "inUse: boolean expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.indexableOption != null && message.hasOwnProperty("indexableOption"))
+ switch (message.indexableOption) {
+ default:
+ return "indexableOption: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.dynamicFacetableOption != null && message.hasOwnProperty("dynamicFacetableOption"))
+ switch (message.dynamicFacetableOption) {
+ default:
+ return "dynamicFacetableOption: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.searchableOption != null && message.hasOwnProperty("searchableOption"))
+ switch (message.searchableOption) {
+ default:
+ return "searchableOption: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CatalogAttribute message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.CatalogAttribute} CatalogAttribute
+ */
+ CatalogAttribute.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.CatalogAttribute)
+ return object;
+ var message = new $root.google.cloud.retail.v2.CatalogAttribute();
+ if (object.key != null)
+ message.key = String(object.key);
+ if (object.inUse != null)
+ message.inUse = Boolean(object.inUse);
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "UNKNOWN":
+ case 0:
+ message.type = 0;
+ break;
+ case "TEXTUAL":
+ case 1:
+ message.type = 1;
+ break;
+ case "NUMERICAL":
+ case 2:
+ message.type = 2;
+ break;
+ }
+ switch (object.indexableOption) {
+ default:
+ if (typeof object.indexableOption === "number") {
+ message.indexableOption = object.indexableOption;
+ break;
+ }
+ break;
+ case "INDEXABLE_OPTION_UNSPECIFIED":
+ case 0:
+ message.indexableOption = 0;
+ break;
+ case "INDEXABLE_ENABLED":
+ case 1:
+ message.indexableOption = 1;
+ break;
+ case "INDEXABLE_DISABLED":
+ case 2:
+ message.indexableOption = 2;
+ break;
+ }
+ switch (object.dynamicFacetableOption) {
+ default:
+ if (typeof object.dynamicFacetableOption === "number") {
+ message.dynamicFacetableOption = object.dynamicFacetableOption;
+ break;
+ }
+ break;
+ case "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED":
+ case 0:
+ message.dynamicFacetableOption = 0;
+ break;
+ case "DYNAMIC_FACETABLE_ENABLED":
+ case 1:
+ message.dynamicFacetableOption = 1;
+ break;
+ case "DYNAMIC_FACETABLE_DISABLED":
+ case 2:
+ message.dynamicFacetableOption = 2;
+ break;
+ }
+ switch (object.searchableOption) {
+ default:
+ if (typeof object.searchableOption === "number") {
+ message.searchableOption = object.searchableOption;
+ break;
+ }
+ break;
+ case "SEARCHABLE_OPTION_UNSPECIFIED":
+ case 0:
+ message.searchableOption = 0;
+ break;
+ case "SEARCHABLE_ENABLED":
+ case 1:
+ message.searchableOption = 1;
+ break;
+ case "SEARCHABLE_DISABLED":
+ case 2:
+ message.searchableOption = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CatalogAttribute message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {google.cloud.retail.v2.CatalogAttribute} message CatalogAttribute
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CatalogAttribute.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.key = "";
+ object.indexableOption = options.enums === String ? "INDEXABLE_OPTION_UNSPECIFIED" : 0;
+ object.dynamicFacetableOption = options.enums === String ? "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED" : 0;
+ object.searchableOption = options.enums === String ? "SEARCHABLE_OPTION_UNSPECIFIED" : 0;
+ object.inUse = false;
+ object.type = options.enums === String ? "UNKNOWN" : 0;
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ if (message.indexableOption != null && message.hasOwnProperty("indexableOption"))
+ object.indexableOption = options.enums === String ? $root.google.cloud.retail.v2.CatalogAttribute.IndexableOption[message.indexableOption] === undefined ? message.indexableOption : $root.google.cloud.retail.v2.CatalogAttribute.IndexableOption[message.indexableOption] : message.indexableOption;
+ if (message.dynamicFacetableOption != null && message.hasOwnProperty("dynamicFacetableOption"))
+ object.dynamicFacetableOption = options.enums === String ? $root.google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption[message.dynamicFacetableOption] === undefined ? message.dynamicFacetableOption : $root.google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption[message.dynamicFacetableOption] : message.dynamicFacetableOption;
+ if (message.searchableOption != null && message.hasOwnProperty("searchableOption"))
+ object.searchableOption = options.enums === String ? $root.google.cloud.retail.v2.CatalogAttribute.SearchableOption[message.searchableOption] === undefined ? message.searchableOption : $root.google.cloud.retail.v2.CatalogAttribute.SearchableOption[message.searchableOption] : message.searchableOption;
+ if (message.inUse != null && message.hasOwnProperty("inUse"))
+ object.inUse = message.inUse;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.retail.v2.CatalogAttribute.AttributeType[message.type] === undefined ? message.type : $root.google.cloud.retail.v2.CatalogAttribute.AttributeType[message.type] : message.type;
+ return object;
+ };
+
+ /**
+ * Converts this CatalogAttribute to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CatalogAttribute.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CatalogAttribute
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.CatalogAttribute
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CatalogAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.CatalogAttribute";
+ };
+
+ /**
+ * AttributeType enum.
+ * @name google.cloud.retail.v2.CatalogAttribute.AttributeType
+ * @enum {number}
+ * @property {number} UNKNOWN=0 UNKNOWN value
+ * @property {number} TEXTUAL=1 TEXTUAL value
+ * @property {number} NUMERICAL=2 NUMERICAL value
+ */
+ CatalogAttribute.AttributeType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "UNKNOWN"] = 0;
+ values[valuesById[1] = "TEXTUAL"] = 1;
+ values[valuesById[2] = "NUMERICAL"] = 2;
+ return values;
+ })();
+
+ /**
+ * IndexableOption enum.
+ * @name google.cloud.retail.v2.CatalogAttribute.IndexableOption
+ * @enum {number}
+ * @property {number} INDEXABLE_OPTION_UNSPECIFIED=0 INDEXABLE_OPTION_UNSPECIFIED value
+ * @property {number} INDEXABLE_ENABLED=1 INDEXABLE_ENABLED value
+ * @property {number} INDEXABLE_DISABLED=2 INDEXABLE_DISABLED value
+ */
+ CatalogAttribute.IndexableOption = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "INDEXABLE_OPTION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "INDEXABLE_ENABLED"] = 1;
+ values[valuesById[2] = "INDEXABLE_DISABLED"] = 2;
+ return values;
+ })();
+
+ /**
+ * DynamicFacetableOption enum.
+ * @name google.cloud.retail.v2.CatalogAttribute.DynamicFacetableOption
+ * @enum {number}
+ * @property {number} DYNAMIC_FACETABLE_OPTION_UNSPECIFIED=0 DYNAMIC_FACETABLE_OPTION_UNSPECIFIED value
+ * @property {number} DYNAMIC_FACETABLE_ENABLED=1 DYNAMIC_FACETABLE_ENABLED value
+ * @property {number} DYNAMIC_FACETABLE_DISABLED=2 DYNAMIC_FACETABLE_DISABLED value
+ */
+ CatalogAttribute.DynamicFacetableOption = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DYNAMIC_FACETABLE_ENABLED"] = 1;
+ values[valuesById[2] = "DYNAMIC_FACETABLE_DISABLED"] = 2;
+ return values;
+ })();
+
+ /**
+ * SearchableOption enum.
+ * @name google.cloud.retail.v2.CatalogAttribute.SearchableOption
+ * @enum {number}
+ * @property {number} SEARCHABLE_OPTION_UNSPECIFIED=0 SEARCHABLE_OPTION_UNSPECIFIED value
+ * @property {number} SEARCHABLE_ENABLED=1 SEARCHABLE_ENABLED value
+ * @property {number} SEARCHABLE_DISABLED=2 SEARCHABLE_DISABLED value
+ */
+ CatalogAttribute.SearchableOption = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SEARCHABLE_OPTION_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SEARCHABLE_ENABLED"] = 1;
+ values[valuesById[2] = "SEARCHABLE_DISABLED"] = 2;
+ return values;
+ })();
+
+ return CatalogAttribute;
+ })();
+
+ v2.AttributesConfig = (function() {
+
+ /**
+ * Properties of an AttributesConfig.
+ * @memberof google.cloud.retail.v2
+ * @interface IAttributesConfig
+ * @property {string|null} [name] AttributesConfig name
+ * @property {Object.|null} [catalogAttributes] AttributesConfig catalogAttributes
+ * @property {google.cloud.retail.v2.AttributeConfigLevel|null} [attributeConfigLevel] AttributesConfig attributeConfigLevel
+ */
+
+ /**
+ * Constructs a new AttributesConfig.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents an AttributesConfig.
+ * @implements IAttributesConfig
+ * @constructor
+ * @param {google.cloud.retail.v2.IAttributesConfig=} [properties] Properties to set
+ */
+ function AttributesConfig(properties) {
+ this.catalogAttributes = {};
+ 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]];
+ }
+
+ /**
+ * AttributesConfig name.
+ * @member {string} name
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @instance
+ */
+ AttributesConfig.prototype.name = "";
+
+ /**
+ * AttributesConfig catalogAttributes.
+ * @member {Object.} catalogAttributes
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @instance
+ */
+ AttributesConfig.prototype.catalogAttributes = $util.emptyObject;
+
+ /**
+ * AttributesConfig attributeConfigLevel.
+ * @member {google.cloud.retail.v2.AttributeConfigLevel} attributeConfigLevel
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @instance
+ */
+ AttributesConfig.prototype.attributeConfigLevel = 0;
+
+ /**
+ * Creates a new AttributesConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {google.cloud.retail.v2.IAttributesConfig=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.AttributesConfig} AttributesConfig instance
+ */
+ AttributesConfig.create = function create(properties) {
+ return new AttributesConfig(properties);
+ };
+
+ /**
+ * Encodes the specified AttributesConfig message. Does not implicitly {@link google.cloud.retail.v2.AttributesConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {google.cloud.retail.v2.IAttributesConfig} message AttributesConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttributesConfig.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.catalogAttributes != null && Object.hasOwnProperty.call(message, "catalogAttributes"))
+ for (var keys = Object.keys(message.catalogAttributes), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.retail.v2.CatalogAttribute.encode(message.catalogAttributes[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.attributeConfigLevel != null && Object.hasOwnProperty.call(message, "attributeConfigLevel"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.attributeConfigLevel);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AttributesConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.AttributesConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {google.cloud.retail.v2.IAttributesConfig} message AttributesConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttributesConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.AttributesConfig} AttributesConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttributesConfig.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.retail.v2.AttributesConfig(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (message.catalogAttributes === $util.emptyObject)
+ message.catalogAttributes = {};
+ 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.retail.v2.CatalogAttribute.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.catalogAttributes[key] = value;
+ break;
+ }
+ case 3: {
+ message.attributeConfigLevel = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AttributesConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.AttributesConfig} AttributesConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttributesConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AttributesConfig message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AttributesConfig.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.catalogAttributes != null && message.hasOwnProperty("catalogAttributes")) {
+ if (!$util.isObject(message.catalogAttributes))
+ return "catalogAttributes: object expected";
+ var key = Object.keys(message.catalogAttributes);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.retail.v2.CatalogAttribute.verify(message.catalogAttributes[key[i]]);
+ if (error)
+ return "catalogAttributes." + error;
+ }
+ }
+ if (message.attributeConfigLevel != null && message.hasOwnProperty("attributeConfigLevel"))
+ switch (message.attributeConfigLevel) {
+ default:
+ return "attributeConfigLevel: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AttributesConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.AttributesConfig} AttributesConfig
+ */
+ AttributesConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.AttributesConfig)
+ return object;
+ var message = new $root.google.cloud.retail.v2.AttributesConfig();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.catalogAttributes) {
+ if (typeof object.catalogAttributes !== "object")
+ throw TypeError(".google.cloud.retail.v2.AttributesConfig.catalogAttributes: object expected");
+ message.catalogAttributes = {};
+ for (var keys = Object.keys(object.catalogAttributes), i = 0; i < keys.length; ++i) {
+ if (typeof object.catalogAttributes[keys[i]] !== "object")
+ throw TypeError(".google.cloud.retail.v2.AttributesConfig.catalogAttributes: object expected");
+ message.catalogAttributes[keys[i]] = $root.google.cloud.retail.v2.CatalogAttribute.fromObject(object.catalogAttributes[keys[i]]);
+ }
+ }
+ switch (object.attributeConfigLevel) {
+ default:
+ if (typeof object.attributeConfigLevel === "number") {
+ message.attributeConfigLevel = object.attributeConfigLevel;
+ break;
+ }
+ break;
+ case "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED":
+ case 0:
+ message.attributeConfigLevel = 0;
+ break;
+ case "PRODUCT_LEVEL_ATTRIBUTE_CONFIG":
+ case 1:
+ message.attributeConfigLevel = 1;
+ break;
+ case "CATALOG_LEVEL_ATTRIBUTE_CONFIG":
+ case 2:
+ message.attributeConfigLevel = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AttributesConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {google.cloud.retail.v2.AttributesConfig} message AttributesConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AttributesConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.catalogAttributes = {};
+ if (options.defaults) {
+ object.name = "";
+ object.attributeConfigLevel = options.enums === String ? "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ var keys2;
+ if (message.catalogAttributes && (keys2 = Object.keys(message.catalogAttributes)).length) {
+ object.catalogAttributes = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.catalogAttributes[keys2[j]] = $root.google.cloud.retail.v2.CatalogAttribute.toObject(message.catalogAttributes[keys2[j]], options);
+ }
+ if (message.attributeConfigLevel != null && message.hasOwnProperty("attributeConfigLevel"))
+ object.attributeConfigLevel = options.enums === String ? $root.google.cloud.retail.v2.AttributeConfigLevel[message.attributeConfigLevel] === undefined ? message.attributeConfigLevel : $root.google.cloud.retail.v2.AttributeConfigLevel[message.attributeConfigLevel] : message.attributeConfigLevel;
+ return object;
+ };
+
+ /**
+ * Converts this AttributesConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AttributesConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AttributesConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.AttributesConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AttributesConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.AttributesConfig";
+ };
+
+ return AttributesConfig;
+ })();
+
+ v2.CompletionConfig = (function() {
+
+ /**
+ * Properties of a CompletionConfig.
+ * @memberof google.cloud.retail.v2
+ * @interface ICompletionConfig
+ * @property {string|null} [name] CompletionConfig name
+ * @property {string|null} [matchingOrder] CompletionConfig matchingOrder
+ * @property {number|null} [maxSuggestions] CompletionConfig maxSuggestions
+ * @property {number|null} [minPrefixLength] CompletionConfig minPrefixLength
+ * @property {boolean|null} [autoLearning] CompletionConfig autoLearning
+ * @property {google.cloud.retail.v2.ICompletionDataInputConfig|null} [suggestionsInputConfig] CompletionConfig suggestionsInputConfig
+ * @property {string|null} [lastSuggestionsImportOperation] CompletionConfig lastSuggestionsImportOperation
+ * @property {google.cloud.retail.v2.ICompletionDataInputConfig|null} [denylistInputConfig] CompletionConfig denylistInputConfig
+ * @property {string|null} [lastDenylistImportOperation] CompletionConfig lastDenylistImportOperation
+ * @property {google.cloud.retail.v2.ICompletionDataInputConfig|null} [allowlistInputConfig] CompletionConfig allowlistInputConfig
+ * @property {string|null} [lastAllowlistImportOperation] CompletionConfig lastAllowlistImportOperation
+ */
+
+ /**
+ * Constructs a new CompletionConfig.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a CompletionConfig.
+ * @implements ICompletionConfig
+ * @constructor
+ * @param {google.cloud.retail.v2.ICompletionConfig=} [properties] Properties to set
+ */
+ function CompletionConfig(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]];
+ }
+
+ /**
+ * CompletionConfig name.
+ * @member {string} name
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.name = "";
+
+ /**
+ * CompletionConfig matchingOrder.
+ * @member {string} matchingOrder
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.matchingOrder = "";
+
+ /**
+ * CompletionConfig maxSuggestions.
+ * @member {number} maxSuggestions
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.maxSuggestions = 0;
+
+ /**
+ * CompletionConfig minPrefixLength.
+ * @member {number} minPrefixLength
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.minPrefixLength = 0;
+
+ /**
+ * CompletionConfig autoLearning.
+ * @member {boolean} autoLearning
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.autoLearning = false;
+
+ /**
+ * CompletionConfig suggestionsInputConfig.
+ * @member {google.cloud.retail.v2.ICompletionDataInputConfig|null|undefined} suggestionsInputConfig
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.suggestionsInputConfig = null;
+
+ /**
+ * CompletionConfig lastSuggestionsImportOperation.
+ * @member {string} lastSuggestionsImportOperation
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.lastSuggestionsImportOperation = "";
+
+ /**
+ * CompletionConfig denylistInputConfig.
+ * @member {google.cloud.retail.v2.ICompletionDataInputConfig|null|undefined} denylistInputConfig
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.denylistInputConfig = null;
+
+ /**
+ * CompletionConfig lastDenylistImportOperation.
+ * @member {string} lastDenylistImportOperation
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.lastDenylistImportOperation = "";
+
+ /**
+ * CompletionConfig allowlistInputConfig.
+ * @member {google.cloud.retail.v2.ICompletionDataInputConfig|null|undefined} allowlistInputConfig
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.allowlistInputConfig = null;
+
+ /**
+ * CompletionConfig lastAllowlistImportOperation.
+ * @member {string} lastAllowlistImportOperation
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ */
+ CompletionConfig.prototype.lastAllowlistImportOperation = "";
+
+ /**
+ * Creates a new CompletionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {google.cloud.retail.v2.ICompletionConfig=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.CompletionConfig} CompletionConfig instance
+ */
+ CompletionConfig.create = function create(properties) {
+ return new CompletionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified CompletionConfig message. Does not implicitly {@link google.cloud.retail.v2.CompletionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {google.cloud.retail.v2.ICompletionConfig} message CompletionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompletionConfig.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.matchingOrder != null && Object.hasOwnProperty.call(message, "matchingOrder"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.matchingOrder);
+ if (message.maxSuggestions != null && Object.hasOwnProperty.call(message, "maxSuggestions"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.maxSuggestions);
+ if (message.minPrefixLength != null && Object.hasOwnProperty.call(message, "minPrefixLength"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.minPrefixLength);
+ if (message.suggestionsInputConfig != null && Object.hasOwnProperty.call(message, "suggestionsInputConfig"))
+ $root.google.cloud.retail.v2.CompletionDataInputConfig.encode(message.suggestionsInputConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.lastSuggestionsImportOperation != null && Object.hasOwnProperty.call(message, "lastSuggestionsImportOperation"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.lastSuggestionsImportOperation);
+ if (message.denylistInputConfig != null && Object.hasOwnProperty.call(message, "denylistInputConfig"))
+ $root.google.cloud.retail.v2.CompletionDataInputConfig.encode(message.denylistInputConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.lastDenylistImportOperation != null && Object.hasOwnProperty.call(message, "lastDenylistImportOperation"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.lastDenylistImportOperation);
+ if (message.allowlistInputConfig != null && Object.hasOwnProperty.call(message, "allowlistInputConfig"))
+ $root.google.cloud.retail.v2.CompletionDataInputConfig.encode(message.allowlistInputConfig, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.lastAllowlistImportOperation != null && Object.hasOwnProperty.call(message, "lastAllowlistImportOperation"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.lastAllowlistImportOperation);
+ if (message.autoLearning != null && Object.hasOwnProperty.call(message, "autoLearning"))
+ writer.uint32(/* id 11, wireType 0 =*/88).bool(message.autoLearning);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CompletionConfig message, length delimited. Does not implicitly {@link google.cloud.retail.v2.CompletionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {google.cloud.retail.v2.ICompletionConfig} message CompletionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CompletionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.CompletionConfig} CompletionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompletionConfig.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.retail.v2.CompletionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.matchingOrder = reader.string();
+ break;
+ }
+ case 3: {
+ message.maxSuggestions = reader.int32();
+ break;
+ }
+ case 4: {
+ message.minPrefixLength = reader.int32();
+ break;
+ }
+ case 11: {
+ message.autoLearning = reader.bool();
+ break;
+ }
+ case 5: {
+ message.suggestionsInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.lastSuggestionsImportOperation = reader.string();
+ break;
+ }
+ case 7: {
+ message.denylistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.lastDenylistImportOperation = reader.string();
+ break;
+ }
+ case 9: {
+ message.allowlistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 10: {
+ message.lastAllowlistImportOperation = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CompletionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.CompletionConfig} CompletionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CompletionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CompletionConfig message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CompletionConfig.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.matchingOrder != null && message.hasOwnProperty("matchingOrder"))
+ if (!$util.isString(message.matchingOrder))
+ return "matchingOrder: string expected";
+ if (message.maxSuggestions != null && message.hasOwnProperty("maxSuggestions"))
+ if (!$util.isInteger(message.maxSuggestions))
+ return "maxSuggestions: integer expected";
+ if (message.minPrefixLength != null && message.hasOwnProperty("minPrefixLength"))
+ if (!$util.isInteger(message.minPrefixLength))
+ return "minPrefixLength: integer expected";
+ if (message.autoLearning != null && message.hasOwnProperty("autoLearning"))
+ if (typeof message.autoLearning !== "boolean")
+ return "autoLearning: boolean expected";
+ if (message.suggestionsInputConfig != null && message.hasOwnProperty("suggestionsInputConfig")) {
+ var error = $root.google.cloud.retail.v2.CompletionDataInputConfig.verify(message.suggestionsInputConfig);
+ if (error)
+ return "suggestionsInputConfig." + error;
+ }
+ if (message.lastSuggestionsImportOperation != null && message.hasOwnProperty("lastSuggestionsImportOperation"))
+ if (!$util.isString(message.lastSuggestionsImportOperation))
+ return "lastSuggestionsImportOperation: string expected";
+ if (message.denylistInputConfig != null && message.hasOwnProperty("denylistInputConfig")) {
+ var error = $root.google.cloud.retail.v2.CompletionDataInputConfig.verify(message.denylistInputConfig);
+ if (error)
+ return "denylistInputConfig." + error;
+ }
+ if (message.lastDenylistImportOperation != null && message.hasOwnProperty("lastDenylistImportOperation"))
+ if (!$util.isString(message.lastDenylistImportOperation))
+ return "lastDenylistImportOperation: string expected";
+ if (message.allowlistInputConfig != null && message.hasOwnProperty("allowlistInputConfig")) {
+ var error = $root.google.cloud.retail.v2.CompletionDataInputConfig.verify(message.allowlistInputConfig);
+ if (error)
+ return "allowlistInputConfig." + error;
+ }
+ if (message.lastAllowlistImportOperation != null && message.hasOwnProperty("lastAllowlistImportOperation"))
+ if (!$util.isString(message.lastAllowlistImportOperation))
+ return "lastAllowlistImportOperation: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CompletionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.CompletionConfig} CompletionConfig
+ */
+ CompletionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.CompletionConfig)
+ return object;
+ var message = new $root.google.cloud.retail.v2.CompletionConfig();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.matchingOrder != null)
+ message.matchingOrder = String(object.matchingOrder);
+ if (object.maxSuggestions != null)
+ message.maxSuggestions = object.maxSuggestions | 0;
+ if (object.minPrefixLength != null)
+ message.minPrefixLength = object.minPrefixLength | 0;
+ if (object.autoLearning != null)
+ message.autoLearning = Boolean(object.autoLearning);
+ if (object.suggestionsInputConfig != null) {
+ if (typeof object.suggestionsInputConfig !== "object")
+ throw TypeError(".google.cloud.retail.v2.CompletionConfig.suggestionsInputConfig: object expected");
+ message.suggestionsInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.fromObject(object.suggestionsInputConfig);
+ }
+ if (object.lastSuggestionsImportOperation != null)
+ message.lastSuggestionsImportOperation = String(object.lastSuggestionsImportOperation);
+ if (object.denylistInputConfig != null) {
+ if (typeof object.denylistInputConfig !== "object")
+ throw TypeError(".google.cloud.retail.v2.CompletionConfig.denylistInputConfig: object expected");
+ message.denylistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.fromObject(object.denylistInputConfig);
+ }
+ if (object.lastDenylistImportOperation != null)
+ message.lastDenylistImportOperation = String(object.lastDenylistImportOperation);
+ if (object.allowlistInputConfig != null) {
+ if (typeof object.allowlistInputConfig !== "object")
+ throw TypeError(".google.cloud.retail.v2.CompletionConfig.allowlistInputConfig: object expected");
+ message.allowlistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.fromObject(object.allowlistInputConfig);
+ }
+ if (object.lastAllowlistImportOperation != null)
+ message.lastAllowlistImportOperation = String(object.lastAllowlistImportOperation);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CompletionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {google.cloud.retail.v2.CompletionConfig} message CompletionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CompletionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.matchingOrder = "";
+ object.maxSuggestions = 0;
+ object.minPrefixLength = 0;
+ object.suggestionsInputConfig = null;
+ object.lastSuggestionsImportOperation = "";
+ object.denylistInputConfig = null;
+ object.lastDenylistImportOperation = "";
+ object.allowlistInputConfig = null;
+ object.lastAllowlistImportOperation = "";
+ object.autoLearning = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.matchingOrder != null && message.hasOwnProperty("matchingOrder"))
+ object.matchingOrder = message.matchingOrder;
+ if (message.maxSuggestions != null && message.hasOwnProperty("maxSuggestions"))
+ object.maxSuggestions = message.maxSuggestions;
+ if (message.minPrefixLength != null && message.hasOwnProperty("minPrefixLength"))
+ object.minPrefixLength = message.minPrefixLength;
+ if (message.suggestionsInputConfig != null && message.hasOwnProperty("suggestionsInputConfig"))
+ object.suggestionsInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.toObject(message.suggestionsInputConfig, options);
+ if (message.lastSuggestionsImportOperation != null && message.hasOwnProperty("lastSuggestionsImportOperation"))
+ object.lastSuggestionsImportOperation = message.lastSuggestionsImportOperation;
+ if (message.denylistInputConfig != null && message.hasOwnProperty("denylistInputConfig"))
+ object.denylistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.toObject(message.denylistInputConfig, options);
+ if (message.lastDenylistImportOperation != null && message.hasOwnProperty("lastDenylistImportOperation"))
+ object.lastDenylistImportOperation = message.lastDenylistImportOperation;
+ if (message.allowlistInputConfig != null && message.hasOwnProperty("allowlistInputConfig"))
+ object.allowlistInputConfig = $root.google.cloud.retail.v2.CompletionDataInputConfig.toObject(message.allowlistInputConfig, options);
+ if (message.lastAllowlistImportOperation != null && message.hasOwnProperty("lastAllowlistImportOperation"))
+ object.lastAllowlistImportOperation = message.lastAllowlistImportOperation;
+ if (message.autoLearning != null && message.hasOwnProperty("autoLearning"))
+ object.autoLearning = message.autoLearning;
+ return object;
+ };
+
+ /**
+ * Converts this CompletionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CompletionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CompletionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.CompletionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CompletionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.CompletionConfig";
+ };
+
+ return CompletionConfig;
+ })();
+
+ v2.Catalog = (function() {
+
+ /**
+ * Properties of a Catalog.
+ * @memberof google.cloud.retail.v2
+ * @interface ICatalog
+ * @property {string|null} [name] Catalog name
+ * @property {string|null} [displayName] Catalog displayName
+ * @property {google.cloud.retail.v2.IProductLevelConfig|null} [productLevelConfig] Catalog productLevelConfig
+ */
+
+ /**
+ * Constructs a new Catalog.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a Catalog.
+ * @implements ICatalog
+ * @constructor
+ * @param {google.cloud.retail.v2.ICatalog=} [properties] Properties to set
+ */
+ function Catalog(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]];
+ }
+
+ /**
+ * Catalog name.
+ * @member {string} name
+ * @memberof google.cloud.retail.v2.Catalog
+ * @instance
+ */
+ Catalog.prototype.name = "";
+
+ /**
+ * Catalog displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.retail.v2.Catalog
+ * @instance
+ */
+ Catalog.prototype.displayName = "";
+
+ /**
+ * Catalog productLevelConfig.
+ * @member {google.cloud.retail.v2.IProductLevelConfig|null|undefined} productLevelConfig
+ * @memberof google.cloud.retail.v2.Catalog
+ * @instance
+ */
+ Catalog.prototype.productLevelConfig = null;
+
+ /**
+ * Creates a new Catalog instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {google.cloud.retail.v2.ICatalog=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Catalog} Catalog instance
+ */
+ Catalog.create = function create(properties) {
+ return new Catalog(properties);
+ };
+
+ /**
+ * Encodes the specified Catalog message. Does not implicitly {@link google.cloud.retail.v2.Catalog.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {google.cloud.retail.v2.ICatalog} message Catalog message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Catalog.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.productLevelConfig != null && Object.hasOwnProperty.call(message, "productLevelConfig"))
+ $root.google.cloud.retail.v2.ProductLevelConfig.encode(message.productLevelConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Catalog message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Catalog.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {google.cloud.retail.v2.ICatalog} message Catalog message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Catalog.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Catalog} Catalog
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Catalog.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.retail.v2.Catalog();
+ 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 4: {
+ message.productLevelConfig = $root.google.cloud.retail.v2.ProductLevelConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Catalog message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Catalog} Catalog
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Catalog.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Catalog message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Catalog.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.productLevelConfig != null && message.hasOwnProperty("productLevelConfig")) {
+ var error = $root.google.cloud.retail.v2.ProductLevelConfig.verify(message.productLevelConfig);
+ if (error)
+ return "productLevelConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Catalog message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Catalog} Catalog
+ */
+ Catalog.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Catalog)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Catalog();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.productLevelConfig != null) {
+ if (typeof object.productLevelConfig !== "object")
+ throw TypeError(".google.cloud.retail.v2.Catalog.productLevelConfig: object expected");
+ message.productLevelConfig = $root.google.cloud.retail.v2.ProductLevelConfig.fromObject(object.productLevelConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Catalog message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {google.cloud.retail.v2.Catalog} message Catalog
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Catalog.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.productLevelConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.productLevelConfig != null && message.hasOwnProperty("productLevelConfig"))
+ object.productLevelConfig = $root.google.cloud.retail.v2.ProductLevelConfig.toObject(message.productLevelConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this Catalog to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Catalog
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Catalog.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Catalog
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Catalog
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Catalog.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Catalog";
+ };
+
+ return Catalog;
+ })();
+
+ /**
+ * AttributeConfigLevel enum.
+ * @name google.cloud.retail.v2.AttributeConfigLevel
+ * @enum {number}
+ * @property {number} ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED=0 ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED value
+ * @property {number} PRODUCT_LEVEL_ATTRIBUTE_CONFIG=1 PRODUCT_LEVEL_ATTRIBUTE_CONFIG value
+ * @property {number} CATALOG_LEVEL_ATTRIBUTE_CONFIG=2 CATALOG_LEVEL_ATTRIBUTE_CONFIG value
+ */
+ v2.AttributeConfigLevel = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PRODUCT_LEVEL_ATTRIBUTE_CONFIG"] = 1;
+ values[valuesById[2] = "CATALOG_LEVEL_ATTRIBUTE_CONFIG"] = 2;
+ return values;
+ })();
+
+ /**
+ * SolutionType enum.
+ * @name google.cloud.retail.v2.SolutionType
+ * @enum {number}
+ * @property {number} SOLUTION_TYPE_UNSPECIFIED=0 SOLUTION_TYPE_UNSPECIFIED value
+ * @property {number} SOLUTION_TYPE_RECOMMENDATION=1 SOLUTION_TYPE_RECOMMENDATION value
+ * @property {number} SOLUTION_TYPE_SEARCH=2 SOLUTION_TYPE_SEARCH value
+ */
+ v2.SolutionType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SOLUTION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SOLUTION_TYPE_RECOMMENDATION"] = 1;
+ values[valuesById[2] = "SOLUTION_TYPE_SEARCH"] = 2;
+ return values;
+ })();
+
+ /**
+ * SearchSolutionUseCase enum.
+ * @name google.cloud.retail.v2.SearchSolutionUseCase
+ * @enum {number}
+ * @property {number} SEARCH_SOLUTION_USE_CASE_UNSPECIFIED=0 SEARCH_SOLUTION_USE_CASE_UNSPECIFIED value
+ * @property {number} SEARCH_SOLUTION_USE_CASE_SEARCH=1 SEARCH_SOLUTION_USE_CASE_SEARCH value
+ * @property {number} SEARCH_SOLUTION_USE_CASE_BROWSE=2 SEARCH_SOLUTION_USE_CASE_BROWSE value
+ */
+ v2.SearchSolutionUseCase = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SEARCH_SOLUTION_USE_CASE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SEARCH_SOLUTION_USE_CASE_SEARCH"] = 1;
+ values[valuesById[2] = "SEARCH_SOLUTION_USE_CASE_BROWSE"] = 2;
+ return values;
+ })();
+
+ v2.Condition = (function() {
+
+ /**
+ * Properties of a Condition.
+ * @memberof google.cloud.retail.v2
+ * @interface ICondition
+ * @property {Array.|null} [queryTerms] Condition queryTerms
+ * @property {Array.|null} [activeTimeRange] Condition activeTimeRange
+ */
+
+ /**
+ * Constructs a new Condition.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a Condition.
+ * @implements ICondition
+ * @constructor
+ * @param {google.cloud.retail.v2.ICondition=} [properties] Properties to set
+ */
+ function Condition(properties) {
+ this.queryTerms = [];
+ this.activeTimeRange = [];
+ 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]];
+ }
+
+ /**
+ * Condition queryTerms.
+ * @member {Array.} queryTerms
+ * @memberof google.cloud.retail.v2.Condition
+ * @instance
+ */
+ Condition.prototype.queryTerms = $util.emptyArray;
+
+ /**
+ * Condition activeTimeRange.
+ * @member {Array.} activeTimeRange
+ * @memberof google.cloud.retail.v2.Condition
+ * @instance
+ */
+ Condition.prototype.activeTimeRange = $util.emptyArray;
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {google.cloud.retail.v2.ICondition=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Condition} Condition instance
+ */
+ Condition.create = function create(properties) {
+ return new Condition(properties);
+ };
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.cloud.retail.v2.Condition.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {google.cloud.retail.v2.ICondition} message Condition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Condition.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.queryTerms != null && message.queryTerms.length)
+ for (var i = 0; i < message.queryTerms.length; ++i)
+ $root.google.cloud.retail.v2.Condition.QueryTerm.encode(message.queryTerms[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.activeTimeRange != null && message.activeTimeRange.length)
+ for (var i = 0; i < message.activeTimeRange.length; ++i)
+ $root.google.cloud.retail.v2.Condition.TimeRange.encode(message.activeTimeRange[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {google.cloud.retail.v2.ICondition} message Condition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Condition.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Condition} Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Condition.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.retail.v2.Condition();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.queryTerms && message.queryTerms.length))
+ message.queryTerms = [];
+ message.queryTerms.push($root.google.cloud.retail.v2.Condition.QueryTerm.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.activeTimeRange && message.activeTimeRange.length))
+ message.activeTimeRange = [];
+ message.activeTimeRange.push($root.google.cloud.retail.v2.Condition.TimeRange.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Condition} Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Condition.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Condition message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Condition.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.queryTerms != null && message.hasOwnProperty("queryTerms")) {
+ if (!Array.isArray(message.queryTerms))
+ return "queryTerms: array expected";
+ for (var i = 0; i < message.queryTerms.length; ++i) {
+ var error = $root.google.cloud.retail.v2.Condition.QueryTerm.verify(message.queryTerms[i]);
+ if (error)
+ return "queryTerms." + error;
+ }
+ }
+ if (message.activeTimeRange != null && message.hasOwnProperty("activeTimeRange")) {
+ if (!Array.isArray(message.activeTimeRange))
+ return "activeTimeRange: array expected";
+ for (var i = 0; i < message.activeTimeRange.length; ++i) {
+ var error = $root.google.cloud.retail.v2.Condition.TimeRange.verify(message.activeTimeRange[i]);
+ if (error)
+ return "activeTimeRange." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Condition} Condition
+ */
+ Condition.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Condition)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Condition();
+ if (object.queryTerms) {
+ if (!Array.isArray(object.queryTerms))
+ throw TypeError(".google.cloud.retail.v2.Condition.queryTerms: array expected");
+ message.queryTerms = [];
+ for (var i = 0; i < object.queryTerms.length; ++i) {
+ if (typeof object.queryTerms[i] !== "object")
+ throw TypeError(".google.cloud.retail.v2.Condition.queryTerms: object expected");
+ message.queryTerms[i] = $root.google.cloud.retail.v2.Condition.QueryTerm.fromObject(object.queryTerms[i]);
+ }
+ }
+ if (object.activeTimeRange) {
+ if (!Array.isArray(object.activeTimeRange))
+ throw TypeError(".google.cloud.retail.v2.Condition.activeTimeRange: array expected");
+ message.activeTimeRange = [];
+ for (var i = 0; i < object.activeTimeRange.length; ++i) {
+ if (typeof object.activeTimeRange[i] !== "object")
+ throw TypeError(".google.cloud.retail.v2.Condition.activeTimeRange: object expected");
+ message.activeTimeRange[i] = $root.google.cloud.retail.v2.Condition.TimeRange.fromObject(object.activeTimeRange[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {google.cloud.retail.v2.Condition} message Condition
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Condition.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.queryTerms = [];
+ object.activeTimeRange = [];
+ }
+ if (message.queryTerms && message.queryTerms.length) {
+ object.queryTerms = [];
+ for (var j = 0; j < message.queryTerms.length; ++j)
+ object.queryTerms[j] = $root.google.cloud.retail.v2.Condition.QueryTerm.toObject(message.queryTerms[j], options);
+ }
+ if (message.activeTimeRange && message.activeTimeRange.length) {
+ object.activeTimeRange = [];
+ for (var j = 0; j < message.activeTimeRange.length; ++j)
+ object.activeTimeRange[j] = $root.google.cloud.retail.v2.Condition.TimeRange.toObject(message.activeTimeRange[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Condition to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Condition
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Condition.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Condition
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Condition
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Condition.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Condition";
+ };
+
+ Condition.QueryTerm = (function() {
+
+ /**
+ * Properties of a QueryTerm.
+ * @memberof google.cloud.retail.v2.Condition
+ * @interface IQueryTerm
+ * @property {string|null} [value] QueryTerm value
+ * @property {boolean|null} [fullMatch] QueryTerm fullMatch
+ */
+
+ /**
+ * Constructs a new QueryTerm.
+ * @memberof google.cloud.retail.v2.Condition
+ * @classdesc Represents a QueryTerm.
+ * @implements IQueryTerm
+ * @constructor
+ * @param {google.cloud.retail.v2.Condition.IQueryTerm=} [properties] Properties to set
+ */
+ function QueryTerm(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]];
+ }
+
+ /**
+ * QueryTerm value.
+ * @member {string} value
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @instance
+ */
+ QueryTerm.prototype.value = "";
+
+ /**
+ * QueryTerm fullMatch.
+ * @member {boolean} fullMatch
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @instance
+ */
+ QueryTerm.prototype.fullMatch = false;
+
+ /**
+ * Creates a new QueryTerm instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {google.cloud.retail.v2.Condition.IQueryTerm=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Condition.QueryTerm} QueryTerm instance
+ */
+ QueryTerm.create = function create(properties) {
+ return new QueryTerm(properties);
+ };
+
+ /**
+ * Encodes the specified QueryTerm message. Does not implicitly {@link google.cloud.retail.v2.Condition.QueryTerm.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {google.cloud.retail.v2.Condition.IQueryTerm} message QueryTerm message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ QueryTerm.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.value);
+ if (message.fullMatch != null && Object.hasOwnProperty.call(message, "fullMatch"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullMatch);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified QueryTerm message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.QueryTerm.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {google.cloud.retail.v2.Condition.IQueryTerm} message QueryTerm message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ QueryTerm.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Condition.QueryTerm} QueryTerm
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ QueryTerm.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.retail.v2.Condition.QueryTerm();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.value = reader.string();
+ break;
+ }
+ case 2: {
+ message.fullMatch = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a QueryTerm message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Condition.QueryTerm} QueryTerm
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ QueryTerm.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a QueryTerm message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ QueryTerm.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.value != null && message.hasOwnProperty("value"))
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ if (message.fullMatch != null && message.hasOwnProperty("fullMatch"))
+ if (typeof message.fullMatch !== "boolean")
+ return "fullMatch: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a QueryTerm message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Condition.QueryTerm} QueryTerm
+ */
+ QueryTerm.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Condition.QueryTerm)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Condition.QueryTerm();
+ if (object.value != null)
+ message.value = String(object.value);
+ if (object.fullMatch != null)
+ message.fullMatch = Boolean(object.fullMatch);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a QueryTerm message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {google.cloud.retail.v2.Condition.QueryTerm} message QueryTerm
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ QueryTerm.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.value = "";
+ object.fullMatch = false;
+ }
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = message.value;
+ if (message.fullMatch != null && message.hasOwnProperty("fullMatch"))
+ object.fullMatch = message.fullMatch;
+ return object;
+ };
+
+ /**
+ * Converts this QueryTerm to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ QueryTerm.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for QueryTerm
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Condition.QueryTerm
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ QueryTerm.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Condition.QueryTerm";
+ };
+
+ return QueryTerm;
+ })();
+
+ Condition.TimeRange = (function() {
+
+ /**
+ * Properties of a TimeRange.
+ * @memberof google.cloud.retail.v2.Condition
+ * @interface ITimeRange
+ * @property {google.protobuf.ITimestamp|null} [startTime] TimeRange startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] TimeRange endTime
+ */
+
+ /**
+ * Constructs a new TimeRange.
+ * @memberof google.cloud.retail.v2.Condition
+ * @classdesc Represents a TimeRange.
+ * @implements ITimeRange
+ * @constructor
+ * @param {google.cloud.retail.v2.Condition.ITimeRange=} [properties] Properties to set
+ */
+ function TimeRange(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]];
+ }
+
+ /**
+ * TimeRange startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @instance
+ */
+ TimeRange.prototype.startTime = null;
+
+ /**
+ * TimeRange endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @instance
+ */
+ TimeRange.prototype.endTime = null;
+
+ /**
+ * Creates a new TimeRange instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {google.cloud.retail.v2.Condition.ITimeRange=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Condition.TimeRange} TimeRange instance
+ */
+ TimeRange.create = function create(properties) {
+ return new TimeRange(properties);
+ };
+
+ /**
+ * Encodes the specified TimeRange message. Does not implicitly {@link google.cloud.retail.v2.Condition.TimeRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {google.cloud.retail.v2.Condition.ITimeRange} message TimeRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeRange.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 TimeRange message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Condition.TimeRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {google.cloud.retail.v2.Condition.ITimeRange} message TimeRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimeRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Condition.TimeRange} TimeRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeRange.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.retail.v2.Condition.TimeRange();
+ 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 TimeRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Condition.TimeRange} TimeRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimeRange message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimeRange.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 TimeRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Condition.TimeRange} TimeRange
+ */
+ TimeRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Condition.TimeRange)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Condition.TimeRange();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.retail.v2.Condition.TimeRange.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.retail.v2.Condition.TimeRange.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimeRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {google.cloud.retail.v2.Condition.TimeRange} message TimeRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimeRange.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 TimeRange to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimeRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimeRange
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Condition.TimeRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimeRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Condition.TimeRange";
+ };
+
+ return TimeRange;
+ })();
+
+ return Condition;
+ })();
+
+ v2.Rule = (function() {
+
+ /**
+ * Properties of a Rule.
+ * @memberof google.cloud.retail.v2
+ * @interface IRule
+ * @property {google.cloud.retail.v2.Rule.IBoostAction|null} [boostAction] Rule boostAction
+ * @property {google.cloud.retail.v2.Rule.IRedirectAction|null} [redirectAction] Rule redirectAction
+ * @property {google.cloud.retail.v2.Rule.IOnewaySynonymsAction|null} [onewaySynonymsAction] Rule onewaySynonymsAction
+ * @property {google.cloud.retail.v2.Rule.IDoNotAssociateAction|null} [doNotAssociateAction] Rule doNotAssociateAction
+ * @property {google.cloud.retail.v2.Rule.IReplacementAction|null} [replacementAction] Rule replacementAction
+ * @property {google.cloud.retail.v2.Rule.IIgnoreAction|null} [ignoreAction] Rule ignoreAction
+ * @property {google.cloud.retail.v2.Rule.IFilterAction|null} [filterAction] Rule filterAction
+ * @property {google.cloud.retail.v2.Rule.ITwowaySynonymsAction|null} [twowaySynonymsAction] Rule twowaySynonymsAction
+ * @property {google.cloud.retail.v2.ICondition|null} [condition] Rule condition
+ */
+
+ /**
+ * Constructs a new Rule.
+ * @memberof google.cloud.retail.v2
+ * @classdesc Represents a Rule.
+ * @implements IRule
+ * @constructor
+ * @param {google.cloud.retail.v2.IRule=} [properties] Properties to set
+ */
+ function Rule(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]];
+ }
+
+ /**
+ * Rule boostAction.
+ * @member {google.cloud.retail.v2.Rule.IBoostAction|null|undefined} boostAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.boostAction = null;
+
+ /**
+ * Rule redirectAction.
+ * @member {google.cloud.retail.v2.Rule.IRedirectAction|null|undefined} redirectAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.redirectAction = null;
+
+ /**
+ * Rule onewaySynonymsAction.
+ * @member {google.cloud.retail.v2.Rule.IOnewaySynonymsAction|null|undefined} onewaySynonymsAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.onewaySynonymsAction = null;
+
+ /**
+ * Rule doNotAssociateAction.
+ * @member {google.cloud.retail.v2.Rule.IDoNotAssociateAction|null|undefined} doNotAssociateAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.doNotAssociateAction = null;
+
+ /**
+ * Rule replacementAction.
+ * @member {google.cloud.retail.v2.Rule.IReplacementAction|null|undefined} replacementAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.replacementAction = null;
+
+ /**
+ * Rule ignoreAction.
+ * @member {google.cloud.retail.v2.Rule.IIgnoreAction|null|undefined} ignoreAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.ignoreAction = null;
+
+ /**
+ * Rule filterAction.
+ * @member {google.cloud.retail.v2.Rule.IFilterAction|null|undefined} filterAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.filterAction = null;
+
+ /**
+ * Rule twowaySynonymsAction.
+ * @member {google.cloud.retail.v2.Rule.ITwowaySynonymsAction|null|undefined} twowaySynonymsAction
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.twowaySynonymsAction = null;
+
+ /**
+ * Rule condition.
+ * @member {google.cloud.retail.v2.ICondition|null|undefined} condition
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Rule.prototype.condition = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Rule action.
+ * @member {"boostAction"|"redirectAction"|"onewaySynonymsAction"|"doNotAssociateAction"|"replacementAction"|"ignoreAction"|"filterAction"|"twowaySynonymsAction"|undefined} action
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ */
+ Object.defineProperty(Rule.prototype, "action", {
+ get: $util.oneOfGetter($oneOfFields = ["boostAction", "redirectAction", "onewaySynonymsAction", "doNotAssociateAction", "replacementAction", "ignoreAction", "filterAction", "twowaySynonymsAction"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Rule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {google.cloud.retail.v2.IRule=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule} Rule instance
+ */
+ Rule.create = function create(properties) {
+ return new Rule(properties);
+ };
+
+ /**
+ * Encodes the specified Rule message. Does not implicitly {@link google.cloud.retail.v2.Rule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {google.cloud.retail.v2.IRule} message Rule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Rule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.condition != null && Object.hasOwnProperty.call(message, "condition"))
+ $root.google.cloud.retail.v2.Condition.encode(message.condition, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.boostAction != null && Object.hasOwnProperty.call(message, "boostAction"))
+ $root.google.cloud.retail.v2.Rule.BoostAction.encode(message.boostAction, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.redirectAction != null && Object.hasOwnProperty.call(message, "redirectAction"))
+ $root.google.cloud.retail.v2.Rule.RedirectAction.encode(message.redirectAction, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.onewaySynonymsAction != null && Object.hasOwnProperty.call(message, "onewaySynonymsAction"))
+ $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction.encode(message.onewaySynonymsAction, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.doNotAssociateAction != null && Object.hasOwnProperty.call(message, "doNotAssociateAction"))
+ $root.google.cloud.retail.v2.Rule.DoNotAssociateAction.encode(message.doNotAssociateAction, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.replacementAction != null && Object.hasOwnProperty.call(message, "replacementAction"))
+ $root.google.cloud.retail.v2.Rule.ReplacementAction.encode(message.replacementAction, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.ignoreAction != null && Object.hasOwnProperty.call(message, "ignoreAction"))
+ $root.google.cloud.retail.v2.Rule.IgnoreAction.encode(message.ignoreAction, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.filterAction != null && Object.hasOwnProperty.call(message, "filterAction"))
+ $root.google.cloud.retail.v2.Rule.FilterAction.encode(message.filterAction, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.twowaySynonymsAction != null && Object.hasOwnProperty.call(message, "twowaySynonymsAction"))
+ $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction.encode(message.twowaySynonymsAction, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Rule message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {google.cloud.retail.v2.IRule} message Rule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Rule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule} Rule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Rule.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.retail.v2.Rule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.boostAction = $root.google.cloud.retail.v2.Rule.BoostAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.redirectAction = $root.google.cloud.retail.v2.Rule.RedirectAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.onewaySynonymsAction = $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.doNotAssociateAction = $root.google.cloud.retail.v2.Rule.DoNotAssociateAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.replacementAction = $root.google.cloud.retail.v2.Rule.ReplacementAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.ignoreAction = $root.google.cloud.retail.v2.Rule.IgnoreAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 10: {
+ message.filterAction = $root.google.cloud.retail.v2.Rule.FilterAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.twowaySynonymsAction = $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction.decode(reader, reader.uint32());
+ break;
+ }
+ case 1: {
+ message.condition = $root.google.cloud.retail.v2.Condition.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Rule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule} Rule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Rule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Rule message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Rule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.boostAction != null && message.hasOwnProperty("boostAction")) {
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.BoostAction.verify(message.boostAction);
+ if (error)
+ return "boostAction." + error;
+ }
+ }
+ if (message.redirectAction != null && message.hasOwnProperty("redirectAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.RedirectAction.verify(message.redirectAction);
+ if (error)
+ return "redirectAction." + error;
+ }
+ }
+ if (message.onewaySynonymsAction != null && message.hasOwnProperty("onewaySynonymsAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction.verify(message.onewaySynonymsAction);
+ if (error)
+ return "onewaySynonymsAction." + error;
+ }
+ }
+ if (message.doNotAssociateAction != null && message.hasOwnProperty("doNotAssociateAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.DoNotAssociateAction.verify(message.doNotAssociateAction);
+ if (error)
+ return "doNotAssociateAction." + error;
+ }
+ }
+ if (message.replacementAction != null && message.hasOwnProperty("replacementAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.ReplacementAction.verify(message.replacementAction);
+ if (error)
+ return "replacementAction." + error;
+ }
+ }
+ if (message.ignoreAction != null && message.hasOwnProperty("ignoreAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.IgnoreAction.verify(message.ignoreAction);
+ if (error)
+ return "ignoreAction." + error;
+ }
+ }
+ if (message.filterAction != null && message.hasOwnProperty("filterAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.FilterAction.verify(message.filterAction);
+ if (error)
+ return "filterAction." + error;
+ }
+ }
+ if (message.twowaySynonymsAction != null && message.hasOwnProperty("twowaySynonymsAction")) {
+ if (properties.action === 1)
+ return "action: multiple values";
+ properties.action = 1;
+ {
+ var error = $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction.verify(message.twowaySynonymsAction);
+ if (error)
+ return "twowaySynonymsAction." + error;
+ }
+ }
+ if (message.condition != null && message.hasOwnProperty("condition")) {
+ var error = $root.google.cloud.retail.v2.Condition.verify(message.condition);
+ if (error)
+ return "condition." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Rule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule} Rule
+ */
+ Rule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule();
+ if (object.boostAction != null) {
+ if (typeof object.boostAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.boostAction: object expected");
+ message.boostAction = $root.google.cloud.retail.v2.Rule.BoostAction.fromObject(object.boostAction);
+ }
+ if (object.redirectAction != null) {
+ if (typeof object.redirectAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.redirectAction: object expected");
+ message.redirectAction = $root.google.cloud.retail.v2.Rule.RedirectAction.fromObject(object.redirectAction);
+ }
+ if (object.onewaySynonymsAction != null) {
+ if (typeof object.onewaySynonymsAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.onewaySynonymsAction: object expected");
+ message.onewaySynonymsAction = $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction.fromObject(object.onewaySynonymsAction);
+ }
+ if (object.doNotAssociateAction != null) {
+ if (typeof object.doNotAssociateAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.doNotAssociateAction: object expected");
+ message.doNotAssociateAction = $root.google.cloud.retail.v2.Rule.DoNotAssociateAction.fromObject(object.doNotAssociateAction);
+ }
+ if (object.replacementAction != null) {
+ if (typeof object.replacementAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.replacementAction: object expected");
+ message.replacementAction = $root.google.cloud.retail.v2.Rule.ReplacementAction.fromObject(object.replacementAction);
+ }
+ if (object.ignoreAction != null) {
+ if (typeof object.ignoreAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.ignoreAction: object expected");
+ message.ignoreAction = $root.google.cloud.retail.v2.Rule.IgnoreAction.fromObject(object.ignoreAction);
+ }
+ if (object.filterAction != null) {
+ if (typeof object.filterAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.filterAction: object expected");
+ message.filterAction = $root.google.cloud.retail.v2.Rule.FilterAction.fromObject(object.filterAction);
+ }
+ if (object.twowaySynonymsAction != null) {
+ if (typeof object.twowaySynonymsAction !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.twowaySynonymsAction: object expected");
+ message.twowaySynonymsAction = $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction.fromObject(object.twowaySynonymsAction);
+ }
+ if (object.condition != null) {
+ if (typeof object.condition !== "object")
+ throw TypeError(".google.cloud.retail.v2.Rule.condition: object expected");
+ message.condition = $root.google.cloud.retail.v2.Condition.fromObject(object.condition);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Rule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {google.cloud.retail.v2.Rule} message Rule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Rule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.condition = null;
+ if (message.condition != null && message.hasOwnProperty("condition"))
+ object.condition = $root.google.cloud.retail.v2.Condition.toObject(message.condition, options);
+ if (message.boostAction != null && message.hasOwnProperty("boostAction")) {
+ object.boostAction = $root.google.cloud.retail.v2.Rule.BoostAction.toObject(message.boostAction, options);
+ if (options.oneofs)
+ object.action = "boostAction";
+ }
+ if (message.redirectAction != null && message.hasOwnProperty("redirectAction")) {
+ object.redirectAction = $root.google.cloud.retail.v2.Rule.RedirectAction.toObject(message.redirectAction, options);
+ if (options.oneofs)
+ object.action = "redirectAction";
+ }
+ if (message.onewaySynonymsAction != null && message.hasOwnProperty("onewaySynonymsAction")) {
+ object.onewaySynonymsAction = $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction.toObject(message.onewaySynonymsAction, options);
+ if (options.oneofs)
+ object.action = "onewaySynonymsAction";
+ }
+ if (message.doNotAssociateAction != null && message.hasOwnProperty("doNotAssociateAction")) {
+ object.doNotAssociateAction = $root.google.cloud.retail.v2.Rule.DoNotAssociateAction.toObject(message.doNotAssociateAction, options);
+ if (options.oneofs)
+ object.action = "doNotAssociateAction";
+ }
+ if (message.replacementAction != null && message.hasOwnProperty("replacementAction")) {
+ object.replacementAction = $root.google.cloud.retail.v2.Rule.ReplacementAction.toObject(message.replacementAction, options);
+ if (options.oneofs)
+ object.action = "replacementAction";
+ }
+ if (message.ignoreAction != null && message.hasOwnProperty("ignoreAction")) {
+ object.ignoreAction = $root.google.cloud.retail.v2.Rule.IgnoreAction.toObject(message.ignoreAction, options);
+ if (options.oneofs)
+ object.action = "ignoreAction";
+ }
+ if (message.filterAction != null && message.hasOwnProperty("filterAction")) {
+ object.filterAction = $root.google.cloud.retail.v2.Rule.FilterAction.toObject(message.filterAction, options);
+ if (options.oneofs)
+ object.action = "filterAction";
+ }
+ if (message.twowaySynonymsAction != null && message.hasOwnProperty("twowaySynonymsAction")) {
+ object.twowaySynonymsAction = $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction.toObject(message.twowaySynonymsAction, options);
+ if (options.oneofs)
+ object.action = "twowaySynonymsAction";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Rule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Rule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Rule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Rule
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Rule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Rule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Rule";
+ };
+
+ Rule.BoostAction = (function() {
+
+ /**
+ * Properties of a BoostAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @interface IBoostAction
+ * @property {number|null} [boost] BoostAction boost
+ * @property {string|null} [productsFilter] BoostAction productsFilter
+ */
+
+ /**
+ * Constructs a new BoostAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @classdesc Represents a BoostAction.
+ * @implements IBoostAction
+ * @constructor
+ * @param {google.cloud.retail.v2.Rule.IBoostAction=} [properties] Properties to set
+ */
+ function BoostAction(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]];
+ }
+
+ /**
+ * BoostAction boost.
+ * @member {number} boost
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @instance
+ */
+ BoostAction.prototype.boost = 0;
+
+ /**
+ * BoostAction productsFilter.
+ * @member {string} productsFilter
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @instance
+ */
+ BoostAction.prototype.productsFilter = "";
+
+ /**
+ * Creates a new BoostAction instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IBoostAction=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule.BoostAction} BoostAction instance
+ */
+ BoostAction.create = function create(properties) {
+ return new BoostAction(properties);
+ };
+
+ /**
+ * Encodes the specified BoostAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.BoostAction.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IBoostAction} message BoostAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BoostAction.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.boost != null && Object.hasOwnProperty.call(message, "boost"))
+ writer.uint32(/* id 1, wireType 5 =*/13).float(message.boost);
+ if (message.productsFilter != null && Object.hasOwnProperty.call(message, "productsFilter"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.productsFilter);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified BoostAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.BoostAction.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IBoostAction} message BoostAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BoostAction.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule.BoostAction} BoostAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BoostAction.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.retail.v2.Rule.BoostAction();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.boost = reader.float();
+ break;
+ }
+ case 2: {
+ message.productsFilter = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a BoostAction message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule.BoostAction} BoostAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BoostAction.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a BoostAction message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ BoostAction.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.boost != null && message.hasOwnProperty("boost"))
+ if (typeof message.boost !== "number")
+ return "boost: number expected";
+ if (message.productsFilter != null && message.hasOwnProperty("productsFilter"))
+ if (!$util.isString(message.productsFilter))
+ return "productsFilter: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a BoostAction message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule.BoostAction} BoostAction
+ */
+ BoostAction.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule.BoostAction)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule.BoostAction();
+ if (object.boost != null)
+ message.boost = Number(object.boost);
+ if (object.productsFilter != null)
+ message.productsFilter = String(object.productsFilter);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a BoostAction message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.BoostAction} message BoostAction
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ BoostAction.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.boost = 0;
+ object.productsFilter = "";
+ }
+ if (message.boost != null && message.hasOwnProperty("boost"))
+ object.boost = options.json && !isFinite(message.boost) ? String(message.boost) : message.boost;
+ if (message.productsFilter != null && message.hasOwnProperty("productsFilter"))
+ object.productsFilter = message.productsFilter;
+ return object;
+ };
+
+ /**
+ * Converts this BoostAction to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ BoostAction.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for BoostAction
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Rule.BoostAction
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ BoostAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Rule.BoostAction";
+ };
+
+ return BoostAction;
+ })();
+
+ Rule.FilterAction = (function() {
+
+ /**
+ * Properties of a FilterAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @interface IFilterAction
+ * @property {string|null} [filter] FilterAction filter
+ */
+
+ /**
+ * Constructs a new FilterAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @classdesc Represents a FilterAction.
+ * @implements IFilterAction
+ * @constructor
+ * @param {google.cloud.retail.v2.Rule.IFilterAction=} [properties] Properties to set
+ */
+ function FilterAction(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]];
+ }
+
+ /**
+ * FilterAction filter.
+ * @member {string} filter
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @instance
+ */
+ FilterAction.prototype.filter = "";
+
+ /**
+ * Creates a new FilterAction instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IFilterAction=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule.FilterAction} FilterAction instance
+ */
+ FilterAction.create = function create(properties) {
+ return new FilterAction(properties);
+ };
+
+ /**
+ * Encodes the specified FilterAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.FilterAction.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IFilterAction} message FilterAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FilterAction.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FilterAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.FilterAction.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IFilterAction} message FilterAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FilterAction.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule.FilterAction} FilterAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FilterAction.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.retail.v2.Rule.FilterAction();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.filter = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FilterAction message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule.FilterAction} FilterAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FilterAction.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FilterAction message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FilterAction.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FilterAction message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule.FilterAction} FilterAction
+ */
+ FilterAction.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule.FilterAction)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule.FilterAction();
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FilterAction message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.FilterAction} message FilterAction
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FilterAction.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.filter = "";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ return object;
+ };
+
+ /**
+ * Converts this FilterAction to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FilterAction.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FilterAction
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Rule.FilterAction
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FilterAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Rule.FilterAction";
+ };
+
+ return FilterAction;
+ })();
+
+ Rule.RedirectAction = (function() {
+
+ /**
+ * Properties of a RedirectAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @interface IRedirectAction
+ * @property {string|null} [redirectUri] RedirectAction redirectUri
+ */
+
+ /**
+ * Constructs a new RedirectAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @classdesc Represents a RedirectAction.
+ * @implements IRedirectAction
+ * @constructor
+ * @param {google.cloud.retail.v2.Rule.IRedirectAction=} [properties] Properties to set
+ */
+ function RedirectAction(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]];
+ }
+
+ /**
+ * RedirectAction redirectUri.
+ * @member {string} redirectUri
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @instance
+ */
+ RedirectAction.prototype.redirectUri = "";
+
+ /**
+ * Creates a new RedirectAction instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IRedirectAction=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule.RedirectAction} RedirectAction instance
+ */
+ RedirectAction.create = function create(properties) {
+ return new RedirectAction(properties);
+ };
+
+ /**
+ * Encodes the specified RedirectAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.RedirectAction.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IRedirectAction} message RedirectAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RedirectAction.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.redirectUri != null && Object.hasOwnProperty.call(message, "redirectUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.redirectUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RedirectAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.RedirectAction.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IRedirectAction} message RedirectAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RedirectAction.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule.RedirectAction} RedirectAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RedirectAction.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.retail.v2.Rule.RedirectAction();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.redirectUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RedirectAction message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule.RedirectAction} RedirectAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RedirectAction.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RedirectAction message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RedirectAction.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.redirectUri != null && message.hasOwnProperty("redirectUri"))
+ if (!$util.isString(message.redirectUri))
+ return "redirectUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a RedirectAction message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule.RedirectAction} RedirectAction
+ */
+ RedirectAction.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule.RedirectAction)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule.RedirectAction();
+ if (object.redirectUri != null)
+ message.redirectUri = String(object.redirectUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RedirectAction message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.RedirectAction} message RedirectAction
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RedirectAction.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.redirectUri = "";
+ if (message.redirectUri != null && message.hasOwnProperty("redirectUri"))
+ object.redirectUri = message.redirectUri;
+ return object;
+ };
+
+ /**
+ * Converts this RedirectAction to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RedirectAction.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RedirectAction
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Rule.RedirectAction
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RedirectAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Rule.RedirectAction";
+ };
+
+ return RedirectAction;
+ })();
+
+ Rule.TwowaySynonymsAction = (function() {
+
+ /**
+ * Properties of a TwowaySynonymsAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @interface ITwowaySynonymsAction
+ * @property {Array.|null} [synonyms] TwowaySynonymsAction synonyms
+ */
+
+ /**
+ * Constructs a new TwowaySynonymsAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @classdesc Represents a TwowaySynonymsAction.
+ * @implements ITwowaySynonymsAction
+ * @constructor
+ * @param {google.cloud.retail.v2.Rule.ITwowaySynonymsAction=} [properties] Properties to set
+ */
+ function TwowaySynonymsAction(properties) {
+ this.synonyms = [];
+ 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]];
+ }
+
+ /**
+ * TwowaySynonymsAction synonyms.
+ * @member {Array.} synonyms
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @instance
+ */
+ TwowaySynonymsAction.prototype.synonyms = $util.emptyArray;
+
+ /**
+ * Creates a new TwowaySynonymsAction instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.ITwowaySynonymsAction=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule.TwowaySynonymsAction} TwowaySynonymsAction instance
+ */
+ TwowaySynonymsAction.create = function create(properties) {
+ return new TwowaySynonymsAction(properties);
+ };
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.ITwowaySynonymsAction} message TwowaySynonymsAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TwowaySynonymsAction.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.synonyms != null && message.synonyms.length)
+ for (var i = 0; i < message.synonyms.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.synonyms[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TwowaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.TwowaySynonymsAction.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.ITwowaySynonymsAction} message TwowaySynonymsAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TwowaySynonymsAction.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule.TwowaySynonymsAction} TwowaySynonymsAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TwowaySynonymsAction.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.retail.v2.Rule.TwowaySynonymsAction();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.synonyms && message.synonyms.length))
+ message.synonyms = [];
+ message.synonyms.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TwowaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule.TwowaySynonymsAction} TwowaySynonymsAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TwowaySynonymsAction.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TwowaySynonymsAction message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TwowaySynonymsAction.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.synonyms != null && message.hasOwnProperty("synonyms")) {
+ if (!Array.isArray(message.synonyms))
+ return "synonyms: array expected";
+ for (var i = 0; i < message.synonyms.length; ++i)
+ if (!$util.isString(message.synonyms[i]))
+ return "synonyms: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TwowaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule.TwowaySynonymsAction} TwowaySynonymsAction
+ */
+ TwowaySynonymsAction.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule.TwowaySynonymsAction();
+ if (object.synonyms) {
+ if (!Array.isArray(object.synonyms))
+ throw TypeError(".google.cloud.retail.v2.Rule.TwowaySynonymsAction.synonyms: array expected");
+ message.synonyms = [];
+ for (var i = 0; i < object.synonyms.length; ++i)
+ message.synonyms[i] = String(object.synonyms[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TwowaySynonymsAction message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.TwowaySynonymsAction} message TwowaySynonymsAction
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TwowaySynonymsAction.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.synonyms = [];
+ if (message.synonyms && message.synonyms.length) {
+ object.synonyms = [];
+ for (var j = 0; j < message.synonyms.length; ++j)
+ object.synonyms[j] = message.synonyms[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TwowaySynonymsAction to JSON.
+ * @function toJSON
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TwowaySynonymsAction.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TwowaySynonymsAction
+ * @function getTypeUrl
+ * @memberof google.cloud.retail.v2.Rule.TwowaySynonymsAction
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TwowaySynonymsAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.retail.v2.Rule.TwowaySynonymsAction";
+ };
+
+ return TwowaySynonymsAction;
+ })();
+
+ Rule.OnewaySynonymsAction = (function() {
+
+ /**
+ * Properties of an OnewaySynonymsAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @interface IOnewaySynonymsAction
+ * @property {Array.|null} [queryTerms] OnewaySynonymsAction queryTerms
+ * @property {Array.|null} [synonyms] OnewaySynonymsAction synonyms
+ * @property {Array.|null} [onewayTerms] OnewaySynonymsAction onewayTerms
+ */
+
+ /**
+ * Constructs a new OnewaySynonymsAction.
+ * @memberof google.cloud.retail.v2.Rule
+ * @classdesc Represents an OnewaySynonymsAction.
+ * @implements IOnewaySynonymsAction
+ * @constructor
+ * @param {google.cloud.retail.v2.Rule.IOnewaySynonymsAction=} [properties] Properties to set
+ */
+ function OnewaySynonymsAction(properties) {
+ this.queryTerms = [];
+ this.synonyms = [];
+ this.onewayTerms = [];
+ 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]];
+ }
+
+ /**
+ * OnewaySynonymsAction queryTerms.
+ * @member {Array.} queryTerms
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @instance
+ */
+ OnewaySynonymsAction.prototype.queryTerms = $util.emptyArray;
+
+ /**
+ * OnewaySynonymsAction synonyms.
+ * @member {Array.} synonyms
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @instance
+ */
+ OnewaySynonymsAction.prototype.synonyms = $util.emptyArray;
+
+ /**
+ * OnewaySynonymsAction onewayTerms.
+ * @member {Array.} onewayTerms
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @instance
+ */
+ OnewaySynonymsAction.prototype.onewayTerms = $util.emptyArray;
+
+ /**
+ * Creates a new OnewaySynonymsAction instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IOnewaySynonymsAction=} [properties] Properties to set
+ * @returns {google.cloud.retail.v2.Rule.OnewaySynonymsAction} OnewaySynonymsAction instance
+ */
+ OnewaySynonymsAction.create = function create(properties) {
+ return new OnewaySynonymsAction(properties);
+ };
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message. Does not implicitly {@link google.cloud.retail.v2.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IOnewaySynonymsAction} message OnewaySynonymsAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OnewaySynonymsAction.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.onewayTerms != null && message.onewayTerms.length)
+ for (var i = 0; i < message.onewayTerms.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.onewayTerms[i]);
+ if (message.queryTerms != null && message.queryTerms.length)
+ for (var i = 0; i < message.queryTerms.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.queryTerms[i]);
+ if (message.synonyms != null && message.synonyms.length)
+ for (var i = 0; i < message.synonyms.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.synonyms[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OnewaySynonymsAction message, length delimited. Does not implicitly {@link google.cloud.retail.v2.Rule.OnewaySynonymsAction.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.IOnewaySynonymsAction} message OnewaySynonymsAction message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OnewaySynonymsAction.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.retail.v2.Rule.OnewaySynonymsAction} OnewaySynonymsAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OnewaySynonymsAction.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.retail.v2.Rule.OnewaySynonymsAction();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ if (!(message.queryTerms && message.queryTerms.length))
+ message.queryTerms = [];
+ message.queryTerms.push(reader.string());
+ break;
+ }
+ case 4: {
+ if (!(message.synonyms && message.synonyms.length))
+ message.synonyms = [];
+ message.synonyms.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.onewayTerms && message.onewayTerms.length))
+ message.onewayTerms = [];
+ message.onewayTerms.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OnewaySynonymsAction message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.retail.v2.Rule.OnewaySynonymsAction} OnewaySynonymsAction
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OnewaySynonymsAction.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OnewaySynonymsAction message.
+ * @function verify
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OnewaySynonymsAction.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.queryTerms != null && message.hasOwnProperty("queryTerms")) {
+ if (!Array.isArray(message.queryTerms))
+ return "queryTerms: array expected";
+ for (var i = 0; i < message.queryTerms.length; ++i)
+ if (!$util.isString(message.queryTerms[i]))
+ return "queryTerms: string[] expected";
+ }
+ if (message.synonyms != null && message.hasOwnProperty("synonyms")) {
+ if (!Array.isArray(message.synonyms))
+ return "synonyms: array expected";
+ for (var i = 0; i < message.synonyms.length; ++i)
+ if (!$util.isString(message.synonyms[i]))
+ return "synonyms: string[] expected";
+ }
+ if (message.onewayTerms != null && message.hasOwnProperty("onewayTerms")) {
+ if (!Array.isArray(message.onewayTerms))
+ return "onewayTerms: array expected";
+ for (var i = 0; i < message.onewayTerms.length; ++i)
+ if (!$util.isString(message.onewayTerms[i]))
+ return "onewayTerms: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OnewaySynonymsAction message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.retail.v2.Rule.OnewaySynonymsAction} OnewaySynonymsAction
+ */
+ OnewaySynonymsAction.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction)
+ return object;
+ var message = new $root.google.cloud.retail.v2.Rule.OnewaySynonymsAction();
+ if (object.queryTerms) {
+ if (!Array.isArray(object.queryTerms))
+ throw TypeError(".google.cloud.retail.v2.Rule.OnewaySynonymsAction.queryTerms: array expected");
+ message.queryTerms = [];
+ for (var i = 0; i < object.queryTerms.length; ++i)
+ message.queryTerms[i] = String(object.queryTerms[i]);
+ }
+ if (object.synonyms) {
+ if (!Array.isArray(object.synonyms))
+ throw TypeError(".google.cloud.retail.v2.Rule.OnewaySynonymsAction.synonyms: array expected");
+ message.synonyms = [];
+ for (var i = 0; i < object.synonyms.length; ++i)
+ message.synonyms[i] = String(object.synonyms[i]);
+ }
+ if (object.onewayTerms) {
+ if (!Array.isArray(object.onewayTerms))
+ throw TypeError(".google.cloud.retail.v2.Rule.OnewaySynonymsAction.onewayTerms: array expected");
+ message.onewayTerms = [];
+ for (var i = 0; i < object.onewayTerms.length; ++i)
+ message.onewayTerms[i] = String(object.onewayTerms[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OnewaySynonymsAction message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.retail.v2.Rule.OnewaySynonymsAction
+ * @static
+ * @param {google.cloud.retail.v2.Rule.OnewaySynonymsAction} message OnewaySynonymsAction
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.