diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index f89a1514960..b35093bdd48 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -12,10 +12,12 @@
"packages/google-cloud-bigquery-datapolicies": "0.1.2",
"packages/google-cloud-bigquery-datatransfer": "3.1.5",
"packages/google-cloud-bigquery-reservation": "2.0.4",
- "packages/google-cloud-gkeconnect-gateway": "2.0.5",
- "packages/google-cloud-deploy": "2.2.2",
- "packages/google-cloud-dataplex": "2.2.2",
"packages/google-cloud-certificatemanager": "0.6.2",
+ "packages/google-cloud-contentwarehouse": "0.1.2",
+ "packages/google-cloud-dataplex": "2.2.2",
+ "packages/google-cloud-deploy": "2.2.2",
+ "packages/google-cloud-discoveryengine": "0.2.0",
+ "packages/google-cloud-gkeconnect-gateway": "2.0.5",
"packages/google-cloud-gkemulticloud": "0.1.4",
"packages/google-cloud-language": "5.1.2",
"packages/google-cloud-memcache": "2.1.4",
@@ -27,12 +29,11 @@
"packages/google-cloud-resourcemanager": "4.1.3",
"packages/google-cloud-security-publicca": "0.1.3",
"packages/google-cloud-shell": "2.0.4",
+ "packages/google-cloud-videointelligence": "4.1.1",
"packages/google-devtools-artifactregistry": "2.0.2",
"packages/google-iam": "0.2.2",
+ "packages/google-maps-addressvalidation": "0.1.0",
"packages/google-maps-routing": "0.2.1",
"packages/google-monitoring-dashboard": "2.8.0",
- "packages/typeless-sample-bot": "1.1.0",
- "packages/google-cloud-discoveryengine": "0.2.0",
- "packages/google-cloud-contentwarehouse": "0.1.2",
- "packages/google-maps-addressvalidation": "0.1.0"
+ "packages/typeless-sample-bot": "1.1.0"
}
diff --git a/packages/google-cloud-videointelligence/.OwlBot.yaml b/packages/google-cloud-videointelligence/.OwlBot.yaml
new file mode 100644
index 00000000000..25c12805ff7
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.OwlBot.yaml
@@ -0,0 +1,23 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/videointelligence/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-videointelligence/$1
+
+begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b
+
diff --git a/packages/google-cloud-videointelligence/.eslintignore b/packages/google-cloud-videointelligence/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-videointelligence/.eslintrc.json b/packages/google-cloud-videointelligence/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-videointelligence/.gitattributes b/packages/google-cloud-videointelligence/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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-videointelligence/.gitignore b/packages/google-cloud-videointelligence/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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-videointelligence/.jsdoc.js b/packages/google-cloud-videointelligence/.jsdoc.js
new file mode 100644
index 00000000000..6c816e680e9
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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/video-intelligence',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-videointelligence/.mocharc.js b/packages/google-cloud-videointelligence/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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-videointelligence/.nycrc b/packages/google-cloud-videointelligence/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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-videointelligence/.prettierignore b/packages/google-cloud-videointelligence/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-videointelligence/.prettierrc.js b/packages/google-cloud-videointelligence/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.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-videointelligence/.repo-metadata.json b/packages/google-cloud-videointelligence/.repo-metadata.json
new file mode 100644
index 00000000000..67475fd6fc5
--- /dev/null
+++ b/packages/google-cloud-videointelligence/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "name": "video",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/5084810",
+ "default_version": "v1",
+ "api_id": "videointelligence.googleapis.com",
+ "distribution_name": "@google-cloud/video-intelligence",
+ "requires_billing": true,
+ "product_documentation": "https://cloud.google.com/video-intelligence",
+ "codeowner_team": "@googleapis/ml-apis",
+ "name_pretty": "Google Cloud Video Intelligence",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/video-intelligence/latest",
+ "release_level": "stable",
+ "api_shortname": "videointelligence",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-videointelligence/CHANGELOG.md b/packages/google-cloud-videointelligence/CHANGELOG.md
new file mode 100644
index 00000000000..0792cb3cab8
--- /dev/null
+++ b/packages/google-cloud-videointelligence/CHANGELOG.md
@@ -0,0 +1,462 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/video-intelligence?activeTab=versions
+
+## [4.1.1](https://github.com/googleapis/nodejs-video-intelligence/compare/v4.1.0...v4.1.1) (2022-11-08)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#761](https://github.com/googleapis/nodejs-video-intelligence/issues/761)) ([e068bd3](https://github.com/googleapis/nodejs-video-intelligence/commit/e068bd338e9750e39f029faaf4ff52a5d5ad7d32))
+
+## [4.1.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v4.0.0...v4.1.0) (2022-09-21)
+
+
+### Features
+
+* Accept google-gax instance as a parameter ([#743](https://github.com/googleapis/nodejs-video-intelligence/issues/743)) ([293e571](https://github.com/googleapis/nodejs-video-intelligence/commit/293e5716344149040135a897dc46ca1b298c01b4))
+
+
+### Bug Fixes
+
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-video-intelligence/issues/1553)) ([#747](https://github.com/googleapis/nodejs-video-intelligence/issues/747)) ([5fc9e71](https://github.com/googleapis/nodejs-video-intelligence/commit/5fc9e71daaef572b3b077cefd165eac1d2d97841))
+
+## [4.0.0](https://github.com/googleapis/nodejs-video-intelligence/compare/v3.4.1...v4.0.0) (2022-06-29)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#714)
+* field ObjectTrackingAnnotation.segment moved into oneof, added track_id (#704)
+
+### Features
+
+* field ObjectTrackingAnnotation.segment moved into oneof, added track_id ([#704](https://github.com/googleapis/nodejs-video-intelligence/issues/704)) ([b55757b](https://github.com/googleapis/nodejs-video-intelligence/commit/b55757bedbc2563f2304a6596c50104b499f73d5))
+* support regapic LRO ([#720](https://github.com/googleapis/nodejs-video-intelligence/issues/720)) ([903e5ca](https://github.com/googleapis/nodejs-video-intelligence/commit/903e5cad702bfcaab49ed141fe503ff0d22c3b83))
+
+
+### Bug Fixes
+
+* fixes for dynamic routing and streaming descriptors ([#716](https://github.com/googleapis/nodejs-video-intelligence/issues/716)) ([853d91e](https://github.com/googleapis/nodejs-video-intelligence/commit/853d91e57929323e18ac599e52d436f0f5c3288c))
+
+
+### Build System
+
+* update library to use Node 12 ([#714](https://github.com/googleapis/nodejs-video-intelligence/issues/714)) ([a9fbbcd](https://github.com/googleapis/nodejs-video-intelligence/commit/a9fbbcd7ab5f7cc49026b3a39b89512ba21c481c))
+
+### [3.4.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.4.0...v3.4.1) (2021-09-15)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.24.1 ([#589](https://www.github.com/googleapis/nodejs-video-intelligence/issues/589)) ([6af1a84](https://www.github.com/googleapis/nodejs-video-intelligence/commit/6af1a84112ab56a3ff2862ff7a5eda0da9772244))
+
+## [3.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.6...v3.4.0) (2021-09-15)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#608](https://www.github.com/googleapis/nodejs-video-intelligence/issues/608)) ([a08a54b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a08a54b3c49464ca5b8df8ba924d244ab61665ba))
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#613](https://www.github.com/googleapis/nodejs-video-intelligence/issues/613)) ([68e079f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/68e079f1d985d60576342663a2008d316502e205))
+
+### [3.3.6](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.5...v3.3.6) (2021-07-21)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#577](https://www.github.com/googleapis/nodejs-video-intelligence/issues/577)) ([53ba013](https://www.github.com/googleapis/nodejs-video-intelligence/commit/53ba01323adff17801b05c4d976368a691bc9f4b))
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#579](https://www.github.com/googleapis/nodejs-video-intelligence/issues/579)) ([46cfd26](https://www.github.com/googleapis/nodejs-video-intelligence/commit/46cfd265981b58b04dcc26960a9f0961c424cd92))
+
+### [3.3.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.4...v3.3.5) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#573](https://www.github.com/googleapis/nodejs-video-intelligence/issues/573)) ([afb19b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/afb19b5d54518d672e761881110c69e78276f80c))
+
+### [3.3.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.3...v3.3.4) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#566](https://www.github.com/googleapis/nodejs-video-intelligence/issues/566)) ([ef7abca](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ef7abca3d3d7ba44f0fc8406ebef4a5396147bc4))
+
+### [3.3.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.2...v3.3.3) (2021-06-10)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#556](https://www.github.com/googleapis/nodejs-video-intelligence/issues/556)) ([be3a053](https://www.github.com/googleapis/nodejs-video-intelligence/commit/be3a053818f7b59825f777460e129a10ada7fd79))
+* remove doc config exception ([#553](https://www.github.com/googleapis/nodejs-video-intelligence/issues/553)) ([39d0f04](https://www.github.com/googleapis/nodejs-video-intelligence/commit/39d0f04a9f37e649dae5a2ad559d21db99665bdf))
+
+### [3.3.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.1...v3.3.2) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#544](https://www.github.com/googleapis/nodejs-video-intelligence/issues/544)) ([da8698f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/da8698f4ce5b8853da2d66597efa204f8dd476b0))
+* use require() to load JSON protos ([#548](https://www.github.com/googleapis/nodejs-video-intelligence/issues/548)) ([589b3bb](https://www.github.com/googleapis/nodejs-video-intelligence/commit/589b3bb4fc1efe7dfc382ee3d49354e1b92dc044))
+
+### [3.3.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.3.0...v3.3.1) (2021-04-19)
+
+
+### Bug Fixes
+
+* update region tag from v1beta1 to v1 for analyze-face-detection.js ([#530](https://www.github.com/googleapis/nodejs-video-intelligence/issues/530)) ([4d19f9d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/4d19f9de9e386ee92ed18d9302cddc61c2dc9865))
+
+## [3.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.2.0...v3.3.0) (2021-01-09)
+
+
+### Features
+
+* introduce tracks and thumbnails fields for FaceDetectionAnnotation ([#508](https://www.github.com/googleapis/nodejs-video-intelligence/issues/508)) ([9bfff4b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/9bfff4b941e9d52cd8c7051e8fba66a6256b854a))
+
+## [3.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.2...v3.2.0) (2020-12-08)
+
+
+### Features
+
+* person detection samples to GA ([#504](https://www.github.com/googleapis/nodejs-video-intelligence/issues/504)) ([eec2a65](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eec2a653aa635716c2d455152867ea2eef10d284))
+
+### [3.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.1...v3.1.2) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#501](https://www.github.com/googleapis/nodejs-video-intelligence/issues/501)) ([2d3aa08](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2d3aa086d02e3ee0f238c4d81daeefbe2b355c11))
+
+### [3.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.1.0...v3.1.1) (2020-11-07)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#493](https://www.github.com/googleapis/nodejs-video-intelligence/issues/493)) ([10886ef](https://www.github.com/googleapis/nodejs-video-intelligence/commit/10886efd1287c37e97788f9c377427caa6c7ea22))
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.1...v3.1.0) (2020-10-29)
+
+
+### Features
+
+* GA launch for PersonDetection and FaceDetection features ([#482](https://www.github.com/googleapis/nodejs-video-intelligence/issues/482)) ([6994bb0](https://www.github.com/googleapis/nodejs-video-intelligence/commit/6994bb0070b25a69a1ba8c47896cb7e5e18a30d9))
+
+### [3.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v3.0.0...v3.0.1) (2020-06-29)
+
+
+### Bug Fixes
+
+* handle fallback option properly ([#447](https://www.github.com/googleapis/nodejs-video-intelligence/issues/447)) ([f539818](https://www.github.com/googleapis/nodejs-video-intelligence/commit/f53981853598015e24900116e8ca9b2d18670336))
+* update node issue template ([#449](https://www.github.com/googleapis/nodejs-video-intelligence/issues/449)) ([b3fa3ef](https://www.github.com/googleapis/nodejs-video-intelligence/commit/b3fa3ef1e6648379495d5c94e8dea184b8fcec4d))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.10.0...v3.0.0) (2020-06-02)
+
+
+### ⚠ BREAKING CHANGES
+
+* synth.py clean up for multiple version (#436)
+* drop node8, remove eslint, update gax, fix generated protos, run the generator (#423)
+
+### Features
+
+* check status of long running operation by its name ([#435](https://www.github.com/googleapis/nodejs-video-intelligence/issues/435)) ([be4793e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/be4793ebf71ce03c4855b9d3a29037070d11025e))
+* drop node8, remove eslint, update gax, fix generated protos, run the generator ([#423](https://www.github.com/googleapis/nodejs-video-intelligence/issues/423)) ([d13bb42](https://www.github.com/googleapis/nodejs-video-intelligence/commit/d13bb4268f3cc6a1c58e3d53cece92db26df4ef2))
+* logo recognition update to GA ([7f02d63](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7f02d6315771b37e4ad473f16a955c4c845b1a83))
+* **v1p3beta1:** added support for streaming automl action recognition. ([#439](https://www.github.com/googleapis/nodejs-video-intelligence/issues/439)) ([2d5809d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2d5809df5293114a20752317dcf34dd2b86629e0))
+
+
+### Bug Fixes
+
+* synth.py clean up for multiple version ([#436](https://www.github.com/googleapis/nodejs-video-intelligence/issues/436)) ([fc4d36c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fc4d36c4d112ed75d5c38dd6cad76073e9234253))
+
+## [2.10.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.9.0...v2.10.0) (2020-03-18)
+
+
+### Features
+
+* expose logo recognition API proto for GA ([#402](https://www.github.com/googleapis/nodejs-video-intelligence/issues/402)) ([5812129](https://www.github.com/googleapis/nodejs-video-intelligence/commit/5812129d86ed8b0ba152c196849986362617969d))
+
+## [2.9.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.8.0...v2.9.0) (2020-03-11)
+
+
+### Features
+
+* deferred client initialization ([#389](https://www.github.com/googleapis/nodejs-video-intelligence/issues/389)) ([fdbb623](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fdbb62308f628dabf84f0a3cd7728bbe0f26a0fd))
+
+## [2.8.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.7.0...v2.8.0) (2020-03-09)
+
+
+### Features
+
+* typescript conversion on video-intelligence ([#375](https://www.github.com/googleapis/nodejs-video-intelligence/issues/375)) ([30b01d5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/30b01d5b2e5eae2c26591f916255ee4f09ea5dff))
+
+## [2.7.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.5...v2.7.0) (2020-02-13)
+
+
+### Features
+
+* face and person detection samples ([#362](https://www.github.com/googleapis/nodejs-video-intelligence/issues/362)) ([cff2f36](https://www.github.com/googleapis/nodejs-video-intelligence/commit/cff2f36a4e6294908a4e26587ed840c1ec1b03f8))
+
+
+### Bug Fixes
+
+* adds spaces to region tags, other fixes ([#369](https://www.github.com/googleapis/nodejs-video-intelligence/issues/369)) ([2b6943e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/2b6943ee0685761a0076c7b8023eed4f12f93d64))
+* fixes face and people detection region tags ([#367](https://www.github.com/googleapis/nodejs-video-intelligence/issues/367)) ([ab039b5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ab039b56b3bea27edf93c4db7c97241599d38419))
+* refactors person and face detection samples into separate files ([#370](https://www.github.com/googleapis/nodejs-video-intelligence/issues/370)) ([eb9b400](https://www.github.com/googleapis/nodejs-video-intelligence/commit/eb9b400c24bdf306d8263ec402922b3235754034))
+* updates README file with correct links ([#371](https://www.github.com/googleapis/nodejs-video-intelligence/issues/371)) ([fb2701a](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fb2701a81c7476ef06ab279a8d4572f006abe831))
+
+### [2.6.5](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.4...v2.6.5) (2020-01-29)
+
+
+### Bug Fixes
+
+* new proto annotations; .d.ts enums support strings ([#358](https://www.github.com/googleapis/nodejs-video-intelligence/issues/358)) ([fabc337](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fabc337168c70a7cead33e6b782a408d691149b1))
+
+### [2.6.4](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.3...v2.6.4) (2020-01-06)
+
+
+### Bug Fixes
+
+* no need to have smoke test here ([4922079](https://www.github.com/googleapis/nodejs-video-intelligence/commit/49220790cd78a3079efbb0705472dd52f59f04ff))
+
+### [2.6.3](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.2...v2.6.3) (2019-12-05)
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([b4ef100](https://www.github.com/googleapis/nodejs-video-intelligence/commit/b4ef100ab0bebc2beb80234d93f3a3b8905079d9))
+
+### [2.6.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.1...v2.6.2) (2019-11-18)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v15 ([#326](https://www.github.com/googleapis/nodejs-video-intelligence/issues/326)) ([849ea31](https://www.github.com/googleapis/nodejs-video-intelligence/commit/849ea311dcf3987ac823683c209cf9aad917e468))
+
+### [2.6.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.6.0...v2.6.1) (2019-11-14)
+
+
+### Bug Fixes
+
+* **docs:** snippets are now replaced in jsdoc comments ([#320](https://www.github.com/googleapis/nodejs-video-intelligence/issues/320)) ([db2a759](https://www.github.com/googleapis/nodejs-video-intelligence/commit/db2a759cadf4a554b1287b30776445237f4332b7))
+* import long into proto ts declaration file ([#321](https://www.github.com/googleapis/nodejs-video-intelligence/issues/321)) ([adbe31e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/adbe31e503edc6c1031a7ca03fb3a4fd5d78b090))
+
+## [2.6.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.2...v2.6.0) (2019-11-07)
+
+
+### Features
+
+* support celebrity recognition ([#316](https://www.github.com/googleapis/nodejs-video-intelligence/issues/316)) ([a7235d3](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a7235d301fe55936e06e7daa27daeeae341a22c2))
+
+### [2.5.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.1...v2.5.2) (2019-10-29)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#309](https://www.github.com/googleapis/nodejs-video-intelligence/issues/309)) ([deb8d2f](https://www.github.com/googleapis/nodejs-video-intelligence/commit/deb8d2fef29b949cbe76d76b88e0b26852a0c0d8))
+* **tests:** use alternate video for integration tests ([#311](https://www.github.com/googleapis/nodejs-video-intelligence/issues/311)) ([7cf9042](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7cf9042b4051c84a10537061b24757f2fc0c4f66))
+
+### [2.5.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.5.0...v2.5.1) (2019-10-12)
+
+
+### Bug Fixes
+
+* update retry logic and remove unused protos ([#307](https://www.github.com/googleapis/nodejs-video-intelligence/issues/307)) ([c42afbc](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c42afbc327958f515ad5589ed03271490fd3b4fc))
+
+## [2.5.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.4.0...v2.5.0) (2019-10-11)
+
+
+### Features
+
+* remove v1beta1 API support ([d8ffe44](https://www.github.com/googleapis/nodejs-video-intelligence/commit/d8ffe443ec7a967c4fef802b0b32b7c3a616f23d))
+
+
+### Bug Fixes
+
+* remove tests for the removed API ([#306](https://www.github.com/googleapis/nodejs-video-intelligence/issues/306)) ([4d2792c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/4d2792ca820b64aee4803cd3c34163ea3294739f))
+* use compatible version of google-gax ([82f7021](https://www.github.com/googleapis/nodejs-video-intelligence/commit/82f70216edc7e022f2d5c0589bcd7aee9b2293e9))
+
+## [2.4.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.3.0...v2.4.0) (2019-09-30)
+
+
+### Features
+
+* .d.ts for protos ([#293](https://www.github.com/googleapis/nodejs-video-intelligence/issues/293)) ([c49a0fb](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c49a0fb))
+
+## [2.3.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.2...v2.3.0) (2019-09-16)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([0a1363c](https://www.github.com/googleapis/nodejs-video-intelligence/commit/0a1363c))
+* fixed typo enableAutomaticPunctuation2 in sample ([3188368](https://www.github.com/googleapis/nodejs-video-intelligence/commit/3188368))
+
+
+### Features
+
+* add streaming automl classification samples ([#284](https://www.github.com/googleapis/nodejs-video-intelligence/issues/284)) ([7bb53d5](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7bb53d5))
+* load protos from JSON, grpc-fallback support ([#286](https://www.github.com/googleapis/nodejs-video-intelligence/issues/286)) ([a1c2898](https://www.github.com/googleapis/nodejs-video-intelligence/commit/a1c2898))
+* segment and shot label annotations support ([#281](https://www.github.com/googleapis/nodejs-video-intelligence/issues/281)) ([1787c6a](https://www.github.com/googleapis/nodejs-video-intelligence/commit/1787c6a))
+
+### [2.2.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.1...v2.2.2) (2019-08-05)
+
+
+### Bug Fixes
+
+* allow calls with no request, add JSON proto ([8fb7221](https://www.github.com/googleapis/nodejs-video-intelligence/commit/8fb7221))
+
+### [2.2.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.2.0...v2.2.1) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#266](https://www.github.com/googleapis/nodejs-video-intelligence/issues/266)) ([f992de6](https://www.github.com/googleapis/nodejs-video-intelligence/commit/f992de6))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.2...v2.2.0) (2019-06-20)
+
+
+### Features
+
+* support streaming automl configs ([#261](https://www.github.com/googleapis/nodejs-video-intelligence/issues/261)) ([ca3e0d3](https://www.github.com/googleapis/nodejs-video-intelligence/commit/ca3e0d3))
+
+### [2.1.2](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.1...v2.1.2) (2019-06-13)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#257](https://www.github.com/googleapis/nodejs-video-intelligence/issues/257)) ([fccfb8d](https://www.github.com/googleapis/nodejs-video-intelligence/commit/fccfb8d))
+
+### [2.1.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.1.0...v2.1.1) (2019-06-10)
+
+
+### Bug Fixes
+
+* Update example commands to use cloud-storage-samples bucket ([#253](https://www.github.com/googleapis/nodejs-video-intelligence/issues/253)) ([3a80413](https://www.github.com/googleapis/nodejs-video-intelligence/commit/3a80413))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.1...v2.1.0) (2019-06-05)
+
+
+### Features
+
+* add ObjectTrackingConfig and support apiEndpoint ([#249](https://www.github.com/googleapis/nodejs-video-intelligence/issues/249)) ([bac9326](https://www.github.com/googleapis/nodejs-video-intelligence/commit/bac9326))
+
+### [2.0.1](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v2.0.0...v2.0.1) (2019-05-20)
+
+
+### Bug Fixes
+
+* update min dependencies and use repo-tools to generate README ([#236](https://www.github.com/googleapis/nodejs-video-intelligence/issues/236)) ([81dfa09](https://www.github.com/googleapis/nodejs-video-intelligence/commit/81dfa09))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-video-intelligence/compare/v1.6.0...v2.0.0) (2019-05-13)
+
+
+### Bug Fixes
+
+* DEADLINE_EXCEEDED retry code is idempotent ([#234](https://www.github.com/googleapis/nodejs-video-intelligence/issues/234)) ([7a98ca6](https://www.github.com/googleapis/nodejs-video-intelligence/commit/7a98ca6))
+* **deps:** update dependency google-gax to v1 ([#233](https://www.github.com/googleapis/nodejs-video-intelligence/issues/233)) ([0ad08b2](https://www.github.com/googleapis/nodejs-video-intelligence/commit/0ad08b2))
+* DEADLINE_EXCEEDED no longer treated as idempotent and retried ([#228](https://www.github.com/googleapis/nodejs-video-intelligence/issues/228)) ([c25517e](https://www.github.com/googleapis/nodejs-video-intelligence/commit/c25517e))
+* **deps:** update dependency google-gax to ^0.26.0 ([#222](https://www.github.com/googleapis/nodejs-video-intelligence/issues/222)) ([22de82b](https://www.github.com/googleapis/nodejs-video-intelligence/commit/22de82b))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#223](https://www.github.com/googleapis/nodejs-video-intelligence/issues/223)) ([966eef9](https://www.github.com/googleapis/nodejs-video-intelligence/commit/966eef9))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#223)
+
+## v1.6.0
+
+02-21-2019 13:46 PST
+
+### Implementation Changes
+- fix: throw on invalid credentials
+
+### New Features
+- feat: generate v1p3beta1 with streaming support ([#198](https://github.com/googleapis/nodejs-video-intelligence/pull/198))
+- feat: add text detection and object mapping support ([#197](https://github.com/googleapis/nodejs-video-intelligence/pull/197))
+
+### Dependencies
+- chore(deps): update dependency mocha to v6
+- fix(deps): update dependency yargs to v13 ([#192](https://github.com/googleapis/nodejs-video-intelligence/pull/192))
+
+### Documentation
+- docs: update links in contrib guide ([#195](https://github.com/googleapis/nodejs-video-intelligence/pull/195))
+- build: create docs test npm scripts ([#191](https://github.com/googleapis/nodejs-video-intelligence/pull/191))
+- docs: update contributing path in README ([#189](https://github.com/googleapis/nodejs-video-intelligence/pull/189))
+
+### Internal / Testing Changes
+- build: use linkinator for docs test ([#194](https://github.com/googleapis/nodejs-video-intelligence/pull/194))
+- build: test using @grpc/grpc-js in CI ([#190](https://github.com/googleapis/nodejs-video-intelligence/pull/190))
+- chore: move CONTRIBUTING.md to root ([#188](https://github.com/googleapis/nodejs-video-intelligence/pull/188))
+
+## v1.5.1
+
+02-05-2019 15:05 PST
+
+### Fixes
+- fix: increase gRPC timeout window ([#139](https://github.com/googleapis/nodejs-video-intelligence/pull/139))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#183](https://github.com/googleapis/nodejs-video-intelligence/pull/183))
+- refactor: remove unused deps and fix lint ([#141](https://github.com/googleapis/nodejs-video-intelligence/pull/141))
+
+### Documentation
+- docs: add lint/fix example to contributing guide ([#185](https://github.com/googleapis/nodejs-video-intelligence/pull/185))
+- docs: remove unused long running operation message typesed to pick up changes in the API or client library generator. ([#176](https://github.com/googleapis/nodejs-video-intelligence/pull/176))
+- docs: fix filepath of example command in README ([#160](https://github.com/googleapis/nodejs-video-intelligence/pull/160))
+- docs: fix typo in samples/analyze.js ([#159](https://github.com/googleapis/nodejs-video-intelligence/pull/159))
+- docs: update readme badges ([#156](https://github.com/googleapis/nodejs-video-intelligence/pull/156))
+- docs(samples): update samples to use GA APIs ([#153](https://github.com/googleapis/nodejs-video-intelligence/pull/153))
+- docs(samples): updated samples code to use async await ([#151](https://github.com/googleapis/nodejs-video-intelligence/pull/151))
+
+## v1.5.0
+
+### New features
+- feat: add speech transcription
+
+### Documentation
+- docs(samples): video beta samples ([#123](https://github.com/googleapis/nodejs-video-intelligence/pull/123))
+
+### Internal / Testing Changes
+- chore: update issue templates ([#128](https://github.com/googleapis/nodejs-video-intelligence/pull/128))
+- chore: remove old issue template ([#124](https://github.com/googleapis/nodejs-video-intelligence/pull/124))
+- build: run tests on node11 ([#122](https://github.com/googleapis/nodejs-video-intelligence/pull/122))
+- chores(build): do not collect sponge.xml from windows builds ([#121](https://github.com/googleapis/nodejs-video-intelligence/pull/121))
+- chores(build): run codecov on continuous builds ([#120](https://github.com/googleapis/nodejs-video-intelligence/pull/120))
+- chore: update new issue template ([#119](https://github.com/googleapis/nodejs-video-intelligence/pull/119))
+
+## v1.4.1
+
+### Implementation Changes
+- chore: minor generator changes ([#110](https://github.com/googleapis/nodejs-video-intelligence/pull/110))
+
+### Internal / Testing Changes
+- build: fix codecov uploading on Kokoro ([#112](https://github.com/googleapis/nodejs-video-intelligence/pull/112))
+- Update kokoro config ([#109](https://github.com/googleapis/nodejs-video-intelligence/pull/109))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#108](https://github.com/googleapis/nodejs-video-intelligence/pull/108))
+- Update CI config ([#105](https://github.com/googleapis/nodejs-video-intelligence/pull/105))
+- test: remove appveyor config ([#106](https://github.com/googleapis/nodejs-video-intelligence/pull/106))
+- Enable prefer-const in the eslint config ([#102](https://github.com/googleapis/nodejs-video-intelligence/pull/102))
+- Enable no-var in eslint ([#101](https://github.com/googleapis/nodejs-video-intelligence/pull/101))
+
+## v1.4.0
+
+### New Features
+- feat: release v1p2beta1 client (Object tracking and Text detecting beta) ([#98](https://github.com/googleapis/nodejs-video-intelligence/pull/98))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.20.0 ([#96](https://github.com/googleapis/nodejs-video-intelligence/pull/96))
+
+### Internal / Testing Changes
+- Switch to let/const ([#97](https://github.com/googleapis/nodejs-video-intelligence/pull/97))
+- test: throw on deprecation ([#72](https://github.com/googleapis/nodejs-video-intelligence/pull/72))
+- Update CI config ([#95](https://github.com/googleapis/nodejs-video-intelligence/pull/95))
+- Retry npm install in CI ([#93](https://github.com/googleapis/nodejs-video-intelligence/pull/93))
+- add templates to synth.py ([#91](https://github.com/googleapis/nodejs-video-intelligence/pull/91))
diff --git a/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md b/packages/google-cloud-videointelligence/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-videointelligence/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-videointelligence/CONTRIBUTING.md b/packages/google-cloud-videointelligence/CONTRIBUTING.md
new file mode 100644
index 00000000000..4a96ee30466
--- /dev/null
+++ b/packages/google-cloud-videointelligence/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Google Cloud Video Intelligence 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=videointelligence.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-videointelligence/LICENSE b/packages/google-cloud-videointelligence/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-videointelligence/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-videointelligence/README.md b/packages/google-cloud-videointelligence/README.md
new file mode 100644
index 00000000000..c6c99f78390
--- /dev/null
+++ b/packages/google-cloud-videointelligence/README.md
@@ -0,0 +1,191 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Google Cloud Video Intelligence: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/video-intelligence.svg)](https://www.npmjs.org/package/@google-cloud/video-intelligence)
+
+
+
+
+Google Cloud Video Intelligence API 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-videointelligence/CHANGELOG.md).
+
+* [Google Cloud Video Intelligence Node.js Client API Reference][client-docs]
+* [Google Cloud Video Intelligence Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-videointelligence](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-videointelligence)
+
+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 Google Cloud Video Intelligence 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/video-intelligence
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud Video Intelligence library
+const videoIntelligence = require('@google-cloud/video-intelligence');
+
+// Creates a client
+const client = new videoIntelligence.VideoIntelligenceServiceClient();
+
+// The GCS uri of the video to analyze
+const gcsUri = 'gs://cloud-samples-data/video/cat.mp4';
+
+// Construct request
+const request = {
+ inputUri: gcsUri,
+ features: ['LABEL_DETECTION'],
+};
+
+// Execute request
+const [operation] = await client.annotateVideo(request);
+
+console.log(
+ 'Waiting for operation to complete... (this may take a few minutes)'
+);
+
+const [operationResult] = await operation.promise();
+
+// Gets annotations for video
+const annotations = operationResult.annotationResults[0];
+
+// Gets labels for video from its annotations
+const labels = annotations.segmentLabelAnnotations;
+labels.forEach(label => {
+ console.log(`Label ${label.entity.description} occurs at:`);
+ label.segments.forEach(segment => {
+ segment = segment.segment;
+ console.log(
+ `\tStart: ${segment.startTimeOffset.seconds}` +
+ `.${(segment.startTimeOffset.nanos / 1e6).toFixed(0)}s`
+ );
+ console.log(
+ `\tEnd: ${segment.endTimeOffset.seconds}.` +
+ `${(segment.endTimeOffset.nanos / 1e6).toFixed(0)}s`
+ );
+ });
+});
+
+```
+
+
+
+## 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 |
+| --------------------------- | --------------------------------- | ------ |
+| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1/video_intelligence_service.annotate_video.js,samples/README.md) |
+| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1beta2/video_intelligence_service.annotate_video.js,samples/README.md) |
+| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1p1beta1/video_intelligence_service.annotate_video.js,samples/README.md) |
+| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1p2beta1/video_intelligence_service.annotate_video.js,samples/README.md) |
+| Streaming_video_intelligence_service.streaming_annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1p3beta1/streaming_video_intelligence_service.streaming_annotate_video.js,samples/README.md) |
+| Video_intelligence_service.annotate_video | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.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=packages/google-cloud-videointelligence/samples/generated/v1p3beta1/video_intelligence_service.annotate_video.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/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=packages/google-cloud-videointelligence/samples/quickstart.js,samples/README.md) |
+| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-videointelligence/samples/test/quickstart.test.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=packages/google-cloud-videointelligence/samples/test/quickstart.test.js,samples/README.md) |
+
+
+
+The [Google Cloud Video Intelligence 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/video-intelligence@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/video-intelligence/latest
+[product-docs]: https://cloud.google.com/video-intelligence
+[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=videointelligence.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-videointelligence/linkinator.config.json b/packages/google-cloud-videointelligence/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-videointelligence/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-videointelligence/package.json b/packages/google-cloud-videointelligence/package.json
new file mode 100644
index 00000000000..df4b5cee22c
--- /dev/null
+++ b/packages/google-cloud-videointelligence/package.json
@@ -0,0 +1,73 @@
+{
+ "name": "@google-cloud/video-intelligence",
+ "description": "Google Cloud Video Intelligence API client for Node.js",
+ "version": "4.1.1",
+ "license": "Apache-2.0",
+ "author": "Google Inc",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-videointelligence",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src",
+ "LICENSE"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google video intelligence",
+ "video intelligence",
+ "Google Cloud Video Intelligence API"
+ ],
+ "scripts": {
+ "docs": "jsdoc -c .jsdoc.js",
+ "lint": "gts check",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "fix": "gts fix",
+ "docs-test": "linkinator docs",
+ "predocs-test": "npm run docs",
+ "prelint": "cd samples; npm link ../; npm install",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "prepare": "npm run compile",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.0.0",
+ "eslint-plugin-node": "^11.1.0",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "prettier": "^2.1.2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-videointelligence"
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto
new file mode 100644
index 00000000000..648ec475253
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1/video_intelligence.proto
@@ -0,0 +1,906 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.videointelligence.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1";
+
+// Service that implements the Video Intelligence API.
+service VideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/videos:annotate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "input_uri,features";
+ option (google.longrunning.operation_info) = {
+ response_type: "AnnotateVideoResponse"
+ metadata_type: "AnnotateVideoProgress"
+ };
+ }
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported. URIs must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify
+ // multiple videos, a video URI may include wildcards in the `object-id`.
+ // Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` must be unset.
+ string input_uri = 1;
+
+ // The video data bytes.
+ // If unset, the input video(s) should be specified via the `input_uri`.
+ // If set, `input_uri` must be unset.
+ bytes input_content = 6;
+
+ // Required. Requested video annotation features.
+ repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional. Location where the output (in JSON format) should be stored.
+ // Currently, only [Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported. These must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud region where annotation should take place. Supported cloud
+ // regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no
+ // region is specified, the region will be determined based on video file
+ // location.
+ string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video is
+ // treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // Config for LABEL_DETECTION.
+ LabelDetectionConfig label_detection_config = 2;
+
+ // Config for SHOT_CHANGE_DETECTION.
+ ShotChangeDetectionConfig shot_change_detection_config = 3;
+
+ // Config for EXPLICIT_CONTENT_DETECTION.
+ ExplicitContentDetectionConfig explicit_content_detection_config = 4;
+
+ // Config for FACE_DETECTION.
+ FaceDetectionConfig face_detection_config = 5;
+
+ // Config for SPEECH_TRANSCRIPTION.
+ SpeechTranscriptionConfig speech_transcription_config = 6;
+
+ // Config for TEXT_DETECTION.
+ TextDetectionConfig text_detection_config = 8;
+
+ // Config for PERSON_DETECTION.
+ PersonDetectionConfig person_detection_config = 11;
+
+ // Config for OBJECT_TRACKING.
+ ObjectTrackingConfig object_tracking_config = 13;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ EXPLICIT_CONTENT_DETECTION = 3;
+
+ // Human face detection.
+ FACE_DETECTION = 4;
+
+ // Speech transcription.
+ SPEECH_TRANSCRIPTION = 6;
+
+ // OCR text detection and tracking.
+ TEXT_DETECTION = 7;
+
+ // Object detection and tracking.
+ OBJECT_TRACKING = 9;
+
+ // Logo detection, tracking, and recognition.
+ LOGO_RECOGNITION = 12;
+
+ // Person detection.
+ PERSON_DETECTION = 14;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unspecified likelihood.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
+
+// Config for LABEL_DETECTION.
+message LabelDetectionConfig {
+ // What labels should be detected with LABEL_DETECTION, in addition to
+ // video-level labels or segment-level labels.
+ // If unspecified, defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 1;
+
+ // Whether the video has been shot from a stationary (i.e., non-moving)
+ // camera. When set to true, might improve detection accuracy for moving
+ // objects. Should be used with `SHOT_AND_FRAME_MODE` enabled.
+ bool stationary_camera = 2;
+
+ // Model to use for label detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 3;
+
+ // The confidence threshold we perform filtering on the labels from
+ // frame-level detection. If not set, it is set to 0.4 by default. The valid
+ // range for this threshold is [0.1, 0.9]. Any value set outside of this
+ // range will be clipped.
+ // Note: For best results, follow the default threshold. We will update
+ // the default threshold everytime when we release a new model.
+ float frame_confidence_threshold = 4;
+
+ // The confidence threshold we perform filtering on the labels from
+ // video-level and shot-level detections. If not set, it's set to 0.3 by
+ // default. The valid range for this threshold is [0.1, 0.9]. Any value set
+ // outside of this range will be clipped.
+ // Note: For best results, follow the default threshold. We will update
+ // the default threshold everytime when we release a new model.
+ float video_confidence_threshold = 5;
+}
+
+// Config for SHOT_CHANGE_DETECTION.
+message ShotChangeDetectionConfig {
+ // Model to use for shot change detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for OBJECT_TRACKING.
+message ObjectTrackingConfig {
+ // Model to use for object tracking.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for FACE_DETECTION.
+message FaceDetectionConfig {
+ // Model to use for face detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+
+ // Whether bounding boxes are included in the face annotation output.
+ bool include_bounding_boxes = 2;
+
+ // Whether to enable face attributes detection, such as glasses, dark_glasses,
+ // mouth_open etc. Ignored if 'include_bounding_boxes' is set to false.
+ bool include_attributes = 5;
+}
+
+// Config for PERSON_DETECTION.
+message PersonDetectionConfig {
+ // Whether bounding boxes are included in the person detection annotation
+ // output.
+ bool include_bounding_boxes = 1;
+
+ // Whether to enable pose landmarks detection. Ignored if
+ // 'include_bounding_boxes' is set to false.
+ bool include_pose_landmarks = 2;
+
+ // Whether to enable person attributes detection, such as cloth color (black,
+ // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair,
+ // etc.
+ // Ignored if 'include_bounding_boxes' is set to false.
+ bool include_attributes = 3;
+}
+
+// Config for EXPLICIT_CONTENT_DETECTION.
+message ExplicitContentDetectionConfig {
+ // Model to use for explicit content detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for TEXT_DETECTION.
+message TextDetectionConfig {
+ // Language hint can be specified if the language to be detected is known a
+ // priori. It can increase the accuracy of the detection. Language hint must
+ // be language code in BCP-47 format.
+ //
+ // Automatic language detection is performed if no hint is provided.
+ repeated string language_hints = 1;
+
+ // Model to use for text detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 2;
+}
+
+// Video segment.
+message VideoSegment {
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the start of the segment (inclusive).
+ google.protobuf.Duration start_time_offset = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the end of the segment (inclusive).
+ google.protobuf.Duration end_time_offset = 2;
+}
+
+// Video segment level annotation results for label detection.
+message LabelSegment {
+ // Video segment where a label was detected.
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Video frame level annotation results for label detection.
+message LabelFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Detected entity from video analysis.
+message Entity {
+ // Opaque entity ID. Some IDs may be available in
+ // [Google Knowledge Graph Search
+ // API](https://developers.google.com/knowledge-graph/).
+ string entity_id = 1;
+
+ // Textual description, e.g., `Fixed-gear bicycle`.
+ string description = 2;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Detected entity.
+ Entity entity = 1;
+
+ // Common categories for the detected entity.
+ // For example, when the label is `Terrier`, the category is likely `dog`. And
+ // in some cases there might be more than one categories e.g., `Terrier` could
+ // also be a `pet`.
+ repeated Entity category_entities = 2;
+
+ // All video segments where a label was detected.
+ repeated LabelSegment segments = 3;
+
+ // All video frames where a label was detected.
+ repeated LabelFrame frames = 4;
+
+ // Feature version.
+ string version = 5;
+}
+
+// Video frame level annotation results for explicit content.
+message ExplicitContentFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Likelihood of the pornography content..
+ Likelihood pornography_likelihood = 2;
+}
+
+// Explicit content annotation (based on per-frame visual signals only).
+// If no explicit content has been detected in a frame, no annotations are
+// present for that frame.
+message ExplicitContentAnnotation {
+ // All video frames where explicit content was detected.
+ repeated ExplicitContentFrame frames = 1;
+
+ // Feature version.
+ string version = 2;
+}
+
+// Normalized bounding box.
+// The normalized vertex coordinates are relative to the original image.
+// Range: [0, 1].
+message NormalizedBoundingBox {
+ // Left X coordinate.
+ float left = 1;
+
+ // Top Y coordinate.
+ float top = 2;
+
+ // Right X coordinate.
+ float right = 3;
+
+ // Bottom Y coordinate.
+ float bottom = 4;
+}
+
+// Face detection annotation.
+message FaceDetectionAnnotation {
+ // The face tracks with attributes.
+ repeated Track tracks = 3;
+
+ // The thumbnail of a person's face.
+ bytes thumbnail = 4;
+
+ // Feature version.
+ string version = 5;
+}
+
+// Person detection annotation per video.
+message PersonDetectionAnnotation {
+ // The detected tracks of a person.
+ repeated Track tracks = 1;
+
+ // Feature version.
+ string version = 2;
+}
+
+// Video segment level annotation results for face detection.
+message FaceSegment {
+ // Video segment where a face was detected.
+ VideoSegment segment = 1;
+}
+
+// Deprecated. No effect.
+message FaceFrame {
+ option deprecated = true;
+
+ // Normalized Bounding boxes in a frame.
+ // There can be more than one boxes if the same face is detected in multiple
+ // locations within the current frame.
+ repeated NormalizedBoundingBox normalized_bounding_boxes = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the video frame for this location.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Deprecated. No effect.
+message FaceAnnotation {
+ option deprecated = true;
+
+ // Thumbnail of a representative face view (in JPEG format).
+ bytes thumbnail = 1;
+
+ // All video segments where a face was detected.
+ repeated FaceSegment segments = 2;
+
+ // All video frames where a face was detected.
+ repeated FaceFrame frames = 3;
+}
+
+// For tracking related features.
+// An object at time_offset with attributes, and located with
+// normalized_bounding_box.
+message TimestampedObject {
+ // Normalized Bounding box in a frame, where the object is located.
+ NormalizedBoundingBox normalized_bounding_box = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the video frame for this object.
+ google.protobuf.Duration time_offset = 2;
+
+ // Optional. The attributes of the object in the bounding box.
+ repeated DetectedAttribute attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The detected landmarks.
+ repeated DetectedLandmark landmarks = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A track of an object instance.
+message Track {
+ // Video segment of a track.
+ VideoSegment segment = 1;
+
+ // The object with timestamp and attributes per frame in the track.
+ repeated TimestampedObject timestamped_objects = 2;
+
+ // Optional. Attributes in the track level.
+ repeated DetectedAttribute attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The confidence score of the tracked object.
+ float confidence = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A generic detected attribute represented by name in string format.
+message DetectedAttribute {
+ // The name of the attribute, for example, glasses, dark_glasses, mouth_open.
+ // A full list of supported type names will be provided in the document.
+ string name = 1;
+
+ // Detected attribute confidence. Range [0, 1].
+ float confidence = 2;
+
+ // Text value of the detection result. For example, the value for "HairColor"
+ // can be "black", "blonde", etc.
+ string value = 3;
+}
+
+// A generic detected landmark represented by name in string format and a 2D
+// location.
+message DetectedLandmark {
+ // The name of this landmark, for example, left_hand, right_shoulder.
+ string name = 1;
+
+ // The 2D point of the detected landmark using the normalized image
+ // coordindate system. The normalized coordinates have the range from 0 to 1.
+ NormalizedVertex point = 2;
+
+ // The confidence score of the detected landmark. Range [0, 1].
+ float confidence = 3;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Video file location in
+ // [Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Video segment on which the annotation is run.
+ VideoSegment segment = 10;
+
+ // Topical label annotations on video level or user-specified segment level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation segment_label_annotations = 2;
+
+ // Presence label annotations on video level or user-specified segment level.
+ // There is exactly one element for each unique label. Compared to the
+ // existing topical `segment_label_annotations`, this field presents more
+ // fine-grained, segment-level labels detected in video content and is made
+ // available only when the client sets `LabelDetectionConfig.model` to
+ // "builtin/latest" in the request.
+ repeated LabelAnnotation segment_presence_label_annotations = 23;
+
+ // Topical label annotations on shot level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation shot_label_annotations = 3;
+
+ // Presence label annotations on shot level. There is exactly one element for
+ // each unique label. Compared to the existing topical
+ // `shot_label_annotations`, this field presents more fine-grained, shot-level
+ // labels detected in video content and is made available only when the client
+ // sets `LabelDetectionConfig.model` to "builtin/latest" in the request.
+ repeated LabelAnnotation shot_presence_label_annotations = 24;
+
+ // Label annotations on frame level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation frame_label_annotations = 4;
+
+ // Deprecated. Please use `face_detection_annotations` instead.
+ repeated FaceAnnotation face_annotations = 5 [deprecated = true];
+
+ // Face detection annotations.
+ repeated FaceDetectionAnnotation face_detection_annotations = 13;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 6;
+
+ // Explicit content annotation.
+ ExplicitContentAnnotation explicit_annotation = 7;
+
+ // Speech transcription.
+ repeated SpeechTranscription speech_transcriptions = 11;
+
+ // OCR text detection and tracking.
+ // Annotations for list of detected text snippets. Each will have list of
+ // frame information associated with it.
+ repeated TextAnnotation text_annotations = 12;
+
+ // Annotations for list of objects detected and tracked in video.
+ repeated ObjectTrackingAnnotation object_annotations = 14;
+
+ // Annotations for list of logos detected, tracked and recognized in video.
+ repeated LogoRecognitionAnnotation logo_recognition_annotations = 19;
+
+ // Person detection annotations.
+ repeated PersonDetectionAnnotation person_detection_annotations = 20;
+
+ // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
+ // some videos may succeed and some may fail.
+ google.rpc.Status error = 9;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Video file location in
+ // [Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Approximate percentage processed thus far. Guaranteed to be
+ // 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+
+ // Specifies which feature is being tracked if the request contains more than
+ // one feature.
+ Feature feature = 5;
+
+ // Specifies which segment is being tracked if the request contains more than
+ // one segment.
+ VideoSegment segment = 6;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// Config for SPEECH_TRANSCRIPTION.
+message SpeechTranscriptionConfig {
+ // Required. *Required* The language of the supplied audio as a
+ // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
+ // Example: "en-US".
+ // See [Language Support](https://cloud.google.com/speech/docs/languages)
+ // for a list of the currently supported language codes.
+ string language_code = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Maximum number of recognition hypotheses to be returned.
+ // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
+ // within each `SpeechTranscription`. The server may return fewer than
+ // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
+ // return a maximum of one. If omitted, will return a maximum of one.
+ int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set to `true`, the server will attempt to filter out
+ // profanities, replacing all but the initial character in each filtered word
+ // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
+ // won't be filtered out.
+ bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A means to provide context to assist the speech recognition.
+ repeated SpeechContext speech_contexts = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If 'true', adds punctuation to recognition result hypotheses.
+ // This feature is only available in select languages. Setting this for
+ // requests in other languages has no effect at all. The default 'false' value
+ // does not add punctuation to result hypotheses. NOTE: "This is currently
+ // offered as an experimental service, complimentary to all users. In the
+ // future this may be exclusively available as a premium feature."
+ bool enable_automatic_punctuation = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. For file formats, such as MXF or MKV, supporting multiple audio
+ // tracks, specify up to two tracks. Default: track 0.
+ repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If 'true', enables speaker detection for each recognized word in
+ // the top alternative of the recognition result using a speaker_tag provided
+ // in the WordInfo.
+ // Note: When this is true, we send all the words from the beginning of the
+ // audio for the top alternative in every consecutive response.
+ // This is done in order to improve our speaker tags as our models learn to
+ // identify the speakers in the conversation over time.
+ bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set, specifies the estimated number of speakers in the
+ // conversation. If not set, defaults to '2'. Ignored unless
+ // enable_speaker_diarization is set to true.
+ int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If `true`, the top result includes a list of words and the
+ // confidence for those words. If `false`, no word-level confidence
+ // information is returned. The default is `false`.
+ bool enable_word_confidence = 9 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Provides "hints" to the speech recognizer to favor specific words and phrases
+// in the results.
+message SpeechContext {
+ // Optional. A list of strings containing words and phrases "hints" so that
+ // the speech recognition is more likely to recognize them. This can be used
+ // to improve the accuracy for specific words and phrases, for example, if
+ // specific commands are typically spoken by the user. This can also be used
+ // to add additional words to the vocabulary of the recognizer. See
+ // [usage limits](https://cloud.google.com/speech/limits#content).
+ repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A speech recognition result corresponding to a portion of the audio.
+message SpeechTranscription {
+ // May contain one or more recognition hypotheses (up to the maximum specified
+ // in `max_alternatives`). These alternatives are ordered in terms of
+ // accuracy, with the top (first) alternative being the most probable, as
+ // ranked by the recognizer.
+ repeated SpeechRecognitionAlternative alternatives = 1;
+
+ // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
+ // language tag of the language in this result. This language code was
+ // detected to have the most likelihood of being spoken in the audio.
+ string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Alternative hypotheses (a.k.a. n-best list).
+message SpeechRecognitionAlternative {
+ // Transcript text representing the words that the user spoke.
+ string transcript = 1;
+
+ // Output only. The confidence estimate between 0.0 and 1.0. A higher number
+ // indicates an estimated greater likelihood that the recognized words are
+ // correct. This field is set only for the top alternative.
+ // This field is not guaranteed to be accurate and users should not rely on it
+ // to be always provided.
+ // The default of 0.0 is a sentinel value indicating `confidence` was not set.
+ float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of word-specific information for each recognized word.
+ // Note: When `enable_speaker_diarization` is set to true, you will see all
+ // the words from the beginning of the audio.
+ repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Word-specific information for recognized words. Word information is only
+// included in the response when certain request parameters are set, such
+// as `enable_word_time_offsets`.
+message WordInfo {
+ // Time offset relative to the beginning of the audio, and
+ // corresponding to the start of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration start_time = 1;
+
+ // Time offset relative to the beginning of the audio, and
+ // corresponding to the end of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration end_time = 2;
+
+ // The word corresponding to this set of information.
+ string word = 3;
+
+ // Output only. The confidence estimate between 0.0 and 1.0. A higher number
+ // indicates an estimated greater likelihood that the recognized words are
+ // correct. This field is set only for the top alternative.
+ // This field is not guaranteed to be accurate and users should not rely on it
+ // to be always provided.
+ // The default of 0.0 is a sentinel value indicating `confidence` was not set.
+ float confidence = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A distinct integer value is assigned for every speaker within
+ // the audio. This field specifies which one of those speakers was detected to
+ // have spoken this word. Value ranges from 1 up to diarization_speaker_count,
+ // and is only set if speaker diarization is enabled.
+ int32 speaker_tag = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A vertex represents a 2D point in the image.
+// NOTE: the normalized vertex coordinates are relative to the original image
+// and range from 0 to 1.
+message NormalizedVertex {
+ // X coordinate.
+ float x = 1;
+
+ // Y coordinate.
+ float y = 2;
+}
+
+// Normalized bounding polygon for text (that might not be aligned with axis).
+// Contains list of the corner points in clockwise order starting from
+// top-left corner. For example, for a rectangular bounding box:
+// When the text is horizontal it might look like:
+// 0----1
+// | |
+// 3----2
+//
+// When it's clockwise rotated 180 degrees around the top-left corner it
+// becomes:
+// 2----3
+// | |
+// 1----0
+//
+// and the vertex order will still be (0, 1, 2, 3). Note that values can be less
+// than 0, or greater than 1 due to trignometric calculations for location of
+// the box.
+message NormalizedBoundingPoly {
+ // Normalized vertices of the bounding polygon.
+ repeated NormalizedVertex vertices = 1;
+}
+
+// Video segment level annotation results for text detection.
+message TextSegment {
+ // Video segment where a text snippet was detected.
+ VideoSegment segment = 1;
+
+ // Confidence for the track of detected text. It is calculated as the highest
+ // over all frames where OCR detected text appears.
+ float confidence = 2;
+
+ // Information related to the frames where OCR detected text appears.
+ repeated TextFrame frames = 3;
+}
+
+// Video frame level annotation results for text annotation (OCR).
+// Contains information regarding timestamp and bounding box locations for the
+// frames containing detected OCR text snippets.
+message TextFrame {
+ // Bounding polygon of the detected text for this frame.
+ NormalizedBoundingPoly rotated_bounding_box = 1;
+
+ // Timestamp of this frame.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations related to one detected OCR text snippet. This will contain the
+// corresponding text, confidence value, and frame level information for each
+// detection.
+message TextAnnotation {
+ // The detected text.
+ string text = 1;
+
+ // All video segments where OCR detected text appears.
+ repeated TextSegment segments = 2;
+
+ // Feature version.
+ string version = 3;
+}
+
+// Video frame level annotations for object detection and tracking. This field
+// stores per frame location, time offset, and confidence.
+message ObjectTrackingFrame {
+ // The normalized bounding box location of this object track for the frame.
+ NormalizedBoundingBox normalized_bounding_box = 1;
+
+ // The timestamp of the frame in microseconds.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations corresponding to one tracked object.
+message ObjectTrackingAnnotation {
+ // Different representation of tracking info in non-streaming batch
+ // and streaming modes.
+ oneof track_info {
+ // Non-streaming batch mode ONLY.
+ // Each object track corresponds to one video segment where it appears.
+ VideoSegment segment = 3;
+
+ // Streaming mode ONLY.
+ // In streaming mode, we do not know the end time of a tracked object
+ // before it is completed. Hence, there is no VideoSegment info returned.
+ // Instead, we provide a unique identifiable integer track_id so that
+ // the customers can correlate the results of the ongoing
+ // ObjectTrackAnnotation of the same track_id over time.
+ int64 track_id = 5;
+ }
+
+ // Entity to specify the object category that this track is labeled as.
+ Entity entity = 1;
+
+ // Object category's labeling confidence of this track.
+ float confidence = 4;
+
+ // Information corresponding to all frames where this object track appears.
+ // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame
+ // messages in frames.
+ // Streaming mode: it can only be one ObjectTrackingFrame message in frames.
+ repeated ObjectTrackingFrame frames = 2;
+
+ // Feature version.
+ string version = 6;
+}
+
+// Annotation corresponding to one detected, tracked and recognized logo class.
+message LogoRecognitionAnnotation {
+ // Entity category information to specify the logo class that all the logo
+ // tracks within this LogoRecognitionAnnotation are recognized as.
+ Entity entity = 1;
+
+ // All logo tracks where the recognized logo appears. Each track corresponds
+ // to one logo instance appearing in consecutive frames.
+ repeated Track tracks = 2;
+
+ // All video segments where the recognized logo appears. There might be
+ // multiple instances of the same logo class appearing in one VideoSegment.
+ repeated VideoSegment segments = 3;
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto
new file mode 100644
index 00000000000..430776bf003
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta1/video_intelligence.proto
@@ -0,0 +1,345 @@
+// Copyright 2017 Google Inc.
+//
+// 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.videointelligence.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta1;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1beta1";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta1";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1beta1";
+
+// Service that implements Google Cloud Video Intelligence API.
+service VideoIntelligenceService {
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/videos:annotate"
+ body: "*"
+ };
+ }
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request URIs](/storage/docs/reference-uris). A video
+ // URI may include wildcards in `object-id`, and thus identify multiple
+ // videos. Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` should be unset.
+ string input_uri = 1;
+
+ // The video data bytes. Encoding: base64. If unset, the input video(s)
+ // should be specified via `input_uri`. If set, `input_uri` should be unset.
+ string input_content = 6;
+
+ // Requested video annotation features.
+ repeated Feature features = 2;
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional location where the output (in JSON format) should be stored.
+ // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request URIs](/storage/docs/reference-uris).
+ string output_uri = 4;
+
+ // Optional cloud region where annotation should take place. Supported cloud
+ // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
+ // is specified, a region will be determined based on video file location.
+ string location_id = 5;
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video
+ // is treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // If label detection has been requested, what labels should be detected
+ // in addition to video-level labels or segment-level labels. If unspecified,
+ // defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 2;
+
+ // Whether the video has been shot from a stationary (i.e. non-moving) camera.
+ // When set to true, might improve detection accuracy for moving objects.
+ bool stationary_camera = 3;
+
+ // Model to use for label detection.
+ // Supported values: "latest" and "stable" (the default).
+ string label_detection_model = 4;
+
+ // Model to use for face detection.
+ // Supported values: "latest" and "stable" (the default).
+ string face_detection_model = 5;
+
+ // Model to use for shot change detection.
+ // Supported values: "latest" and "stable" (the default).
+ string shot_change_detection_model = 6;
+
+ // Model to use for safe search detection.
+ // Supported values: "latest" and "stable" (the default).
+ string safe_search_detection_model = 7;
+}
+
+// Video segment.
+message VideoSegment {
+ // Start offset in microseconds (inclusive). Unset means 0.
+ int64 start_time_offset = 1;
+
+ // End offset in microseconds (inclusive). Unset means 0.
+ int64 end_time_offset = 2;
+}
+
+// Label location.
+message LabelLocation {
+ // Video segment. Set to [-1, -1] for video-level labels.
+ // Set to [timestamp, timestamp] for frame-level labels.
+ // Otherwise, corresponds to one of `AnnotateSpec.segments`
+ // (if specified) or to shot boundaries (if requested).
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+
+ // Label level.
+ LabelLevel level = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Textual description, e.g. `Fixed-gear bicycle`.
+ string description = 1;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 2;
+
+ // Where the label was detected and with what confidence.
+ repeated LabelLocation locations = 3;
+}
+
+// Safe search annotation (based on per-frame visual signals only).
+// If no unsafe content has been detected in a frame, no annotations
+// are present for that frame. If only some types of unsafe content
+// have been detected in a frame, the likelihood is set to `UNKNOWN`
+// for all other types of unsafe content.
+message SafeSearchAnnotation {
+ // Likelihood of adult content.
+ Likelihood adult = 1;
+
+ // Likelihood that an obvious modification was made to the original
+ // version to make it appear funny or offensive.
+ Likelihood spoof = 2;
+
+ // Likelihood of medical content.
+ Likelihood medical = 3;
+
+ // Likelihood of violent content.
+ Likelihood violent = 4;
+
+ // Likelihood of racy content.
+ Likelihood racy = 5;
+
+ // Video time offset in microseconds.
+ int64 time_offset = 6;
+}
+
+// Bounding box.
+message BoundingBox {
+ // Left X coordinate.
+ int32 left = 1;
+
+ // Right X coordinate.
+ int32 right = 2;
+
+ // Bottom Y coordinate.
+ int32 bottom = 3;
+
+ // Top Y coordinate.
+ int32 top = 4;
+}
+
+// Face location.
+message FaceLocation {
+ // Bounding box in a frame.
+ BoundingBox bounding_box = 1;
+
+ // Video time offset in microseconds.
+ int64 time_offset = 2;
+}
+
+// Face annotation.
+message FaceAnnotation {
+ // Thumbnail of a representative face view (in JPEG format). Encoding: base64.
+ string thumbnail = 1;
+
+ // All locations where a face was detected.
+ // Faces are detected and tracked on a per-video basis
+ // (as opposed to across multiple videos).
+ repeated VideoSegment segments = 2;
+
+ // Face locations at one frame per second.
+ repeated FaceLocation locations = 3;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Label annotations. There is exactly one element for each unique label.
+ repeated LabelAnnotation label_annotations = 2;
+
+ // Face annotations. There is exactly one element for each unique face.
+ repeated FaceAnnotation face_annotations = 3;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 4;
+
+ // Safe search annotations.
+ repeated SafeSearchAnnotation safe_search_annotations = 6;
+
+ // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
+ // some videos may succeed and some may fail.
+ google.rpc.Status error = 5;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Approximate percentage processed thus far.
+ // Guaranteed to be 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Human face detection and tracking.
+ FACE_DETECTION = 2;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 3;
+
+ // Safe search detection.
+ SAFE_SEARCH_DETECTION = 4;
+}
+
+// Label level (scope).
+enum LabelLevel {
+ // Unspecified.
+ LABEL_LEVEL_UNSPECIFIED = 0;
+
+ // Video-level. Corresponds to the whole video.
+ VIDEO_LEVEL = 1;
+
+ // Segment-level. Corresponds to one of `AnnotateSpec.segments`.
+ SEGMENT_LEVEL = 2;
+
+ // Shot-level. Corresponds to a single shot (i.e. a series of frames
+ // without a major camera position or background change).
+ SHOT_LEVEL = 3;
+
+ // Frame-level. Corresponds to a single video frame.
+ FRAME_LEVEL = 4;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unknown likelihood.
+ UNKNOWN = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto
new file mode 100644
index 00000000000..81648c523ec
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1beta2/video_intelligence.proto
@@ -0,0 +1,410 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.cloud.videointelligence.v1beta2;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1Beta2";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1beta2;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1beta2";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1beta2";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1beta2";
+
+// Service that implements Google Cloud Video Intelligence API.
+service VideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta2/videos:annotate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "input_uri,features";
+ option (google.longrunning.operation_info) = {
+ response_type: "AnnotateVideoResponse"
+ metadata_type: "AnnotateVideoProgress"
+ };
+ }
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI
+ // may include wildcards in `object-id`, and thus identify multiple videos.
+ // Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` should be unset.
+ string input_uri = 1;
+
+ // The video data bytes.
+ // If unset, the input video(s) should be specified via `input_uri`.
+ // If set, `input_uri` should be unset.
+ bytes input_content = 6;
+
+ // Required. Requested video annotation features.
+ repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional. Location where the output (in JSON format) should be stored.
+ // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud region where annotation should take place. Supported cloud
+ // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
+ // is specified, a region will be determined based on video file location.
+ string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video is
+ // treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // Config for LABEL_DETECTION.
+ LabelDetectionConfig label_detection_config = 2;
+
+ // Config for SHOT_CHANGE_DETECTION.
+ ShotChangeDetectionConfig shot_change_detection_config = 3;
+
+ // Config for EXPLICIT_CONTENT_DETECTION.
+ ExplicitContentDetectionConfig explicit_content_detection_config = 4;
+
+ // Config for FACE_DETECTION.
+ FaceDetectionConfig face_detection_config = 5;
+}
+
+// Config for LABEL_DETECTION.
+message LabelDetectionConfig {
+ // What labels should be detected with LABEL_DETECTION, in addition to
+ // video-level labels or segment-level labels.
+ // If unspecified, defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 1;
+
+ // Whether the video has been shot from a stationary (i.e. non-moving) camera.
+ // When set to true, might improve detection accuracy for moving objects.
+ // Should be used with `SHOT_AND_FRAME_MODE` enabled.
+ bool stationary_camera = 2;
+
+ // Model to use for label detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 3;
+}
+
+// Config for SHOT_CHANGE_DETECTION.
+message ShotChangeDetectionConfig {
+ // Model to use for shot change detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for EXPLICIT_CONTENT_DETECTION.
+message ExplicitContentDetectionConfig {
+ // Model to use for explicit content detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for FACE_DETECTION.
+message FaceDetectionConfig {
+ // Model to use for face detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+
+ // Whether bounding boxes be included in the face annotation output.
+ bool include_bounding_boxes = 2;
+}
+
+// Video segment.
+message VideoSegment {
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the start of the segment (inclusive).
+ google.protobuf.Duration start_time_offset = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the end of the segment (inclusive).
+ google.protobuf.Duration end_time_offset = 2;
+}
+
+// Video segment level annotation results for label detection.
+message LabelSegment {
+ // Video segment where a label was detected.
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Video frame level annotation results for label detection.
+message LabelFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Detected entity from video analysis.
+message Entity {
+ // Opaque entity ID. Some IDs may be available in
+ // [Google Knowledge Graph Search
+ // API](https://developers.google.com/knowledge-graph/).
+ string entity_id = 1;
+
+ // Textual description, e.g. `Fixed-gear bicycle`.
+ string description = 2;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Detected entity.
+ Entity entity = 1;
+
+ // Common categories for the detected entity.
+ // E.g. when the label is `Terrier` the category is likely `dog`. And in some
+ // cases there might be more than one categories e.g. `Terrier` could also be
+ // a `pet`.
+ repeated Entity category_entities = 2;
+
+ // All video segments where a label was detected.
+ repeated LabelSegment segments = 3;
+
+ // All video frames where a label was detected.
+ repeated LabelFrame frames = 4;
+}
+
+// Video frame level annotation results for explicit content.
+message ExplicitContentFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Likelihood of the pornography content..
+ Likelihood pornography_likelihood = 2;
+}
+
+// Explicit content annotation (based on per-frame visual signals only).
+// If no explicit content has been detected in a frame, no annotations are
+// present for that frame.
+message ExplicitContentAnnotation {
+ // All video frames where explicit content was detected.
+ repeated ExplicitContentFrame frames = 1;
+}
+
+// Normalized bounding box.
+// The normalized vertex coordinates are relative to the original image.
+// Range: [0, 1].
+message NormalizedBoundingBox {
+ // Left X coordinate.
+ float left = 1;
+
+ // Top Y coordinate.
+ float top = 2;
+
+ // Right X coordinate.
+ float right = 3;
+
+ // Bottom Y coordinate.
+ float bottom = 4;
+}
+
+// Video segment level annotation results for face detection.
+message FaceSegment {
+ // Video segment where a face was detected.
+ VideoSegment segment = 1;
+}
+
+// Video frame level annotation results for face detection.
+message FaceFrame {
+ // Normalized Bounding boxes in a frame.
+ // There can be more than one boxes if the same face is detected in multiple
+ // locations within the current frame.
+ repeated NormalizedBoundingBox normalized_bounding_boxes = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the video frame for this location.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Face annotation.
+message FaceAnnotation {
+ // Thumbnail of a representative face view (in JPEG format).
+ bytes thumbnail = 1;
+
+ // All video segments where a face was detected.
+ repeated FaceSegment segments = 2;
+
+ // All video frames where a face was detected.
+ repeated FaceFrame frames = 3;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Label annotations on video level or user specified segment level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation segment_label_annotations = 2;
+
+ // Label annotations on shot level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation shot_label_annotations = 3;
+
+ // Label annotations on frame level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation frame_label_annotations = 4;
+
+ // Face annotations. There is exactly one element for each unique face.
+ repeated FaceAnnotation face_annotations = 5;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 6;
+
+ // Explicit content annotation.
+ ExplicitContentAnnotation explicit_annotation = 7;
+
+ // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
+ // some videos may succeed and some may fail.
+ google.rpc.Status error = 9;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Approximate percentage processed thus far.
+ // Guaranteed to be 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ EXPLICIT_CONTENT_DETECTION = 3;
+
+ // Human face detection and tracking.
+ FACE_DETECTION = 4;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unspecified likelihood.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto
new file mode 100644
index 00000000000..3c0b8b5626c
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p1beta1/video_intelligence.proto
@@ -0,0 +1,450 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.cloud.videointelligence.v1p1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p1beta1;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1p1beta1";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p1beta1";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1p1beta1";
+
+// Service that implements Google Cloud Video Intelligence API.
+service VideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1p1beta1/videos:annotate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "input_uri,features";
+ option (google.longrunning.operation_info) = {
+ response_type: "AnnotateVideoResponse"
+ metadata_type: "AnnotateVideoProgress"
+ };
+ }
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints). A video URI
+ // may include wildcards in `object-id`, and thus identify multiple videos.
+ // Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` should be unset.
+ string input_uri = 1;
+
+ // The video data bytes.
+ // If unset, the input video(s) should be specified via `input_uri`.
+ // If set, `input_uri` should be unset.
+ bytes input_content = 6;
+
+ // Required. Requested video annotation features.
+ repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional. Location where the output (in JSON format) should be stored.
+ // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud region where annotation should take place. Supported cloud
+ // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
+ // is specified, a region will be determined based on video file location.
+ string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video is
+ // treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // Config for LABEL_DETECTION.
+ LabelDetectionConfig label_detection_config = 2;
+
+ // Config for SHOT_CHANGE_DETECTION.
+ ShotChangeDetectionConfig shot_change_detection_config = 3;
+
+ // Config for EXPLICIT_CONTENT_DETECTION.
+ ExplicitContentDetectionConfig explicit_content_detection_config = 4;
+
+ // Config for SPEECH_TRANSCRIPTION.
+ SpeechTranscriptionConfig speech_transcription_config = 6;
+}
+
+// Config for LABEL_DETECTION.
+message LabelDetectionConfig {
+ // What labels should be detected with LABEL_DETECTION, in addition to
+ // video-level labels or segment-level labels.
+ // If unspecified, defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 1;
+
+ // Whether the video has been shot from a stationary (i.e. non-moving) camera.
+ // When set to true, might improve detection accuracy for moving objects.
+ // Should be used with `SHOT_AND_FRAME_MODE` enabled.
+ bool stationary_camera = 2;
+
+ // Model to use for label detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 3;
+}
+
+// Config for SHOT_CHANGE_DETECTION.
+message ShotChangeDetectionConfig {
+ // Model to use for shot change detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for EXPLICIT_CONTENT_DETECTION.
+message ExplicitContentDetectionConfig {
+ // Model to use for explicit content detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Video segment.
+message VideoSegment {
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the start of the segment (inclusive).
+ google.protobuf.Duration start_time_offset = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the end of the segment (inclusive).
+ google.protobuf.Duration end_time_offset = 2;
+}
+
+// Video segment level annotation results for label detection.
+message LabelSegment {
+ // Video segment where a label was detected.
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Video frame level annotation results for label detection.
+message LabelFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Detected entity from video analysis.
+message Entity {
+ // Opaque entity ID. Some IDs may be available in
+ // [Google Knowledge Graph Search
+ // API](https://developers.google.com/knowledge-graph/).
+ string entity_id = 1;
+
+ // Textual description, e.g. `Fixed-gear bicycle`.
+ string description = 2;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Detected entity.
+ Entity entity = 1;
+
+ // Common categories for the detected entity.
+ // E.g. when the label is `Terrier` the category is likely `dog`. And in some
+ // cases there might be more than one categories e.g. `Terrier` could also be
+ // a `pet`.
+ repeated Entity category_entities = 2;
+
+ // All video segments where a label was detected.
+ repeated LabelSegment segments = 3;
+
+ // All video frames where a label was detected.
+ repeated LabelFrame frames = 4;
+}
+
+// Video frame level annotation results for explicit content.
+message ExplicitContentFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Likelihood of the pornography content..
+ Likelihood pornography_likelihood = 2;
+}
+
+// Explicit content annotation (based on per-frame visual signals only).
+// If no explicit content has been detected in a frame, no annotations are
+// present for that frame.
+message ExplicitContentAnnotation {
+ // All video frames where explicit content was detected.
+ repeated ExplicitContentFrame frames = 1;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Output only. Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Label annotations on video level or user specified segment level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation segment_label_annotations = 2;
+
+ // Label annotations on shot level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation shot_label_annotations = 3;
+
+ // Label annotations on frame level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation frame_label_annotations = 4;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 6;
+
+ // Explicit content annotation.
+ ExplicitContentAnnotation explicit_annotation = 7;
+
+ // Speech transcription.
+ repeated SpeechTranscription speech_transcriptions = 11;
+
+ // Output only. If set, indicates an error. Note that for a single
+ // `AnnotateVideoRequest` some videos may succeed and some may fail.
+ google.rpc.Status error = 9;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Output only. Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Output only. Approximate percentage processed thus far. Guaranteed to be
+ // 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Output only. Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Output only. Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// Config for SPEECH_TRANSCRIPTION.
+message SpeechTranscriptionConfig {
+ // Required. *Required* The language of the supplied audio as a
+ // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
+ // Example: "en-US".
+ // See [Language Support](https://cloud.google.com/speech/docs/languages)
+ // for a list of the currently supported language codes.
+ string language_code = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Maximum number of recognition hypotheses to be returned.
+ // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
+ // within each `SpeechTranscription`. The server may return fewer than
+ // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
+ // return a maximum of one. If omitted, will return a maximum of one.
+ int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set to `true`, the server will attempt to filter out
+ // profanities, replacing all but the initial character in each filtered word
+ // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
+ // won't be filtered out.
+ bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A means to provide context to assist the speech recognition.
+ repeated SpeechContext speech_contexts = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If 'true', adds punctuation to recognition result hypotheses.
+ // This feature is only available in select languages. Setting this for
+ // requests in other languages has no effect at all. The default 'false' value
+ // does not add punctuation to result hypotheses. NOTE: "This is currently
+ // offered as an experimental service, complimentary to all users. In the
+ // future this may be exclusively available as a premium feature."
+ bool enable_automatic_punctuation = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. For file formats, such as MXF or MKV, supporting multiple audio
+ // tracks, specify up to two tracks. Default: track 0.
+ repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Provides "hints" to the speech recognizer to favor specific words and phrases
+// in the results.
+message SpeechContext {
+ // Optional. A list of strings containing words and phrases "hints" so that
+ // the speech recognition is more likely to recognize them. This can be used
+ // to improve the accuracy for specific words and phrases, for example, if
+ // specific commands are typically spoken by the user. This can also be used
+ // to add additional words to the vocabulary of the recognizer. See
+ // [usage limits](https://cloud.google.com/speech/limits#content).
+ repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A speech recognition result corresponding to a portion of the audio.
+message SpeechTranscription {
+ // May contain one or more recognition hypotheses (up to the maximum specified
+ // in `max_alternatives`). These alternatives are ordered in terms of
+ // accuracy, with the top (first) alternative being the most probable, as
+ // ranked by the recognizer.
+ repeated SpeechRecognitionAlternative alternatives = 1;
+}
+
+// Alternative hypotheses (a.k.a. n-best list).
+message SpeechRecognitionAlternative {
+ // Output only. Transcript text representing the words that the user spoke.
+ string transcript = 1;
+
+ // Output only. The confidence estimate between 0.0 and 1.0. A higher number
+ // indicates an estimated greater likelihood that the recognized words are
+ // correct. This field is set only for the top alternative.
+ // This field is not guaranteed to be accurate and users should not rely on it
+ // to be always provided.
+ // The default of 0.0 is a sentinel value indicating `confidence` was not set.
+ float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of word-specific information for each recognized word.
+ repeated WordInfo words = 3;
+}
+
+// Word-specific information for recognized words. Word information is only
+// included in the response when certain request parameters are set, such
+// as `enable_word_time_offsets`.
+message WordInfo {
+ // Output only. Time offset relative to the beginning of the audio, and
+ // corresponding to the start of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration start_time = 1;
+
+ // Output only. Time offset relative to the beginning of the audio, and
+ // corresponding to the end of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration end_time = 2;
+
+ // Output only. The word corresponding to this set of information.
+ string word = 3;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ EXPLICIT_CONTENT_DETECTION = 3;
+
+ // Speech transcription.
+ SPEECH_TRANSCRIPTION = 6;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unspecified likelihood.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto
new file mode 100644
index 00000000000..c185c0aa99b
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p2beta1/video_intelligence.proto
@@ -0,0 +1,489 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.cloud.videointelligence.v1p2beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P2Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p2beta1;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1p2beta1";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p2beta1";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1p2beta1";
+
+// Service that implements Google Cloud Video Intelligence API.
+service VideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1p2beta1/videos:annotate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "input_uri,features";
+ option (google.longrunning.operation_info) = {
+ response_type: "AnnotateVideoResponse"
+ metadata_type: "AnnotateVideoProgress"
+ };
+ }
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
+ // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ // A video URI may include wildcards in `object-id`, and thus identify
+ // multiple videos. Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` should be unset.
+ string input_uri = 1;
+
+ // The video data bytes.
+ // If unset, the input video(s) should be specified via `input_uri`.
+ // If set, `input_uri` should be unset.
+ bytes input_content = 6;
+
+ // Required. Requested video annotation features.
+ repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional. Location where the output (in JSON format) should be stored.
+ // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported, which must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
+ // [Request URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud region where annotation should take place. Supported cloud
+ // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
+ // is specified, a region will be determined based on video file location.
+ string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video is
+ // treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // Config for LABEL_DETECTION.
+ LabelDetectionConfig label_detection_config = 2;
+
+ // Config for SHOT_CHANGE_DETECTION.
+ ShotChangeDetectionConfig shot_change_detection_config = 3;
+
+ // Config for EXPLICIT_CONTENT_DETECTION.
+ ExplicitContentDetectionConfig explicit_content_detection_config = 4;
+
+ // Config for TEXT_DETECTION.
+ TextDetectionConfig text_detection_config = 8;
+}
+
+// Config for LABEL_DETECTION.
+message LabelDetectionConfig {
+ // What labels should be detected with LABEL_DETECTION, in addition to
+ // video-level labels or segment-level labels.
+ // If unspecified, defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 1;
+
+ // Whether the video has been shot from a stationary (i.e. non-moving) camera.
+ // When set to true, might improve detection accuracy for moving objects.
+ // Should be used with `SHOT_AND_FRAME_MODE` enabled.
+ bool stationary_camera = 2;
+
+ // Model to use for label detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 3;
+}
+
+// Config for SHOT_CHANGE_DETECTION.
+message ShotChangeDetectionConfig {
+ // Model to use for shot change detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for EXPLICIT_CONTENT_DETECTION.
+message ExplicitContentDetectionConfig {
+ // Model to use for explicit content detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for TEXT_DETECTION.
+message TextDetectionConfig {
+ // Language hint can be specified if the language to be detected is known a
+ // priori. It can increase the accuracy of the detection. Language hint must
+ // be language code in BCP-47 format.
+ //
+ // Automatic language detection is performed if no hint is provided.
+ repeated string language_hints = 1;
+}
+
+// Video segment.
+message VideoSegment {
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the start of the segment (inclusive).
+ google.protobuf.Duration start_time_offset = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the end of the segment (inclusive).
+ google.protobuf.Duration end_time_offset = 2;
+}
+
+// Video segment level annotation results for label detection.
+message LabelSegment {
+ // Video segment where a label was detected.
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Video frame level annotation results for label detection.
+message LabelFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Detected entity from video analysis.
+message Entity {
+ // Opaque entity ID. Some IDs may be available in
+ // [Google Knowledge Graph Search
+ // API](https://developers.google.com/knowledge-graph/).
+ string entity_id = 1;
+
+ // Textual description, e.g. `Fixed-gear bicycle`.
+ string description = 2;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Detected entity.
+ Entity entity = 1;
+
+ // Common categories for the detected entity.
+ // E.g. when the label is `Terrier` the category is likely `dog`. And in some
+ // cases there might be more than one categories e.g. `Terrier` could also be
+ // a `pet`.
+ repeated Entity category_entities = 2;
+
+ // All video segments where a label was detected.
+ repeated LabelSegment segments = 3;
+
+ // All video frames where a label was detected.
+ repeated LabelFrame frames = 4;
+}
+
+// Video frame level annotation results for explicit content.
+message ExplicitContentFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Likelihood of the pornography content..
+ Likelihood pornography_likelihood = 2;
+}
+
+// Explicit content annotation (based on per-frame visual signals only).
+// If no explicit content has been detected in a frame, no annotations are
+// present for that frame.
+message ExplicitContentAnnotation {
+ // All video frames where explicit content was detected.
+ repeated ExplicitContentFrame frames = 1;
+}
+
+// Normalized bounding box.
+// The normalized vertex coordinates are relative to the original image.
+// Range: [0, 1].
+message NormalizedBoundingBox {
+ // Left X coordinate.
+ float left = 1;
+
+ // Top Y coordinate.
+ float top = 2;
+
+ // Right X coordinate.
+ float right = 3;
+
+ // Bottom Y coordinate.
+ float bottom = 4;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Label annotations on video level or user specified segment level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation segment_label_annotations = 2;
+
+ // Label annotations on shot level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation shot_label_annotations = 3;
+
+ // Label annotations on frame level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation frame_label_annotations = 4;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 6;
+
+ // Explicit content annotation.
+ ExplicitContentAnnotation explicit_annotation = 7;
+
+ // OCR text detection and tracking.
+ // Annotations for list of detected text snippets. Each will have list of
+ // frame information associated with it.
+ repeated TextAnnotation text_annotations = 12;
+
+ // Annotations for list of objects detected and tracked in video.
+ repeated ObjectTrackingAnnotation object_annotations = 14;
+
+ // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
+ // some videos may succeed and some may fail.
+ google.rpc.Status error = 9;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Video file location in
+ // [Google Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Approximate percentage processed thus far. Guaranteed to be
+ // 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// A vertex represents a 2D point in the image.
+// NOTE: the normalized vertex coordinates are relative to the original image
+// and range from 0 to 1.
+message NormalizedVertex {
+ // X coordinate.
+ float x = 1;
+
+ // Y coordinate.
+ float y = 2;
+}
+
+// Normalized bounding polygon for text (that might not be aligned with axis).
+// Contains list of the corner points in clockwise order starting from
+// top-left corner. For example, for a rectangular bounding box:
+// When the text is horizontal it might look like:
+// 0----1
+// | |
+// 3----2
+//
+// When it's clockwise rotated 180 degrees around the top-left corner it
+// becomes:
+// 2----3
+// | |
+// 1----0
+//
+// and the vertex order will still be (0, 1, 2, 3). Note that values can be less
+// than 0, or greater than 1 due to trignometric calculations for location of
+// the box.
+message NormalizedBoundingPoly {
+ // Normalized vertices of the bounding polygon.
+ repeated NormalizedVertex vertices = 1;
+}
+
+// Video segment level annotation results for text detection.
+message TextSegment {
+ // Video segment where a text snippet was detected.
+ VideoSegment segment = 1;
+
+ // Confidence for the track of detected text. It is calculated as the highest
+ // over all frames where OCR detected text appears.
+ float confidence = 2;
+
+ // Information related to the frames where OCR detected text appears.
+ repeated TextFrame frames = 3;
+}
+
+// Video frame level annotation results for text annotation (OCR).
+// Contains information regarding timestamp and bounding box locations for the
+// frames containing detected OCR text snippets.
+message TextFrame {
+ // Bounding polygon of the detected text for this frame.
+ NormalizedBoundingPoly rotated_bounding_box = 1;
+
+ // Timestamp of this frame.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations related to one detected OCR text snippet. This will contain the
+// corresponding text, confidence value, and frame level information for each
+// detection.
+message TextAnnotation {
+ // The detected text.
+ string text = 1;
+
+ // All video segments where OCR detected text appears.
+ repeated TextSegment segments = 2;
+}
+
+// Video frame level annotations for object detection and tracking. This field
+// stores per frame location, time offset, and confidence.
+message ObjectTrackingFrame {
+ // The normalized bounding box location of this object track for the frame.
+ NormalizedBoundingBox normalized_bounding_box = 1;
+
+ // The timestamp of the frame in microseconds.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations corresponding to one tracked object.
+message ObjectTrackingAnnotation {
+ // Different representation of tracking info in non-streaming batch
+ // and streaming modes.
+ oneof track_info {
+ // Non-streaming batch mode ONLY.
+ // Each object track corresponds to one video segment where it appears.
+ VideoSegment segment = 3;
+
+ // Streaming mode ONLY.
+ // In streaming mode, we do not know the end time of a tracked object
+ // before it is completed. Hence, there is no VideoSegment info returned.
+ // Instead, we provide a unique identifiable integer track_id so that
+ // the customers can correlate the results of the ongoing
+ // ObjectTrackAnnotation of the same track_id over time.
+ int64 track_id = 5;
+ }
+
+ // Entity to specify the object category that this track is labeled as.
+ Entity entity = 1;
+
+ // Object category's labeling confidence of this track.
+ float confidence = 4;
+
+ // Information corresponding to all frames where this object track appears.
+ repeated ObjectTrackingFrame frames = 2;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ EXPLICIT_CONTENT_DETECTION = 3;
+
+ // OCR text detection and tracking.
+ TEXT_DETECTION = 7;
+
+ // Object detection and tracking.
+ OBJECT_TRACKING = 9;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unspecified likelihood.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
diff --git a/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto
new file mode 100644
index 00000000000..db039e67a0c
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/google/cloud/videointelligence/v1p3beta1/video_intelligence.proto
@@ -0,0 +1,1090 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.videointelligence.v1p3beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.VideoIntelligence.V1P3Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1;videointelligence";
+option java_multiple_files = true;
+option java_outer_classname = "VideoIntelligenceServiceProto";
+option java_package = "com.google.cloud.videointelligence.v1p3beta1";
+option php_namespace = "Google\\Cloud\\VideoIntelligence\\V1p3beta1";
+option ruby_package = "Google::Cloud::VideoIntelligence::V1p3beta1";
+
+// Service that implements the Video Intelligence API.
+service VideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs asynchronous video annotation. Progress and results can be
+ // retrieved through the `google.longrunning.Operations` interface.
+ // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
+ // `Operation.response` contains `AnnotateVideoResponse` (results).
+ rpc AnnotateVideo(AnnotateVideoRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1p3beta1/videos:annotate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "input_uri,features";
+ option (google.longrunning.operation_info) = {
+ response_type: "AnnotateVideoResponse"
+ metadata_type: "AnnotateVideoProgress"
+ };
+ }
+}
+
+// Service that implements streaming Video Intelligence API.
+service StreamingVideoIntelligenceService {
+ option (google.api.default_host) = "videointelligence.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Performs video annotation with bidirectional streaming: emitting results
+ // while sending video/audio bytes.
+ // This method is only available via the gRPC API (not REST).
+ rpc StreamingAnnotateVideo(stream StreamingAnnotateVideoRequest)
+ returns (stream StreamingAnnotateVideoResponse) {}
+}
+
+// Video annotation request.
+message AnnotateVideoRequest {
+ // Input video location. Currently, only
+ // [Cloud Storage](https://cloud.google.com/storage/) URIs are
+ // supported. URIs must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints). To identify
+ // multiple videos, a video URI may include wildcards in the `object-id`.
+ // Supported wildcards: '*' to match 0 or more characters;
+ // '?' to match 1 character. If unset, the input video should be embedded
+ // in the request as `input_content`. If set, `input_content` must be unset.
+ string input_uri = 1;
+
+ // The video data bytes.
+ // If unset, the input video(s) should be specified via the `input_uri`.
+ // If set, `input_uri` must be unset.
+ bytes input_content = 6;
+
+ // Required. Requested video annotation features.
+ repeated Feature features = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional video context and/or feature-specific parameters.
+ VideoContext video_context = 3;
+
+ // Optional. Location where the output (in JSON format) should be stored.
+ // Currently, only [Cloud Storage](https://cloud.google.com/storage/)
+ // URIs are supported. These must be specified in the following format:
+ // `gs://bucket-id/object-id` (other URI formats return
+ // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
+ // more information, see [Request
+ // URIs](https://cloud.google.com/storage/docs/request-endpoints).
+ string output_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Cloud region where annotation should take place. Supported cloud
+ // regions are: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no
+ // region is specified, the region will be determined based on video file
+ // location.
+ string location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Video context and/or feature-specific parameters.
+message VideoContext {
+ // Video segments to annotate. The segments may overlap and are not required
+ // to be contiguous or span the whole video. If unspecified, each video is
+ // treated as a single segment.
+ repeated VideoSegment segments = 1;
+
+ // Config for LABEL_DETECTION.
+ LabelDetectionConfig label_detection_config = 2;
+
+ // Config for SHOT_CHANGE_DETECTION.
+ ShotChangeDetectionConfig shot_change_detection_config = 3;
+
+ // Config for EXPLICIT_CONTENT_DETECTION.
+ ExplicitContentDetectionConfig explicit_content_detection_config = 4;
+
+ // Config for FACE_DETECTION.
+ FaceDetectionConfig face_detection_config = 5;
+
+ // Config for SPEECH_TRANSCRIPTION.
+ SpeechTranscriptionConfig speech_transcription_config = 6;
+
+ // Config for TEXT_DETECTION.
+ TextDetectionConfig text_detection_config = 8;
+
+ // Config for PERSON_DETECTION.
+ PersonDetectionConfig person_detection_config = 11;
+
+ // Config for OBJECT_TRACKING.
+ ObjectTrackingConfig object_tracking_config = 13;
+}
+
+// Label detection mode.
+enum LabelDetectionMode {
+ // Unspecified.
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0;
+
+ // Detect shot-level labels.
+ SHOT_MODE = 1;
+
+ // Detect frame-level labels.
+ FRAME_MODE = 2;
+
+ // Detect both shot-level and frame-level labels.
+ SHOT_AND_FRAME_MODE = 3;
+}
+
+// Bucketized representation of likelihood.
+enum Likelihood {
+ // Unspecified likelihood.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Very unlikely.
+ VERY_UNLIKELY = 1;
+
+ // Unlikely.
+ UNLIKELY = 2;
+
+ // Possible.
+ POSSIBLE = 3;
+
+ // Likely.
+ LIKELY = 4;
+
+ // Very likely.
+ VERY_LIKELY = 5;
+}
+
+// Config for LABEL_DETECTION.
+message LabelDetectionConfig {
+ // What labels should be detected with LABEL_DETECTION, in addition to
+ // video-level labels or segment-level labels.
+ // If unspecified, defaults to `SHOT_MODE`.
+ LabelDetectionMode label_detection_mode = 1;
+
+ // Whether the video has been shot from a stationary (i.e., non-moving)
+ // camera. When set to true, might improve detection accuracy for moving
+ // objects. Should be used with `SHOT_AND_FRAME_MODE` enabled.
+ bool stationary_camera = 2;
+
+ // Model to use for label detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 3;
+
+ // The confidence threshold we perform filtering on the labels from
+ // frame-level detection. If not set, it is set to 0.4 by default. The valid
+ // range for this threshold is [0.1, 0.9]. Any value set outside of this
+ // range will be clipped.
+ // Note: For best results, follow the default threshold. We will update
+ // the default threshold everytime when we release a new model.
+ float frame_confidence_threshold = 4;
+
+ // The confidence threshold we perform filtering on the labels from
+ // video-level and shot-level detections. If not set, it's set to 0.3 by
+ // default. The valid range for this threshold is [0.1, 0.9]. Any value set
+ // outside of this range will be clipped.
+ // Note: For best results, follow the default threshold. We will update
+ // the default threshold everytime when we release a new model.
+ float video_confidence_threshold = 5;
+}
+
+// Streaming video annotation feature.
+enum StreamingFeature {
+ // Unspecified.
+ STREAMING_FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ STREAMING_LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ STREAMING_SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ STREAMING_EXPLICIT_CONTENT_DETECTION = 3;
+
+ // Object detection and tracking.
+ STREAMING_OBJECT_TRACKING = 4;
+
+ // Action recognition based on AutoML model.
+ STREAMING_AUTOML_ACTION_RECOGNITION = 23;
+
+ // Video classification based on AutoML model.
+ STREAMING_AUTOML_CLASSIFICATION = 21;
+
+ // Object detection and tracking based on AutoML model.
+ STREAMING_AUTOML_OBJECT_TRACKING = 22;
+}
+
+// Video annotation feature.
+enum Feature {
+ // Unspecified.
+ FEATURE_UNSPECIFIED = 0;
+
+ // Label detection. Detect objects, such as dog or flower.
+ LABEL_DETECTION = 1;
+
+ // Shot change detection.
+ SHOT_CHANGE_DETECTION = 2;
+
+ // Explicit content detection.
+ EXPLICIT_CONTENT_DETECTION = 3;
+
+ // Human face detection.
+ FACE_DETECTION = 4;
+
+ // Speech transcription.
+ SPEECH_TRANSCRIPTION = 6;
+
+ // OCR text detection and tracking.
+ TEXT_DETECTION = 7;
+
+ // Object detection and tracking.
+ OBJECT_TRACKING = 9;
+
+ // Logo detection, tracking, and recognition.
+ LOGO_RECOGNITION = 12;
+
+ // Celebrity recognition.
+ CELEBRITY_RECOGNITION = 13;
+
+ // Person detection.
+ PERSON_DETECTION = 14;
+}
+
+// Config for SHOT_CHANGE_DETECTION.
+message ShotChangeDetectionConfig {
+ // Model to use for shot change detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for OBJECT_TRACKING.
+message ObjectTrackingConfig {
+ // Model to use for object tracking.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for EXPLICIT_CONTENT_DETECTION.
+message ExplicitContentDetectionConfig {
+ // Model to use for explicit content detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+}
+
+// Config for FACE_DETECTION.
+message FaceDetectionConfig {
+ // Model to use for face detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 1;
+
+ // Whether bounding boxes are included in the face annotation output.
+ bool include_bounding_boxes = 2;
+
+ // Whether to enable face attributes detection, such as glasses, dark_glasses,
+ // mouth_open etc. Ignored if 'include_bounding_boxes' is set to false.
+ bool include_attributes = 5;
+}
+
+// Config for PERSON_DETECTION.
+message PersonDetectionConfig {
+ // Whether bounding boxes are included in the person detection annotation
+ // output.
+ bool include_bounding_boxes = 1;
+
+ // Whether to enable pose landmarks detection. Ignored if
+ // 'include_bounding_boxes' is set to false.
+ bool include_pose_landmarks = 2;
+
+ // Whether to enable person attributes detection, such as cloth color (black,
+ // blue, etc), type (coat, dress, etc), pattern (plain, floral, etc), hair,
+ // etc.
+ // Ignored if 'include_bounding_boxes' is set to false.
+ bool include_attributes = 3;
+}
+
+// Config for TEXT_DETECTION.
+message TextDetectionConfig {
+ // Language hint can be specified if the language to be detected is known a
+ // priori. It can increase the accuracy of the detection. Language hint must
+ // be language code in BCP-47 format.
+ //
+ // Automatic language detection is performed if no hint is provided.
+ repeated string language_hints = 1;
+
+ // Model to use for text detection.
+ // Supported values: "builtin/stable" (the default if unset) and
+ // "builtin/latest".
+ string model = 2;
+}
+
+// Video segment.
+message VideoSegment {
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the start of the segment (inclusive).
+ google.protobuf.Duration start_time_offset = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the end of the segment (inclusive).
+ google.protobuf.Duration end_time_offset = 2;
+}
+
+// Video segment level annotation results for label detection.
+message LabelSegment {
+ // Video segment where a label was detected.
+ VideoSegment segment = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Video frame level annotation results for label detection.
+message LabelFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Confidence that the label is accurate. Range: [0, 1].
+ float confidence = 2;
+}
+
+// Detected entity from video analysis.
+message Entity {
+ // Opaque entity ID. Some IDs may be available in
+ // [Google Knowledge Graph Search
+ // API](https://developers.google.com/knowledge-graph/).
+ string entity_id = 1;
+
+ // Textual description, e.g., `Fixed-gear bicycle`.
+ string description = 2;
+
+ // Language code for `description` in BCP-47 format.
+ string language_code = 3;
+}
+
+// Label annotation.
+message LabelAnnotation {
+ // Detected entity.
+ Entity entity = 1;
+
+ // Common categories for the detected entity.
+ // For example, when the label is `Terrier`, the category is likely `dog`. And
+ // in some cases there might be more than one categories e.g., `Terrier` could
+ // also be a `pet`.
+ repeated Entity category_entities = 2;
+
+ // All video segments where a label was detected.
+ repeated LabelSegment segments = 3;
+
+ // All video frames where a label was detected.
+ repeated LabelFrame frames = 4;
+}
+
+// Video frame level annotation results for explicit content.
+message ExplicitContentFrame {
+ // Time-offset, relative to the beginning of the video, corresponding to the
+ // video frame for this location.
+ google.protobuf.Duration time_offset = 1;
+
+ // Likelihood of the pornography content..
+ Likelihood pornography_likelihood = 2;
+}
+
+// Explicit content annotation (based on per-frame visual signals only).
+// If no explicit content has been detected in a frame, no annotations are
+// present for that frame.
+message ExplicitContentAnnotation {
+ // All video frames where explicit content was detected.
+ repeated ExplicitContentFrame frames = 1;
+}
+
+// Normalized bounding box.
+// The normalized vertex coordinates are relative to the original image.
+// Range: [0, 1].
+message NormalizedBoundingBox {
+ // Left X coordinate.
+ float left = 1;
+
+ // Top Y coordinate.
+ float top = 2;
+
+ // Right X coordinate.
+ float right = 3;
+
+ // Bottom Y coordinate.
+ float bottom = 4;
+}
+
+// For tracking related features.
+// An object at time_offset with attributes, and located with
+// normalized_bounding_box.
+message TimestampedObject {
+ // Normalized Bounding box in a frame, where the object is located.
+ NormalizedBoundingBox normalized_bounding_box = 1;
+
+ // Time-offset, relative to the beginning of the video,
+ // corresponding to the video frame for this object.
+ google.protobuf.Duration time_offset = 2;
+
+ // Optional. The attributes of the object in the bounding box.
+ repeated DetectedAttribute attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The detected landmarks.
+ repeated DetectedLandmark landmarks = 4
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A track of an object instance.
+message Track {
+ // Video segment of a track.
+ VideoSegment segment = 1;
+
+ // The object with timestamp and attributes per frame in the track.
+ repeated TimestampedObject timestamped_objects = 2;
+
+ // Optional. Attributes in the track level.
+ repeated DetectedAttribute attributes = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The confidence score of the tracked object.
+ float confidence = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A generic detected attribute represented by name in string format.
+message DetectedAttribute {
+ // The name of the attribute, for example, glasses, dark_glasses, mouth_open.
+ // A full list of supported type names will be provided in the document.
+ string name = 1;
+
+ // Detected attribute confidence. Range [0, 1].
+ float confidence = 2;
+
+ // Text value of the detection result. For example, the value for "HairColor"
+ // can be "black", "blonde", etc.
+ string value = 3;
+}
+
+// Celebrity definition.
+message Celebrity {
+ // The resource name of the celebrity. Have the format
+ // `video-intelligence/kg-mid` indicates a celebrity from preloaded gallery.
+ // kg-mid is the id in Google knowledge graph, which is unique for the
+ // celebrity.
+ string name = 1;
+
+ // The celebrity name.
+ string display_name = 2;
+
+ // Textual description of additional information about the celebrity, if
+ // applicable.
+ string description = 3;
+}
+
+// The annotation result of a celebrity face track. RecognizedCelebrity field
+// could be empty if the face track does not have any matched celebrities.
+message CelebrityTrack {
+ // The recognized celebrity with confidence score.
+ message RecognizedCelebrity {
+ // The recognized celebrity.
+ Celebrity celebrity = 1;
+
+ // Recognition confidence. Range [0, 1].
+ float confidence = 2;
+ }
+
+ // Top N match of the celebrities for the face in this track.
+ repeated RecognizedCelebrity celebrities = 1;
+
+ // A track of a person's face.
+ Track face_track = 3;
+}
+
+// Celebrity recognition annotation per video.
+message CelebrityRecognitionAnnotation {
+ // The tracks detected from the input video, including recognized celebrities
+ // and other detected faces in the video.
+ repeated CelebrityTrack celebrity_tracks = 1;
+}
+
+// A generic detected landmark represented by name in string format and a 2D
+// location.
+message DetectedLandmark {
+ // The name of this landmark, for example, left_hand, right_shoulder.
+ string name = 1;
+
+ // The 2D point of the detected landmark using the normalized image
+ // coordindate system. The normalized coordinates have the range from 0 to 1.
+ NormalizedVertex point = 2;
+
+ // The confidence score of the detected landmark. Range [0, 1].
+ float confidence = 3;
+}
+
+// Face detection annotation.
+message FaceDetectionAnnotation {
+ // The face tracks with attributes.
+ repeated Track tracks = 3;
+
+ // The thumbnail of a person's face.
+ bytes thumbnail = 4;
+}
+
+// Person detection annotation per video.
+message PersonDetectionAnnotation {
+ // The detected tracks of a person.
+ repeated Track tracks = 1;
+}
+
+// Annotation results for a single video.
+message VideoAnnotationResults {
+ // Video file location in
+ // [Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Video segment on which the annotation is run.
+ VideoSegment segment = 10;
+
+ // Topical label annotations on video level or user-specified segment level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation segment_label_annotations = 2;
+
+ // Presence label annotations on video level or user-specified segment level.
+ // There is exactly one element for each unique label. Compared to the
+ // existing topical `segment_label_annotations`, this field presents more
+ // fine-grained, segment-level labels detected in video content and is made
+ // available only when the client sets `LabelDetectionConfig.model` to
+ // "builtin/latest" in the request.
+ repeated LabelAnnotation segment_presence_label_annotations = 23;
+
+ // Topical label annotations on shot level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation shot_label_annotations = 3;
+
+ // Presence label annotations on shot level. There is exactly one element for
+ // each unique label. Compared to the existing topical
+ // `shot_label_annotations`, this field presents more fine-grained, shot-level
+ // labels detected in video content and is made available only when the client
+ // sets `LabelDetectionConfig.model` to "builtin/latest" in the request.
+ repeated LabelAnnotation shot_presence_label_annotations = 24;
+
+ // Label annotations on frame level.
+ // There is exactly one element for each unique label.
+ repeated LabelAnnotation frame_label_annotations = 4;
+
+ // Face detection annotations.
+ repeated FaceDetectionAnnotation face_detection_annotations = 13;
+
+ // Shot annotations. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 6;
+
+ // Explicit content annotation.
+ ExplicitContentAnnotation explicit_annotation = 7;
+
+ // Speech transcription.
+ repeated SpeechTranscription speech_transcriptions = 11;
+
+ // OCR text detection and tracking.
+ // Annotations for list of detected text snippets. Each will have list of
+ // frame information associated with it.
+ repeated TextAnnotation text_annotations = 12;
+
+ // Annotations for list of objects detected and tracked in video.
+ repeated ObjectTrackingAnnotation object_annotations = 14;
+
+ // Annotations for list of logos detected, tracked and recognized in video.
+ repeated LogoRecognitionAnnotation logo_recognition_annotations = 19;
+
+ // Person detection annotations.
+ repeated PersonDetectionAnnotation person_detection_annotations = 20;
+
+ // Celebrity recognition annotations.
+ CelebrityRecognitionAnnotation celebrity_recognition_annotations = 21;
+
+ // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
+ // some videos may succeed and some may fail.
+ google.rpc.Status error = 9;
+}
+
+// Video annotation response. Included in the `response`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoResponse {
+ // Annotation results for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationResults annotation_results = 1;
+}
+
+// Annotation progress for a single video.
+message VideoAnnotationProgress {
+ // Video file location in
+ // [Cloud Storage](https://cloud.google.com/storage/).
+ string input_uri = 1;
+
+ // Approximate percentage processed thus far. Guaranteed to be
+ // 100 when fully processed.
+ int32 progress_percent = 2;
+
+ // Time when the request was received.
+ google.protobuf.Timestamp start_time = 3;
+
+ // Time of the most recent update.
+ google.protobuf.Timestamp update_time = 4;
+
+ // Specifies which feature is being tracked if the request contains more than
+ // one feature.
+ Feature feature = 5;
+
+ // Specifies which segment is being tracked if the request contains more than
+ // one segment.
+ VideoSegment segment = 6;
+}
+
+// Video annotation progress. Included in the `metadata`
+// field of the `Operation` returned by the `GetOperation`
+// call of the `google::longrunning::Operations` service.
+message AnnotateVideoProgress {
+ // Progress metadata for all videos specified in `AnnotateVideoRequest`.
+ repeated VideoAnnotationProgress annotation_progress = 1;
+}
+
+// Config for SPEECH_TRANSCRIPTION.
+message SpeechTranscriptionConfig {
+ // Required. *Required* The language of the supplied audio as a
+ // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
+ // Example: "en-US".
+ // See [Language Support](https://cloud.google.com/speech/docs/languages)
+ // for a list of the currently supported language codes.
+ string language_code = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Maximum number of recognition hypotheses to be returned.
+ // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
+ // within each `SpeechTranscription`. The server may return fewer than
+ // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will
+ // return a maximum of one. If omitted, will return a maximum of one.
+ int32 max_alternatives = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set to `true`, the server will attempt to filter out
+ // profanities, replacing all but the initial character in each filtered word
+ // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
+ // won't be filtered out.
+ bool filter_profanity = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A means to provide context to assist the speech recognition.
+ repeated SpeechContext speech_contexts = 4
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If 'true', adds punctuation to recognition result hypotheses.
+ // This feature is only available in select languages. Setting this for
+ // requests in other languages has no effect at all. The default 'false' value
+ // does not add punctuation to result hypotheses. NOTE: "This is currently
+ // offered as an experimental service, complimentary to all users. In the
+ // future this may be exclusively available as a premium feature."
+ bool enable_automatic_punctuation = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. For file formats, such as MXF or MKV, supporting multiple audio
+ // tracks, specify up to two tracks. Default: track 0.
+ repeated int32 audio_tracks = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If 'true', enables speaker detection for each recognized word in
+ // the top alternative of the recognition result using a speaker_tag provided
+ // in the WordInfo.
+ // Note: When this is true, we send all the words from the beginning of the
+ // audio for the top alternative in every consecutive response.
+ // This is done in order to improve our speaker tags as our models learn to
+ // identify the speakers in the conversation over time.
+ bool enable_speaker_diarization = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If set, specifies the estimated number of speakers in the
+ // conversation. If not set, defaults to '2'. Ignored unless
+ // enable_speaker_diarization is set to true.
+ int32 diarization_speaker_count = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If `true`, the top result includes a list of words and the
+ // confidence for those words. If `false`, no word-level confidence
+ // information is returned. The default is `false`.
+ bool enable_word_confidence = 9 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Provides "hints" to the speech recognizer to favor specific words and phrases
+// in the results.
+message SpeechContext {
+ // Optional. A list of strings containing words and phrases "hints" so that
+ // the speech recognition is more likely to recognize them. This can be used
+ // to improve the accuracy for specific words and phrases, for example, if
+ // specific commands are typically spoken by the user. This can also be used
+ // to add additional words to the vocabulary of the recognizer. See
+ // [usage limits](https://cloud.google.com/speech/limits#content).
+ repeated string phrases = 1 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A speech recognition result corresponding to a portion of the audio.
+message SpeechTranscription {
+ // May contain one or more recognition hypotheses (up to the maximum specified
+ // in `max_alternatives`). These alternatives are ordered in terms of
+ // accuracy, with the top (first) alternative being the most probable, as
+ // ranked by the recognizer.
+ repeated SpeechRecognitionAlternative alternatives = 1;
+
+ // Output only. The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
+ // language tag of the language in this result. This language code was
+ // detected to have the most likelihood of being spoken in the audio.
+ string language_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Alternative hypotheses (a.k.a. n-best list).
+message SpeechRecognitionAlternative {
+ // Transcript text representing the words that the user spoke.
+ string transcript = 1;
+
+ // Output only. The confidence estimate between 0.0 and 1.0. A higher number
+ // indicates an estimated greater likelihood that the recognized words are
+ // correct. This field is set only for the top alternative.
+ // This field is not guaranteed to be accurate and users should not rely on it
+ // to be always provided.
+ // The default of 0.0 is a sentinel value indicating `confidence` was not set.
+ float confidence = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A list of word-specific information for each recognized word.
+ // Note: When `enable_speaker_diarization` is set to true, you will see all
+ // the words from the beginning of the audio.
+ repeated WordInfo words = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Word-specific information for recognized words. Word information is only
+// included in the response when certain request parameters are set, such
+// as `enable_word_time_offsets`.
+message WordInfo {
+ // Time offset relative to the beginning of the audio, and
+ // corresponding to the start of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration start_time = 1;
+
+ // Time offset relative to the beginning of the audio, and
+ // corresponding to the end of the spoken word. This field is only set if
+ // `enable_word_time_offsets=true` and only in the top hypothesis. This is an
+ // experimental feature and the accuracy of the time offset can vary.
+ google.protobuf.Duration end_time = 2;
+
+ // The word corresponding to this set of information.
+ string word = 3;
+
+ // Output only. The confidence estimate between 0.0 and 1.0. A higher number
+ // indicates an estimated greater likelihood that the recognized words are
+ // correct. This field is set only for the top alternative.
+ // This field is not guaranteed to be accurate and users should not rely on it
+ // to be always provided.
+ // The default of 0.0 is a sentinel value indicating `confidence` was not set.
+ float confidence = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A distinct integer value is assigned for every speaker within
+ // the audio. This field specifies which one of those speakers was detected to
+ // have spoken this word. Value ranges from 1 up to diarization_speaker_count,
+ // and is only set if speaker diarization is enabled.
+ int32 speaker_tag = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A vertex represents a 2D point in the image.
+// NOTE: the normalized vertex coordinates are relative to the original image
+// and range from 0 to 1.
+message NormalizedVertex {
+ // X coordinate.
+ float x = 1;
+
+ // Y coordinate.
+ float y = 2;
+}
+
+// Normalized bounding polygon for text (that might not be aligned with axis).
+// Contains list of the corner points in clockwise order starting from
+// top-left corner. For example, for a rectangular bounding box:
+// When the text is horizontal it might look like:
+// 0----1
+// | |
+// 3----2
+//
+// When it's clockwise rotated 180 degrees around the top-left corner it
+// becomes:
+// 2----3
+// | |
+// 1----0
+//
+// and the vertex order will still be (0, 1, 2, 3). Note that values can be less
+// than 0, or greater than 1 due to trignometric calculations for location of
+// the box.
+message NormalizedBoundingPoly {
+ // Normalized vertices of the bounding polygon.
+ repeated NormalizedVertex vertices = 1;
+}
+
+// Video segment level annotation results for text detection.
+message TextSegment {
+ // Video segment where a text snippet was detected.
+ VideoSegment segment = 1;
+
+ // Confidence for the track of detected text. It is calculated as the highest
+ // over all frames where OCR detected text appears.
+ float confidence = 2;
+
+ // Information related to the frames where OCR detected text appears.
+ repeated TextFrame frames = 3;
+}
+
+// Video frame level annotation results for text annotation (OCR).
+// Contains information regarding timestamp and bounding box locations for the
+// frames containing detected OCR text snippets.
+message TextFrame {
+ // Bounding polygon of the detected text for this frame.
+ NormalizedBoundingPoly rotated_bounding_box = 1;
+
+ // Timestamp of this frame.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations related to one detected OCR text snippet. This will contain the
+// corresponding text, confidence value, and frame level information for each
+// detection.
+message TextAnnotation {
+ // The detected text.
+ string text = 1;
+
+ // All video segments where OCR detected text appears.
+ repeated TextSegment segments = 2;
+}
+
+// Video frame level annotations for object detection and tracking. This field
+// stores per frame location, time offset, and confidence.
+message ObjectTrackingFrame {
+ // The normalized bounding box location of this object track for the frame.
+ NormalizedBoundingBox normalized_bounding_box = 1;
+
+ // The timestamp of the frame in microseconds.
+ google.protobuf.Duration time_offset = 2;
+}
+
+// Annotations corresponding to one tracked object.
+message ObjectTrackingAnnotation {
+ // Different representation of tracking info in non-streaming batch
+ // and streaming modes.
+ oneof track_info {
+ // Non-streaming batch mode ONLY.
+ // Each object track corresponds to one video segment where it appears.
+ VideoSegment segment = 3;
+
+ // Streaming mode ONLY.
+ // In streaming mode, we do not know the end time of a tracked object
+ // before it is completed. Hence, there is no VideoSegment info returned.
+ // Instead, we provide a unique identifiable integer track_id so that
+ // the customers can correlate the results of the ongoing
+ // ObjectTrackAnnotation of the same track_id over time.
+ int64 track_id = 5;
+ }
+
+ // Entity to specify the object category that this track is labeled as.
+ Entity entity = 1;
+
+ // Object category's labeling confidence of this track.
+ float confidence = 4;
+
+ // Information corresponding to all frames where this object track appears.
+ // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame
+ // messages in frames.
+ // Streaming mode: it can only be one ObjectTrackingFrame message in frames.
+ repeated ObjectTrackingFrame frames = 2;
+}
+
+// Annotation corresponding to one detected, tracked and recognized logo class.
+message LogoRecognitionAnnotation {
+ // Entity category information to specify the logo class that all the logo
+ // tracks within this LogoRecognitionAnnotation are recognized as.
+ Entity entity = 1;
+
+ // All logo tracks where the recognized logo appears. Each track corresponds
+ // to one logo instance appearing in consecutive frames.
+ repeated Track tracks = 2;
+
+ // All video segments where the recognized logo appears. There might be
+ // multiple instances of the same logo class appearing in one VideoSegment.
+ repeated VideoSegment segments = 3;
+}
+
+// The top-level message sent by the client for the `StreamingAnnotateVideo`
+// method. Multiple `StreamingAnnotateVideoRequest` messages are sent.
+// The first message must only contain a `StreamingVideoConfig` message.
+// All subsequent messages must only contain `input_content` data.
+message StreamingAnnotateVideoRequest {
+ // *Required* The streaming request, which is either a streaming config or
+ // video content.
+ oneof streaming_request {
+ // Provides information to the annotator, specifing how to process the
+ // request. The first `AnnotateStreamingVideoRequest` message must only
+ // contain a `video_config` message.
+ StreamingVideoConfig video_config = 1;
+
+ // The video data to be annotated. Chunks of video data are sequentially
+ // sent in `StreamingAnnotateVideoRequest` messages. Except the initial
+ // `StreamingAnnotateVideoRequest` message containing only
+ // `video_config`, all subsequent `AnnotateStreamingVideoRequest`
+ // messages must only contain `input_content` field.
+ // Note: as with all bytes fields, protobuffers use a pure binary
+ // representation (not base64).
+ bytes input_content = 2;
+ }
+}
+
+// Provides information to the annotator that specifies how to process the
+// request.
+message StreamingVideoConfig {
+ // Config for requested annotation feature.
+ oneof streaming_config {
+ // Config for STREAMING_SHOT_CHANGE_DETECTION.
+ StreamingShotChangeDetectionConfig shot_change_detection_config = 2;
+
+ // Config for STREAMING_LABEL_DETECTION.
+ StreamingLabelDetectionConfig label_detection_config = 3;
+
+ // Config for STREAMING_EXPLICIT_CONTENT_DETECTION.
+ StreamingExplicitContentDetectionConfig explicit_content_detection_config =
+ 4;
+
+ // Config for STREAMING_OBJECT_TRACKING.
+ StreamingObjectTrackingConfig object_tracking_config = 5;
+
+ // Config for STREAMING_AUTOML_ACTION_RECOGNITION.
+ StreamingAutomlActionRecognitionConfig automl_action_recognition_config =
+ 23;
+
+ // Config for STREAMING_AUTOML_CLASSIFICATION.
+ StreamingAutomlClassificationConfig automl_classification_config = 21;
+
+ // Config for STREAMING_AUTOML_OBJECT_TRACKING.
+ StreamingAutomlObjectTrackingConfig automl_object_tracking_config = 22;
+ }
+
+ // Requested annotation feature.
+ StreamingFeature feature = 1;
+
+ // Streaming storage option. By default: storage is disabled.
+ StreamingStorageConfig storage_config = 30;
+}
+
+// `StreamingAnnotateVideoResponse` is the only message returned to the client
+// by `StreamingAnnotateVideo`. A series of zero or more
+// `StreamingAnnotateVideoResponse` messages are streamed back to the client.
+message StreamingAnnotateVideoResponse {
+ // If set, returns a [google.rpc.Status][google.rpc.Status] message that
+ // specifies the error for the operation.
+ google.rpc.Status error = 1;
+
+ // Streaming annotation results.
+ StreamingVideoAnnotationResults annotation_results = 2;
+
+ // Google Cloud Storage(GCS) URI that stores annotation results of one
+ // streaming session in JSON format.
+ // It is the annotation_result_storage_directory
+ // from the request followed by '/cloud_project_number-session_id'.
+ string annotation_results_uri = 3;
+}
+
+// Streaming annotation results corresponding to a portion of the video
+// that is currently being processed.
+message StreamingVideoAnnotationResults {
+ // Shot annotation results. Each shot is represented as a video segment.
+ repeated VideoSegment shot_annotations = 1;
+
+ // Label annotation results.
+ repeated LabelAnnotation label_annotations = 2;
+
+ // Explicit content annotation results.
+ ExplicitContentAnnotation explicit_annotation = 3;
+
+ // Object tracking results.
+ repeated ObjectTrackingAnnotation object_annotations = 4;
+}
+
+// Config for STREAMING_SHOT_CHANGE_DETECTION.
+message StreamingShotChangeDetectionConfig {}
+
+// Config for STREAMING_LABEL_DETECTION.
+message StreamingLabelDetectionConfig {
+ // Whether the video has been captured from a stationary (i.e. non-moving)
+ // camera. When set to true, might improve detection accuracy for moving
+ // objects. Default: false.
+ bool stationary_camera = 1;
+}
+
+// Config for STREAMING_EXPLICIT_CONTENT_DETECTION.
+message StreamingExplicitContentDetectionConfig {}
+
+// Config for STREAMING_OBJECT_TRACKING.
+message StreamingObjectTrackingConfig {}
+
+// Config for STREAMING_AUTOML_ACTION_RECOGNITION.
+message StreamingAutomlActionRecognitionConfig {
+ // Resource name of AutoML model.
+ // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}`
+ string model_name = 1;
+}
+
+// Config for STREAMING_AUTOML_CLASSIFICATION.
+message StreamingAutomlClassificationConfig {
+ // Resource name of AutoML model.
+ // Format:
+ // `projects/{project_number}/locations/{location_id}/models/{model_id}`
+ string model_name = 1;
+}
+
+// Config for STREAMING_AUTOML_OBJECT_TRACKING.
+message StreamingAutomlObjectTrackingConfig {
+ // Resource name of AutoML model.
+ // Format: `projects/{project_id}/locations/{location_id}/models/{model_id}`
+ string model_name = 1;
+}
+
+// Config for streaming storage option.
+message StreamingStorageConfig {
+ // Enable streaming storage. Default: false.
+ bool enable_storage_annotation_result = 1;
+
+ // Cloud Storage URI to store all annotation results for one client. Client
+ // should specify this field as the top-level storage directory. Annotation
+ // results of different sessions will be put into different sub-directories
+ // denoted by project_name and session_id. All sub-directories will be auto
+ // generated by program and will be made accessible to client in response
+ // proto. URIs must be specified in the following format:
+ // `gs://bucket-id/object-id` `bucket-id` should be a valid Cloud Storage
+ // bucket created by client and bucket permission shall also be configured
+ // properly. `object-id` can be arbitrary string that make sense to client.
+ // Other URI formats will return error and cause Cloud Storage write failure.
+ string annotation_result_storage_directory = 3;
+}
diff --git a/packages/google-cloud-videointelligence/protos/protos.d.ts b/packages/google-cloud-videointelligence/protos/protos.d.ts
new file mode 100644
index 00000000000..3cf66ff7a8c
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/protos.d.ts
@@ -0,0 +1,23784 @@
+// 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 videointelligence. */
+ namespace videointelligence {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a VideoIntelligenceService */
+ class VideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideoCallback): void;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1.IAnnotateVideoRequest): Promise;
+ }
+
+ namespace VideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService|annotateVideo}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an AnnotateVideoRequest. */
+ interface IAnnotateVideoRequest {
+
+ /** AnnotateVideoRequest inputUri */
+ inputUri?: (string|null);
+
+ /** AnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+
+ /** AnnotateVideoRequest features */
+ features?: (google.cloud.videointelligence.v1.Feature[]|null);
+
+ /** AnnotateVideoRequest videoContext */
+ videoContext?: (google.cloud.videointelligence.v1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri */
+ outputUri?: (string|null);
+
+ /** AnnotateVideoRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an AnnotateVideoRequest. */
+ class AnnotateVideoRequest implements IAnnotateVideoRequest {
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoRequest);
+
+ /** AnnotateVideoRequest inputUri. */
+ public inputUri: string;
+
+ /** AnnotateVideoRequest inputContent. */
+ public inputContent: (Uint8Array|string);
+
+ /** AnnotateVideoRequest features. */
+ public features: google.cloud.videointelligence.v1.Feature[];
+
+ /** AnnotateVideoRequest videoContext. */
+ public videoContext?: (google.cloud.videointelligence.v1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri. */
+ public outputUri: string;
+
+ /** AnnotateVideoRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoRequest): google.cloud.videointelligence.v1.AnnotateVideoRequest;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoRequest;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoRequest;
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message AnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoContext. */
+ interface IVideoContext {
+
+ /** VideoContext segments */
+ segments?: (google.cloud.videointelligence.v1.IVideoSegment[]|null);
+
+ /** VideoContext labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig */
+ faceDetectionConfig?: (google.cloud.videointelligence.v1.IFaceDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig */
+ speechTranscriptionConfig?: (google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null);
+
+ /** VideoContext textDetectionConfig */
+ textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null);
+
+ /** VideoContext personDetectionConfig */
+ personDetectionConfig?: (google.cloud.videointelligence.v1.IPersonDetectionConfig|null);
+
+ /** VideoContext objectTrackingConfig */
+ objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null);
+ }
+
+ /** Represents a VideoContext. */
+ class VideoContext implements IVideoContext {
+
+ /**
+ * Constructs a new VideoContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IVideoContext);
+
+ /** VideoContext segments. */
+ public segments: google.cloud.videointelligence.v1.IVideoSegment[];
+
+ /** VideoContext labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig. */
+ public faceDetectionConfig?: (google.cloud.videointelligence.v1.IFaceDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig. */
+ public speechTranscriptionConfig?: (google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null);
+
+ /** VideoContext textDetectionConfig. */
+ public textDetectionConfig?: (google.cloud.videointelligence.v1.ITextDetectionConfig|null);
+
+ /** VideoContext personDetectionConfig. */
+ public personDetectionConfig?: (google.cloud.videointelligence.v1.IPersonDetectionConfig|null);
+
+ /** VideoContext objectTrackingConfig. */
+ public objectTrackingConfig?: (google.cloud.videointelligence.v1.IObjectTrackingConfig|null);
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IVideoContext): google.cloud.videointelligence.v1.VideoContext;
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoContext;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoContext;
+
+ /**
+ * Verifies a VideoContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoContext;
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @param message VideoContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Feature enum. */
+ enum Feature {
+ FEATURE_UNSPECIFIED = 0,
+ LABEL_DETECTION = 1,
+ SHOT_CHANGE_DETECTION = 2,
+ EXPLICIT_CONTENT_DETECTION = 3,
+ FACE_DETECTION = 4,
+ SPEECH_TRANSCRIPTION = 6,
+ TEXT_DETECTION = 7,
+ OBJECT_TRACKING = 9,
+ LOGO_RECOGNITION = 12,
+ PERSON_DETECTION = 14
+ }
+
+ /** LabelDetectionMode enum. */
+ enum LabelDetectionMode {
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0,
+ SHOT_MODE = 1,
+ FRAME_MODE = 2,
+ SHOT_AND_FRAME_MODE = 3
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+
+ /** Properties of a LabelDetectionConfig. */
+ interface ILabelDetectionConfig {
+
+ /** LabelDetectionConfig labelDetectionMode */
+ labelDetectionMode?: (google.cloud.videointelligence.v1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1.LabelDetectionMode|null);
+
+ /** LabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+
+ /** LabelDetectionConfig model */
+ model?: (string|null);
+
+ /** LabelDetectionConfig frameConfidenceThreshold */
+ frameConfidenceThreshold?: (number|null);
+
+ /** LabelDetectionConfig videoConfidenceThreshold */
+ videoConfidenceThreshold?: (number|null);
+ }
+
+ /** Represents a LabelDetectionConfig. */
+ class LabelDetectionConfig implements ILabelDetectionConfig {
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ILabelDetectionConfig);
+
+ /** LabelDetectionConfig labelDetectionMode. */
+ public labelDetectionMode: (google.cloud.videointelligence.v1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1.LabelDetectionMode);
+
+ /** LabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /** LabelDetectionConfig model. */
+ public model: string;
+
+ /** LabelDetectionConfig frameConfidenceThreshold. */
+ public frameConfidenceThreshold: number;
+
+ /** LabelDetectionConfig videoConfidenceThreshold. */
+ public videoConfidenceThreshold: number;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ILabelDetectionConfig): google.cloud.videointelligence.v1.LabelDetectionConfig;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelDetectionConfig;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelDetectionConfig;
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message LabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ShotChangeDetectionConfig. */
+ interface IShotChangeDetectionConfig {
+
+ /** ShotChangeDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a ShotChangeDetectionConfig. */
+ class ShotChangeDetectionConfig implements IShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IShotChangeDetectionConfig);
+
+ /** ShotChangeDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1.ShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ShotChangeDetectionConfig;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ShotChangeDetectionConfig;
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message ShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingConfig. */
+ interface IObjectTrackingConfig {
+
+ /** ObjectTrackingConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ObjectTrackingConfig. */
+ class ObjectTrackingConfig implements IObjectTrackingConfig {
+
+ /**
+ * Constructs a new ObjectTrackingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig);
+
+ /** ObjectTrackingConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ObjectTrackingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingConfig): google.cloud.videointelligence.v1.ObjectTrackingConfig;
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages.
+ * @param message ObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages.
+ * @param message ObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingConfig;
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingConfig;
+
+ /**
+ * Verifies an ObjectTrackingConfig message.
+ * @param message Plain 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 ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingConfig;
+
+ /**
+ * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified.
+ * @param message ObjectTrackingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceDetectionConfig. */
+ interface IFaceDetectionConfig {
+
+ /** FaceDetectionConfig model */
+ model?: (string|null);
+
+ /** FaceDetectionConfig includeBoundingBoxes */
+ includeBoundingBoxes?: (boolean|null);
+
+ /** FaceDetectionConfig includeAttributes */
+ includeAttributes?: (boolean|null);
+ }
+
+ /** Represents a FaceDetectionConfig. */
+ class FaceDetectionConfig implements IFaceDetectionConfig {
+
+ /**
+ * Constructs a new FaceDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IFaceDetectionConfig);
+
+ /** FaceDetectionConfig model. */
+ public model: string;
+
+ /** FaceDetectionConfig includeBoundingBoxes. */
+ public includeBoundingBoxes: boolean;
+
+ /** FaceDetectionConfig includeAttributes. */
+ public includeAttributes: boolean;
+
+ /**
+ * Creates a new FaceDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IFaceDetectionConfig): google.cloud.videointelligence.v1.FaceDetectionConfig;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceDetectionConfig;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceDetectionConfig;
+
+ /**
+ * Verifies a FaceDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceDetectionConfig;
+
+ /**
+ * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified.
+ * @param message FaceDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PersonDetectionConfig. */
+ interface IPersonDetectionConfig {
+
+ /** PersonDetectionConfig includeBoundingBoxes */
+ includeBoundingBoxes?: (boolean|null);
+
+ /** PersonDetectionConfig includePoseLandmarks */
+ includePoseLandmarks?: (boolean|null);
+
+ /** PersonDetectionConfig includeAttributes */
+ includeAttributes?: (boolean|null);
+ }
+
+ /** Represents a PersonDetectionConfig. */
+ class PersonDetectionConfig implements IPersonDetectionConfig {
+
+ /**
+ * Constructs a new PersonDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IPersonDetectionConfig);
+
+ /** PersonDetectionConfig includeBoundingBoxes. */
+ public includeBoundingBoxes: boolean;
+
+ /** PersonDetectionConfig includePoseLandmarks. */
+ public includePoseLandmarks: boolean;
+
+ /** PersonDetectionConfig includeAttributes. */
+ public includeAttributes: boolean;
+
+ /**
+ * Creates a new PersonDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IPersonDetectionConfig): google.cloud.videointelligence.v1.PersonDetectionConfig;
+
+ /**
+ * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages.
+ * @param message PersonDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages.
+ * @param message PersonDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.PersonDetectionConfig;
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.PersonDetectionConfig;
+
+ /**
+ * Verifies a PersonDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.PersonDetectionConfig;
+
+ /**
+ * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified.
+ * @param message PersonDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.PersonDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentDetectionConfig. */
+ interface IExplicitContentDetectionConfig {
+
+ /** ExplicitContentDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ExplicitContentDetectionConfig. */
+ class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig);
+
+ /** ExplicitContentDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig;
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message ExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextDetectionConfig. */
+ interface ITextDetectionConfig {
+
+ /** TextDetectionConfig languageHints */
+ languageHints?: (string[]|null);
+
+ /** TextDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a TextDetectionConfig. */
+ class TextDetectionConfig implements ITextDetectionConfig {
+
+ /**
+ * Constructs a new TextDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITextDetectionConfig);
+
+ /** TextDetectionConfig languageHints. */
+ public languageHints: string[];
+
+ /** TextDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new TextDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITextDetectionConfig): google.cloud.videointelligence.v1.TextDetectionConfig;
+
+ /**
+ * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextDetectionConfig;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextDetectionConfig;
+
+ /**
+ * Verifies a TextDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextDetectionConfig;
+
+ /**
+ * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified.
+ * @param message TextDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoSegment. */
+ interface IVideoSegment {
+
+ /** VideoSegment startTimeOffset */
+ startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset */
+ endTimeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a VideoSegment. */
+ class VideoSegment implements IVideoSegment {
+
+ /**
+ * Constructs a new VideoSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IVideoSegment);
+
+ /** VideoSegment startTimeOffset. */
+ public startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset. */
+ public endTimeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IVideoSegment): google.cloud.videointelligence.v1.VideoSegment;
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoSegment;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoSegment;
+
+ /**
+ * Verifies a VideoSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoSegment;
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @param message VideoSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelSegment. */
+ interface ILabelSegment {
+
+ /** LabelSegment segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** LabelSegment confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelSegment. */
+ class LabelSegment implements ILabelSegment {
+
+ /**
+ * Constructs a new LabelSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ILabelSegment);
+
+ /** LabelSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** LabelSegment confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ILabelSegment): google.cloud.videointelligence.v1.LabelSegment;
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelSegment;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelSegment;
+
+ /**
+ * Verifies a LabelSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelSegment;
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @param message LabelSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelFrame. */
+ interface ILabelFrame {
+
+ /** LabelFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelFrame. */
+ class LabelFrame implements ILabelFrame {
+
+ /**
+ * Constructs a new LabelFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ILabelFrame);
+
+ /** LabelFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ILabelFrame): google.cloud.videointelligence.v1.LabelFrame;
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelFrame;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelFrame;
+
+ /**
+ * Verifies a LabelFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelFrame;
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @param message LabelFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity entityId */
+ entityId?: (string|null);
+
+ /** Entity description */
+ description?: (string|null);
+
+ /** Entity languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IEntity);
+
+ /** Entity entityId. */
+ public entityId: string;
+
+ /** Entity description. */
+ public description: string;
+
+ /** Entity languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IEntity): google.cloud.videointelligence.v1.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelAnnotation. */
+ interface ILabelAnnotation {
+
+ /** LabelAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities */
+ categoryEntities?: (google.cloud.videointelligence.v1.IEntity[]|null);
+
+ /** LabelAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1.ILabelSegment[]|null);
+
+ /** LabelAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1.ILabelFrame[]|null);
+
+ /** LabelAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents a LabelAnnotation. */
+ class LabelAnnotation implements ILabelAnnotation {
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ILabelAnnotation);
+
+ /** LabelAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities. */
+ public categoryEntities: google.cloud.videointelligence.v1.IEntity[];
+
+ /** LabelAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1.ILabelSegment[];
+
+ /** LabelAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1.ILabelFrame[];
+
+ /** LabelAnnotation version. */
+ public version: string;
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ILabelAnnotation): google.cloud.videointelligence.v1.LabelAnnotation;
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LabelAnnotation;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LabelAnnotation;
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LabelAnnotation;
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @param message LabelAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentFrame. */
+ interface IExplicitContentFrame {
+
+ /** ExplicitContentFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood */
+ pornographyLikelihood?: (google.cloud.videointelligence.v1.Likelihood|keyof typeof google.cloud.videointelligence.v1.Likelihood|null);
+ }
+
+ /** Represents an ExplicitContentFrame. */
+ class ExplicitContentFrame implements IExplicitContentFrame {
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentFrame);
+
+ /** ExplicitContentFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood. */
+ public pornographyLikelihood: (google.cloud.videointelligence.v1.Likelihood|keyof typeof google.cloud.videointelligence.v1.Likelihood);
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentFrame): google.cloud.videointelligence.v1.ExplicitContentFrame;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentFrame;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentFrame;
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentFrame;
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @param message ExplicitContentFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentAnnotation. */
+ interface IExplicitContentAnnotation {
+
+ /** ExplicitContentAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1.IExplicitContentFrame[]|null);
+
+ /** ExplicitContentAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents an ExplicitContentAnnotation. */
+ class ExplicitContentAnnotation implements IExplicitContentAnnotation {
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IExplicitContentAnnotation);
+
+ /** ExplicitContentAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1.IExplicitContentFrame[];
+
+ /** ExplicitContentAnnotation version. */
+ public version: string;
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IExplicitContentAnnotation): google.cloud.videointelligence.v1.ExplicitContentAnnotation;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ExplicitContentAnnotation;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ExplicitContentAnnotation;
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ExplicitContentAnnotation;
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @param message ExplicitContentAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingBox. */
+ interface INormalizedBoundingBox {
+
+ /** NormalizedBoundingBox left */
+ left?: (number|null);
+
+ /** NormalizedBoundingBox top */
+ top?: (number|null);
+
+ /** NormalizedBoundingBox right */
+ right?: (number|null);
+
+ /** NormalizedBoundingBox bottom */
+ bottom?: (number|null);
+ }
+
+ /** Represents a NormalizedBoundingBox. */
+ class NormalizedBoundingBox implements INormalizedBoundingBox {
+
+ /**
+ * Constructs a new NormalizedBoundingBox.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.INormalizedBoundingBox);
+
+ /** NormalizedBoundingBox left. */
+ public left: number;
+
+ /** NormalizedBoundingBox top. */
+ public top: number;
+
+ /** NormalizedBoundingBox right. */
+ public right: number;
+
+ /** NormalizedBoundingBox bottom. */
+ public bottom: number;
+
+ /**
+ * Creates a new NormalizedBoundingBox instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingBox instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.INormalizedBoundingBox): google.cloud.videointelligence.v1.NormalizedBoundingBox;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.NormalizedBoundingBox;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.NormalizedBoundingBox;
+
+ /**
+ * Verifies a NormalizedBoundingBox message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingBox
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.NormalizedBoundingBox;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingBox
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingBox to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingBox
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceDetectionAnnotation. */
+ interface IFaceDetectionAnnotation {
+
+ /** FaceDetectionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1.ITrack[]|null);
+
+ /** FaceDetectionAnnotation thumbnail */
+ thumbnail?: (Uint8Array|string|null);
+
+ /** FaceDetectionAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents a FaceDetectionAnnotation. */
+ class FaceDetectionAnnotation implements IFaceDetectionAnnotation {
+
+ /**
+ * Constructs a new FaceDetectionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IFaceDetectionAnnotation);
+
+ /** FaceDetectionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1.ITrack[];
+
+ /** FaceDetectionAnnotation thumbnail. */
+ public thumbnail: (Uint8Array|string);
+
+ /** FaceDetectionAnnotation version. */
+ public version: string;
+
+ /**
+ * Creates a new FaceDetectionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceDetectionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IFaceDetectionAnnotation): google.cloud.videointelligence.v1.FaceDetectionAnnotation;
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages.
+ * @param message FaceDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages.
+ * @param message FaceDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceDetectionAnnotation;
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceDetectionAnnotation;
+
+ /**
+ * Verifies a FaceDetectionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceDetectionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceDetectionAnnotation;
+
+ /**
+ * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified.
+ * @param message FaceDetectionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.FaceDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceDetectionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceDetectionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PersonDetectionAnnotation. */
+ interface IPersonDetectionAnnotation {
+
+ /** PersonDetectionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1.ITrack[]|null);
+
+ /** PersonDetectionAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents a PersonDetectionAnnotation. */
+ class PersonDetectionAnnotation implements IPersonDetectionAnnotation {
+
+ /**
+ * Constructs a new PersonDetectionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IPersonDetectionAnnotation);
+
+ /** PersonDetectionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1.ITrack[];
+
+ /** PersonDetectionAnnotation version. */
+ public version: string;
+
+ /**
+ * Creates a new PersonDetectionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonDetectionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IPersonDetectionAnnotation): google.cloud.videointelligence.v1.PersonDetectionAnnotation;
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages.
+ * @param message PersonDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages.
+ * @param message PersonDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.PersonDetectionAnnotation;
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.PersonDetectionAnnotation;
+
+ /**
+ * Verifies a PersonDetectionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonDetectionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.PersonDetectionAnnotation;
+
+ /**
+ * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified.
+ * @param message PersonDetectionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.PersonDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonDetectionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonDetectionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceSegment. */
+ interface IFaceSegment {
+
+ /** FaceSegment segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+ }
+
+ /** Represents a FaceSegment. */
+ class FaceSegment implements IFaceSegment {
+
+ /**
+ * Constructs a new FaceSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IFaceSegment);
+
+ /** FaceSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /**
+ * Creates a new FaceSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IFaceSegment): google.cloud.videointelligence.v1.FaceSegment;
+
+ /**
+ * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages.
+ * @param message FaceSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages.
+ * @param message FaceSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceSegment;
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceSegment;
+
+ /**
+ * Verifies a FaceSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceSegment;
+
+ /**
+ * Creates a plain object from a FaceSegment message. Also converts values to other types if specified.
+ * @param message FaceSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.FaceSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceFrame. */
+ interface IFaceFrame {
+
+ /** FaceFrame normalizedBoundingBoxes */
+ normalizedBoundingBoxes?: (google.cloud.videointelligence.v1.INormalizedBoundingBox[]|null);
+
+ /** FaceFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a FaceFrame. */
+ class FaceFrame implements IFaceFrame {
+
+ /**
+ * Constructs a new FaceFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IFaceFrame);
+
+ /** FaceFrame normalizedBoundingBoxes. */
+ public normalizedBoundingBoxes: google.cloud.videointelligence.v1.INormalizedBoundingBox[];
+
+ /** FaceFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new FaceFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IFaceFrame): google.cloud.videointelligence.v1.FaceFrame;
+
+ /**
+ * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages.
+ * @param message FaceFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages.
+ * @param message FaceFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceFrame;
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceFrame;
+
+ /**
+ * Verifies a FaceFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceFrame;
+
+ /**
+ * Creates a plain object from a FaceFrame message. Also converts values to other types if specified.
+ * @param message FaceFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.FaceFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceAnnotation. */
+ interface IFaceAnnotation {
+
+ /** FaceAnnotation thumbnail */
+ thumbnail?: (Uint8Array|string|null);
+
+ /** FaceAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1.IFaceSegment[]|null);
+
+ /** FaceAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1.IFaceFrame[]|null);
+ }
+
+ /** Represents a FaceAnnotation. */
+ class FaceAnnotation implements IFaceAnnotation {
+
+ /**
+ * Constructs a new FaceAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IFaceAnnotation);
+
+ /** FaceAnnotation thumbnail. */
+ public thumbnail: (Uint8Array|string);
+
+ /** FaceAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1.IFaceSegment[];
+
+ /** FaceAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1.IFaceFrame[];
+
+ /**
+ * Creates a new FaceAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IFaceAnnotation): google.cloud.videointelligence.v1.FaceAnnotation;
+
+ /**
+ * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages.
+ * @param message FaceAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages.
+ * @param message FaceAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.FaceAnnotation;
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.FaceAnnotation;
+
+ /**
+ * Verifies a FaceAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.FaceAnnotation;
+
+ /**
+ * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified.
+ * @param message FaceAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimestampedObject. */
+ interface ITimestampedObject {
+
+ /** TimestampedObject normalizedBoundingBox */
+ normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null);
+
+ /** TimestampedObject timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** TimestampedObject attributes */
+ attributes?: (google.cloud.videointelligence.v1.IDetectedAttribute[]|null);
+
+ /** TimestampedObject landmarks */
+ landmarks?: (google.cloud.videointelligence.v1.IDetectedLandmark[]|null);
+ }
+
+ /** Represents a TimestampedObject. */
+ class TimestampedObject implements ITimestampedObject {
+
+ /**
+ * Constructs a new TimestampedObject.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITimestampedObject);
+
+ /** TimestampedObject normalizedBoundingBox. */
+ public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null);
+
+ /** TimestampedObject timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** TimestampedObject attributes. */
+ public attributes: google.cloud.videointelligence.v1.IDetectedAttribute[];
+
+ /** TimestampedObject landmarks. */
+ public landmarks: google.cloud.videointelligence.v1.IDetectedLandmark[];
+
+ /**
+ * Creates a new TimestampedObject instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimestampedObject instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITimestampedObject): google.cloud.videointelligence.v1.TimestampedObject;
+
+ /**
+ * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages.
+ * @param message TimestampedObject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages.
+ * @param message TimestampedObject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TimestampedObject;
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TimestampedObject;
+
+ /**
+ * Verifies a TimestampedObject message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimestampedObject
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TimestampedObject;
+
+ /**
+ * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified.
+ * @param message TimestampedObject
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.TimestampedObject, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimestampedObject to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimestampedObject
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Track. */
+ interface ITrack {
+
+ /** Track segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** Track timestampedObjects */
+ timestampedObjects?: (google.cloud.videointelligence.v1.ITimestampedObject[]|null);
+
+ /** Track attributes */
+ attributes?: (google.cloud.videointelligence.v1.IDetectedAttribute[]|null);
+
+ /** Track confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a Track. */
+ class Track implements ITrack {
+
+ /**
+ * Constructs a new Track.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITrack);
+
+ /** Track segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** Track timestampedObjects. */
+ public timestampedObjects: google.cloud.videointelligence.v1.ITimestampedObject[];
+
+ /** Track attributes. */
+ public attributes: google.cloud.videointelligence.v1.IDetectedAttribute[];
+
+ /** Track confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new Track instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Track instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITrack): google.cloud.videointelligence.v1.Track;
+
+ /**
+ * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages.
+ * @param message Track message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages.
+ * @param message Track message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Track message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.Track;
+
+ /**
+ * Decodes a Track message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.Track;
+
+ /**
+ * Verifies a Track message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Track message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Track
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.Track;
+
+ /**
+ * Creates a plain object from a Track message. Also converts values to other types if specified.
+ * @param message Track
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.Track, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Track to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Track
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetectedAttribute. */
+ interface IDetectedAttribute {
+
+ /** DetectedAttribute name */
+ name?: (string|null);
+
+ /** DetectedAttribute confidence */
+ confidence?: (number|null);
+
+ /** DetectedAttribute value */
+ value?: (string|null);
+ }
+
+ /** Represents a DetectedAttribute. */
+ class DetectedAttribute implements IDetectedAttribute {
+
+ /**
+ * Constructs a new DetectedAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IDetectedAttribute);
+
+ /** DetectedAttribute name. */
+ public name: string;
+
+ /** DetectedAttribute confidence. */
+ public confidence: number;
+
+ /** DetectedAttribute value. */
+ public value: string;
+
+ /**
+ * Creates a new DetectedAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetectedAttribute instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IDetectedAttribute): google.cloud.videointelligence.v1.DetectedAttribute;
+
+ /**
+ * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages.
+ * @param message DetectedAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages.
+ * @param message DetectedAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.DetectedAttribute;
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.DetectedAttribute;
+
+ /**
+ * Verifies a DetectedAttribute message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetectedAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.DetectedAttribute;
+
+ /**
+ * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified.
+ * @param message DetectedAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.DetectedAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetectedAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetectedAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetectedLandmark. */
+ interface IDetectedLandmark {
+
+ /** DetectedLandmark name */
+ name?: (string|null);
+
+ /** DetectedLandmark point */
+ point?: (google.cloud.videointelligence.v1.INormalizedVertex|null);
+
+ /** DetectedLandmark confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a DetectedLandmark. */
+ class DetectedLandmark implements IDetectedLandmark {
+
+ /**
+ * Constructs a new DetectedLandmark.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IDetectedLandmark);
+
+ /** DetectedLandmark name. */
+ public name: string;
+
+ /** DetectedLandmark point. */
+ public point?: (google.cloud.videointelligence.v1.INormalizedVertex|null);
+
+ /** DetectedLandmark confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new DetectedLandmark instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetectedLandmark instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IDetectedLandmark): google.cloud.videointelligence.v1.DetectedLandmark;
+
+ /**
+ * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages.
+ * @param message DetectedLandmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages.
+ * @param message DetectedLandmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.DetectedLandmark;
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.DetectedLandmark;
+
+ /**
+ * Verifies a DetectedLandmark message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetectedLandmark
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.DetectedLandmark;
+
+ /**
+ * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified.
+ * @param message DetectedLandmark
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.DetectedLandmark, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetectedLandmark to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetectedLandmark
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationResults. */
+ interface IVideoAnnotationResults {
+
+ /** VideoAnnotationResults inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationResults segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations */
+ segmentLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults segmentPresenceLabelAnnotations */
+ segmentPresenceLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotLabelAnnotations */
+ shotLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotPresenceLabelAnnotations */
+ shotPresenceLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults frameLabelAnnotations */
+ frameLabelAnnotations?: (google.cloud.videointelligence.v1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults faceAnnotations */
+ faceAnnotations?: (google.cloud.videointelligence.v1.IFaceAnnotation[]|null);
+
+ /** VideoAnnotationResults faceDetectionAnnotations */
+ faceDetectionAnnotations?: (google.cloud.videointelligence.v1.IFaceDetectionAnnotation[]|null);
+
+ /** VideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1.IVideoSegment[]|null);
+
+ /** VideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions */
+ speechTranscriptions?: (google.cloud.videointelligence.v1.ISpeechTranscription[]|null);
+
+ /** VideoAnnotationResults textAnnotations */
+ textAnnotations?: (google.cloud.videointelligence.v1.ITextAnnotation[]|null);
+
+ /** VideoAnnotationResults objectAnnotations */
+ objectAnnotations?: (google.cloud.videointelligence.v1.IObjectTrackingAnnotation[]|null);
+
+ /** VideoAnnotationResults logoRecognitionAnnotations */
+ logoRecognitionAnnotations?: (google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[]|null);
+
+ /** VideoAnnotationResults personDetectionAnnotations */
+ personDetectionAnnotations?: (google.cloud.videointelligence.v1.IPersonDetectionAnnotation[]|null);
+
+ /** VideoAnnotationResults error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a VideoAnnotationResults. */
+ class VideoAnnotationResults implements IVideoAnnotationResults {
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IVideoAnnotationResults);
+
+ /** VideoAnnotationResults inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationResults segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations. */
+ public segmentLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults segmentPresenceLabelAnnotations. */
+ public segmentPresenceLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotLabelAnnotations. */
+ public shotLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotPresenceLabelAnnotations. */
+ public shotPresenceLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults frameLabelAnnotations. */
+ public frameLabelAnnotations: google.cloud.videointelligence.v1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults faceAnnotations. */
+ public faceAnnotations: google.cloud.videointelligence.v1.IFaceAnnotation[];
+
+ /** VideoAnnotationResults faceDetectionAnnotations. */
+ public faceDetectionAnnotations: google.cloud.videointelligence.v1.IFaceDetectionAnnotation[];
+
+ /** VideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1.IVideoSegment[];
+
+ /** VideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions. */
+ public speechTranscriptions: google.cloud.videointelligence.v1.ISpeechTranscription[];
+
+ /** VideoAnnotationResults textAnnotations. */
+ public textAnnotations: google.cloud.videointelligence.v1.ITextAnnotation[];
+
+ /** VideoAnnotationResults objectAnnotations. */
+ public objectAnnotations: google.cloud.videointelligence.v1.IObjectTrackingAnnotation[];
+
+ /** VideoAnnotationResults logoRecognitionAnnotations. */
+ public logoRecognitionAnnotations: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation[];
+
+ /** VideoAnnotationResults personDetectionAnnotations. */
+ public personDetectionAnnotations: google.cloud.videointelligence.v1.IPersonDetectionAnnotation[];
+
+ /** VideoAnnotationResults error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IVideoAnnotationResults): google.cloud.videointelligence.v1.VideoAnnotationResults;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoAnnotationResults;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoAnnotationResults;
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message VideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoResponse. */
+ interface IAnnotateVideoResponse {
+
+ /** AnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1.IVideoAnnotationResults[]|null);
+ }
+
+ /** Represents an AnnotateVideoResponse. */
+ class AnnotateVideoResponse implements IAnnotateVideoResponse {
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoResponse);
+
+ /** AnnotateVideoResponse annotationResults. */
+ public annotationResults: google.cloud.videointelligence.v1.IVideoAnnotationResults[];
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoResponse): google.cloud.videointelligence.v1.AnnotateVideoResponse;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoResponse;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoResponse;
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message AnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationProgress. */
+ interface IVideoAnnotationProgress {
+
+ /** VideoAnnotationProgress inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationProgress progressPercent */
+ progressPercent?: (number|null);
+
+ /** VideoAnnotationProgress startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress feature */
+ feature?: (google.cloud.videointelligence.v1.Feature|keyof typeof google.cloud.videointelligence.v1.Feature|null);
+
+ /** VideoAnnotationProgress segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+ }
+
+ /** Represents a VideoAnnotationProgress. */
+ class VideoAnnotationProgress implements IVideoAnnotationProgress {
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IVideoAnnotationProgress);
+
+ /** VideoAnnotationProgress inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationProgress progressPercent. */
+ public progressPercent: number;
+
+ /** VideoAnnotationProgress startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress feature. */
+ public feature: (google.cloud.videointelligence.v1.Feature|keyof typeof google.cloud.videointelligence.v1.Feature);
+
+ /** VideoAnnotationProgress segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IVideoAnnotationProgress): google.cloud.videointelligence.v1.VideoAnnotationProgress;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.VideoAnnotationProgress;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.VideoAnnotationProgress;
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.VideoAnnotationProgress;
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @param message VideoAnnotationProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoProgress. */
+ interface IAnnotateVideoProgress {
+
+ /** AnnotateVideoProgress annotationProgress */
+ annotationProgress?: (google.cloud.videointelligence.v1.IVideoAnnotationProgress[]|null);
+ }
+
+ /** Represents an AnnotateVideoProgress. */
+ class AnnotateVideoProgress implements IAnnotateVideoProgress {
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IAnnotateVideoProgress);
+
+ /** AnnotateVideoProgress annotationProgress. */
+ public annotationProgress: google.cloud.videointelligence.v1.IVideoAnnotationProgress[];
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IAnnotateVideoProgress): google.cloud.videointelligence.v1.AnnotateVideoProgress;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.AnnotateVideoProgress;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.AnnotateVideoProgress;
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.AnnotateVideoProgress;
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @param message AnnotateVideoProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscriptionConfig. */
+ interface ISpeechTranscriptionConfig {
+
+ /** SpeechTranscriptionConfig languageCode */
+ languageCode?: (string|null);
+
+ /** SpeechTranscriptionConfig maxAlternatives */
+ maxAlternatives?: (number|null);
+
+ /** SpeechTranscriptionConfig filterProfanity */
+ filterProfanity?: (boolean|null);
+
+ /** SpeechTranscriptionConfig speechContexts */
+ speechContexts?: (google.cloud.videointelligence.v1.ISpeechContext[]|null);
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation */
+ enableAutomaticPunctuation?: (boolean|null);
+
+ /** SpeechTranscriptionConfig audioTracks */
+ audioTracks?: (number[]|null);
+
+ /** SpeechTranscriptionConfig enableSpeakerDiarization */
+ enableSpeakerDiarization?: (boolean|null);
+
+ /** SpeechTranscriptionConfig diarizationSpeakerCount */
+ diarizationSpeakerCount?: (number|null);
+
+ /** SpeechTranscriptionConfig enableWordConfidence */
+ enableWordConfidence?: (boolean|null);
+ }
+
+ /** Represents a SpeechTranscriptionConfig. */
+ class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig {
+
+ /**
+ * Constructs a new SpeechTranscriptionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig);
+
+ /** SpeechTranscriptionConfig languageCode. */
+ public languageCode: string;
+
+ /** SpeechTranscriptionConfig maxAlternatives. */
+ public maxAlternatives: number;
+
+ /** SpeechTranscriptionConfig filterProfanity. */
+ public filterProfanity: boolean;
+
+ /** SpeechTranscriptionConfig speechContexts. */
+ public speechContexts: google.cloud.videointelligence.v1.ISpeechContext[];
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation. */
+ public enableAutomaticPunctuation: boolean;
+
+ /** SpeechTranscriptionConfig audioTracks. */
+ public audioTracks: number[];
+
+ /** SpeechTranscriptionConfig enableSpeakerDiarization. */
+ public enableSpeakerDiarization: boolean;
+
+ /** SpeechTranscriptionConfig diarizationSpeakerCount. */
+ public diarizationSpeakerCount: number;
+
+ /** SpeechTranscriptionConfig enableWordConfidence. */
+ public enableWordConfidence: boolean;
+
+ /**
+ * Creates a new SpeechTranscriptionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscriptionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1.SpeechTranscriptionConfig;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechTranscriptionConfig;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechTranscriptionConfig;
+
+ /**
+ * Verifies a SpeechTranscriptionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscriptionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechTranscriptionConfig;
+
+ /**
+ * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified.
+ * @param message SpeechTranscriptionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscriptionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscriptionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechContext. */
+ interface ISpeechContext {
+
+ /** SpeechContext phrases */
+ phrases?: (string[]|null);
+ }
+
+ /** Represents a SpeechContext. */
+ class SpeechContext implements ISpeechContext {
+
+ /**
+ * Constructs a new SpeechContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ISpeechContext);
+
+ /** SpeechContext phrases. */
+ public phrases: string[];
+
+ /**
+ * Creates a new SpeechContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ISpeechContext): google.cloud.videointelligence.v1.SpeechContext;
+
+ /**
+ * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechContext;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechContext;
+
+ /**
+ * Verifies a SpeechContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechContext;
+
+ /**
+ * Creates a plain object from a SpeechContext message. Also converts values to other types if specified.
+ * @param message SpeechContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscription. */
+ interface ISpeechTranscription {
+
+ /** SpeechTranscription alternatives */
+ alternatives?: (google.cloud.videointelligence.v1.ISpeechRecognitionAlternative[]|null);
+
+ /** SpeechTranscription languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a SpeechTranscription. */
+ class SpeechTranscription implements ISpeechTranscription {
+
+ /**
+ * Constructs a new SpeechTranscription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ISpeechTranscription);
+
+ /** SpeechTranscription alternatives. */
+ public alternatives: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative[];
+
+ /** SpeechTranscription languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new SpeechTranscription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscription instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ISpeechTranscription): google.cloud.videointelligence.v1.SpeechTranscription;
+
+ /**
+ * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechTranscription;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechTranscription;
+
+ /**
+ * Verifies a SpeechTranscription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechTranscription;
+
+ /**
+ * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified.
+ * @param message SpeechTranscription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechRecognitionAlternative. */
+ interface ISpeechRecognitionAlternative {
+
+ /** SpeechRecognitionAlternative transcript */
+ transcript?: (string|null);
+
+ /** SpeechRecognitionAlternative confidence */
+ confidence?: (number|null);
+
+ /** SpeechRecognitionAlternative words */
+ words?: (google.cloud.videointelligence.v1.IWordInfo[]|null);
+ }
+
+ /** Represents a SpeechRecognitionAlternative. */
+ class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative {
+
+ /**
+ * Constructs a new SpeechRecognitionAlternative.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative);
+
+ /** SpeechRecognitionAlternative transcript. */
+ public transcript: string;
+
+ /** SpeechRecognitionAlternative confidence. */
+ public confidence: number;
+
+ /** SpeechRecognitionAlternative words. */
+ public words: google.cloud.videointelligence.v1.IWordInfo[];
+
+ /**
+ * Creates a new SpeechRecognitionAlternative instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechRecognitionAlternative instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1.SpeechRecognitionAlternative;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.SpeechRecognitionAlternative;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.SpeechRecognitionAlternative;
+
+ /**
+ * Verifies a SpeechRecognitionAlternative message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechRecognitionAlternative
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.SpeechRecognitionAlternative;
+
+ /**
+ * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified.
+ * @param message SpeechRecognitionAlternative
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechRecognitionAlternative to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechRecognitionAlternative
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WordInfo. */
+ interface IWordInfo {
+
+ /** WordInfo startTime */
+ startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime */
+ endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word */
+ word?: (string|null);
+
+ /** WordInfo confidence */
+ confidence?: (number|null);
+
+ /** WordInfo speakerTag */
+ speakerTag?: (number|null);
+ }
+
+ /** Represents a WordInfo. */
+ class WordInfo implements IWordInfo {
+
+ /**
+ * Constructs a new WordInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IWordInfo);
+
+ /** WordInfo startTime. */
+ public startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime. */
+ public endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word. */
+ public word: string;
+
+ /** WordInfo confidence. */
+ public confidence: number;
+
+ /** WordInfo speakerTag. */
+ public speakerTag: number;
+
+ /**
+ * Creates a new WordInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WordInfo instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IWordInfo): google.cloud.videointelligence.v1.WordInfo;
+
+ /**
+ * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.WordInfo;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.WordInfo;
+
+ /**
+ * Verifies a WordInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WordInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WordInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.WordInfo;
+
+ /**
+ * Creates a plain object from a WordInfo message. Also converts values to other types if specified.
+ * @param message WordInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WordInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WordInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedVertex. */
+ interface INormalizedVertex {
+
+ /** NormalizedVertex x */
+ x?: (number|null);
+
+ /** NormalizedVertex y */
+ y?: (number|null);
+ }
+
+ /** Represents a NormalizedVertex. */
+ class NormalizedVertex implements INormalizedVertex {
+
+ /**
+ * Constructs a new NormalizedVertex.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.INormalizedVertex);
+
+ /** NormalizedVertex x. */
+ public x: number;
+
+ /** NormalizedVertex y. */
+ public y: number;
+
+ /**
+ * Creates a new NormalizedVertex instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedVertex instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.INormalizedVertex): google.cloud.videointelligence.v1.NormalizedVertex;
+
+ /**
+ * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.NormalizedVertex;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.NormalizedVertex;
+
+ /**
+ * Verifies a NormalizedVertex message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedVertex
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.NormalizedVertex;
+
+ /**
+ * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified.
+ * @param message NormalizedVertex
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedVertex to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedVertex
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingPoly. */
+ interface INormalizedBoundingPoly {
+
+ /** NormalizedBoundingPoly vertices */
+ vertices?: (google.cloud.videointelligence.v1.INormalizedVertex[]|null);
+ }
+
+ /** Represents a NormalizedBoundingPoly. */
+ class NormalizedBoundingPoly implements INormalizedBoundingPoly {
+
+ /**
+ * Constructs a new NormalizedBoundingPoly.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.INormalizedBoundingPoly);
+
+ /** NormalizedBoundingPoly vertices. */
+ public vertices: google.cloud.videointelligence.v1.INormalizedVertex[];
+
+ /**
+ * Creates a new NormalizedBoundingPoly instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingPoly instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.INormalizedBoundingPoly): google.cloud.videointelligence.v1.NormalizedBoundingPoly;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.NormalizedBoundingPoly;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.NormalizedBoundingPoly;
+
+ /**
+ * Verifies a NormalizedBoundingPoly message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingPoly
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.NormalizedBoundingPoly;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingPoly
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingPoly to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingPoly
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextSegment. */
+ interface ITextSegment {
+
+ /** TextSegment segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** TextSegment confidence */
+ confidence?: (number|null);
+
+ /** TextSegment frames */
+ frames?: (google.cloud.videointelligence.v1.ITextFrame[]|null);
+ }
+
+ /** Represents a TextSegment. */
+ class TextSegment implements ITextSegment {
+
+ /**
+ * Constructs a new TextSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITextSegment);
+
+ /** TextSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** TextSegment confidence. */
+ public confidence: number;
+
+ /** TextSegment frames. */
+ public frames: google.cloud.videointelligence.v1.ITextFrame[];
+
+ /**
+ * Creates a new TextSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITextSegment): google.cloud.videointelligence.v1.TextSegment;
+
+ /**
+ * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextSegment;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextSegment;
+
+ /**
+ * Verifies a TextSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextSegment;
+
+ /**
+ * Creates a plain object from a TextSegment message. Also converts values to other types if specified.
+ * @param message TextSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextFrame. */
+ interface ITextFrame {
+
+ /** TextFrame rotatedBoundingBox */
+ rotatedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a TextFrame. */
+ class TextFrame implements ITextFrame {
+
+ /**
+ * Constructs a new TextFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITextFrame);
+
+ /** TextFrame rotatedBoundingBox. */
+ public rotatedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new TextFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITextFrame): google.cloud.videointelligence.v1.TextFrame;
+
+ /**
+ * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextFrame;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextFrame;
+
+ /**
+ * Verifies a TextFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextFrame;
+
+ /**
+ * Creates a plain object from a TextFrame message. Also converts values to other types if specified.
+ * @param message TextFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextAnnotation. */
+ interface ITextAnnotation {
+
+ /** TextAnnotation text */
+ text?: (string|null);
+
+ /** TextAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1.ITextSegment[]|null);
+
+ /** TextAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents a TextAnnotation. */
+ class TextAnnotation implements ITextAnnotation {
+
+ /**
+ * Constructs a new TextAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ITextAnnotation);
+
+ /** TextAnnotation text. */
+ public text: string;
+
+ /** TextAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1.ITextSegment[];
+
+ /** TextAnnotation version. */
+ public version: string;
+
+ /**
+ * Creates a new TextAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ITextAnnotation): google.cloud.videointelligence.v1.TextAnnotation;
+
+ /**
+ * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.TextAnnotation;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.TextAnnotation;
+
+ /**
+ * Verifies a TextAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.TextAnnotation;
+
+ /**
+ * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified.
+ * @param message TextAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingFrame. */
+ interface IObjectTrackingFrame {
+
+ /** ObjectTrackingFrame normalizedBoundingBox */
+ normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an ObjectTrackingFrame. */
+ class ObjectTrackingFrame implements IObjectTrackingFrame {
+
+ /**
+ * Constructs a new ObjectTrackingFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame);
+
+ /** ObjectTrackingFrame normalizedBoundingBox. */
+ public normalizedBoundingBox?: (google.cloud.videointelligence.v1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new ObjectTrackingFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingFrame): google.cloud.videointelligence.v1.ObjectTrackingFrame;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingFrame;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingFrame;
+
+ /**
+ * Verifies an ObjectTrackingFrame message.
+ * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingFrame;
+
+ /**
+ * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified.
+ * @param message ObjectTrackingFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingAnnotation. */
+ interface IObjectTrackingAnnotation {
+
+ /** ObjectTrackingAnnotation segment */
+ segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId */
+ trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence */
+ confidence?: (number|null);
+
+ /** ObjectTrackingAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1.IObjectTrackingFrame[]|null);
+
+ /** ObjectTrackingAnnotation version */
+ version?: (string|null);
+ }
+
+ /** Represents an ObjectTrackingAnnotation. */
+ class ObjectTrackingAnnotation implements IObjectTrackingAnnotation {
+
+ /**
+ * Constructs a new ObjectTrackingAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation);
+
+ /** ObjectTrackingAnnotation segment. */
+ public segment?: (google.cloud.videointelligence.v1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId. */
+ public trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence. */
+ public confidence: number;
+
+ /** ObjectTrackingAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1.IObjectTrackingFrame[];
+
+ /** ObjectTrackingAnnotation version. */
+ public version: string;
+
+ /** ObjectTrackingAnnotation trackInfo. */
+ public trackInfo?: ("segment"|"trackId");
+
+ /**
+ * Creates a new ObjectTrackingAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1.ObjectTrackingAnnotation;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.ObjectTrackingAnnotation;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.ObjectTrackingAnnotation;
+
+ /**
+ * Verifies an ObjectTrackingAnnotation message.
+ * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.ObjectTrackingAnnotation;
+
+ /**
+ * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified.
+ * @param message ObjectTrackingAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogoRecognitionAnnotation. */
+ interface ILogoRecognitionAnnotation {
+
+ /** LogoRecognitionAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** LogoRecognitionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1.ITrack[]|null);
+
+ /** LogoRecognitionAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1.IVideoSegment[]|null);
+ }
+
+ /** Represents a LogoRecognitionAnnotation. */
+ class LogoRecognitionAnnotation implements ILogoRecognitionAnnotation {
+
+ /**
+ * Constructs a new LogoRecognitionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation);
+
+ /** LogoRecognitionAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1.IEntity|null);
+
+ /** LogoRecognitionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1.ITrack[];
+
+ /** LogoRecognitionAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1.IVideoSegment[];
+
+ /**
+ * Creates a new LogoRecognitionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogoRecognitionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation): google.cloud.videointelligence.v1.LogoRecognitionAnnotation;
+
+ /**
+ * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages.
+ * @param message LogoRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify|verify} messages.
+ * @param message LogoRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogoRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1.LogoRecognitionAnnotation;
+
+ /**
+ * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogoRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1.LogoRecognitionAnnotation;
+
+ /**
+ * Verifies a LogoRecognitionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogoRecognitionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1.LogoRecognitionAnnotation;
+
+ /**
+ * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified.
+ * @param message LogoRecognitionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1.LogoRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogoRecognitionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogoRecognitionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1beta2. */
+ namespace v1beta2 {
+
+ /** Represents a VideoIntelligenceService */
+ class VideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1beta2.VideoIntelligenceService.AnnotateVideoCallback): void;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest): Promise;
+ }
+
+ namespace VideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1beta2.VideoIntelligenceService|annotateVideo}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an AnnotateVideoRequest. */
+ interface IAnnotateVideoRequest {
+
+ /** AnnotateVideoRequest inputUri */
+ inputUri?: (string|null);
+
+ /** AnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+
+ /** AnnotateVideoRequest features */
+ features?: (google.cloud.videointelligence.v1beta2.Feature[]|null);
+
+ /** AnnotateVideoRequest videoContext */
+ videoContext?: (google.cloud.videointelligence.v1beta2.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri */
+ outputUri?: (string|null);
+
+ /** AnnotateVideoRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an AnnotateVideoRequest. */
+ class AnnotateVideoRequest implements IAnnotateVideoRequest {
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest);
+
+ /** AnnotateVideoRequest inputUri. */
+ public inputUri: string;
+
+ /** AnnotateVideoRequest inputContent. */
+ public inputContent: (Uint8Array|string);
+
+ /** AnnotateVideoRequest features. */
+ public features: google.cloud.videointelligence.v1beta2.Feature[];
+
+ /** AnnotateVideoRequest videoContext. */
+ public videoContext?: (google.cloud.videointelligence.v1beta2.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri. */
+ public outputUri: string;
+
+ /** AnnotateVideoRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest;
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message AnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoContext. */
+ interface IVideoContext {
+
+ /** VideoContext segments */
+ segments?: (google.cloud.videointelligence.v1beta2.IVideoSegment[]|null);
+
+ /** VideoContext labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig */
+ faceDetectionConfig?: (google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null);
+ }
+
+ /** Represents a VideoContext. */
+ class VideoContext implements IVideoContext {
+
+ /**
+ * Constructs a new VideoContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoContext);
+
+ /** VideoContext segments. */
+ public segments: google.cloud.videointelligence.v1beta2.IVideoSegment[];
+
+ /** VideoContext labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1beta2.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig. */
+ public faceDetectionConfig?: (google.cloud.videointelligence.v1beta2.IFaceDetectionConfig|null);
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoContext): google.cloud.videointelligence.v1beta2.VideoContext;
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoContext;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoContext;
+
+ /**
+ * Verifies a VideoContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoContext;
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @param message VideoContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelDetectionConfig. */
+ interface ILabelDetectionConfig {
+
+ /** LabelDetectionConfig labelDetectionMode */
+ labelDetectionMode?: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1beta2.LabelDetectionMode|null);
+
+ /** LabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+
+ /** LabelDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a LabelDetectionConfig. */
+ class LabelDetectionConfig implements ILabelDetectionConfig {
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig);
+
+ /** LabelDetectionConfig labelDetectionMode. */
+ public labelDetectionMode: (google.cloud.videointelligence.v1beta2.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1beta2.LabelDetectionMode);
+
+ /** LabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /** LabelDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig): google.cloud.videointelligence.v1beta2.LabelDetectionConfig;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelDetectionConfig;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelDetectionConfig;
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message LabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ShotChangeDetectionConfig. */
+ interface IShotChangeDetectionConfig {
+
+ /** ShotChangeDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a ShotChangeDetectionConfig. */
+ class ShotChangeDetectionConfig implements IShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig);
+
+ /** ShotChangeDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig;
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message ShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentDetectionConfig. */
+ interface IExplicitContentDetectionConfig {
+
+ /** ExplicitContentDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ExplicitContentDetectionConfig. */
+ class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig);
+
+ /** ExplicitContentDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig;
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message ExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceDetectionConfig. */
+ interface IFaceDetectionConfig {
+
+ /** FaceDetectionConfig model */
+ model?: (string|null);
+
+ /** FaceDetectionConfig includeBoundingBoxes */
+ includeBoundingBoxes?: (boolean|null);
+ }
+
+ /** Represents a FaceDetectionConfig. */
+ class FaceDetectionConfig implements IFaceDetectionConfig {
+
+ /**
+ * Constructs a new FaceDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig);
+
+ /** FaceDetectionConfig model. */
+ public model: string;
+
+ /** FaceDetectionConfig includeBoundingBoxes. */
+ public includeBoundingBoxes: boolean;
+
+ /**
+ * Creates a new FaceDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig): google.cloud.videointelligence.v1beta2.FaceDetectionConfig;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceDetectionConfig;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceDetectionConfig;
+
+ /**
+ * Verifies a FaceDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceDetectionConfig;
+
+ /**
+ * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified.
+ * @param message FaceDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoSegment. */
+ interface IVideoSegment {
+
+ /** VideoSegment startTimeOffset */
+ startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset */
+ endTimeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a VideoSegment. */
+ class VideoSegment implements IVideoSegment {
+
+ /**
+ * Constructs a new VideoSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoSegment);
+
+ /** VideoSegment startTimeOffset. */
+ public startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset. */
+ public endTimeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoSegment): google.cloud.videointelligence.v1beta2.VideoSegment;
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoSegment;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoSegment;
+
+ /**
+ * Verifies a VideoSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoSegment;
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @param message VideoSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelSegment. */
+ interface ILabelSegment {
+
+ /** LabelSegment segment */
+ segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null);
+
+ /** LabelSegment confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelSegment. */
+ class LabelSegment implements ILabelSegment {
+
+ /**
+ * Constructs a new LabelSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelSegment);
+
+ /** LabelSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null);
+
+ /** LabelSegment confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelSegment): google.cloud.videointelligence.v1beta2.LabelSegment;
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelSegment;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelSegment;
+
+ /**
+ * Verifies a LabelSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelSegment;
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @param message LabelSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelFrame. */
+ interface ILabelFrame {
+
+ /** LabelFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelFrame. */
+ class LabelFrame implements ILabelFrame {
+
+ /**
+ * Constructs a new LabelFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelFrame);
+
+ /** LabelFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelFrame): google.cloud.videointelligence.v1beta2.LabelFrame;
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelFrame;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelFrame;
+
+ /**
+ * Verifies a LabelFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelFrame;
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @param message LabelFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity entityId */
+ entityId?: (string|null);
+
+ /** Entity description */
+ description?: (string|null);
+
+ /** Entity languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IEntity);
+
+ /** Entity entityId. */
+ public entityId: string;
+
+ /** Entity description. */
+ public description: string;
+
+ /** Entity languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IEntity): google.cloud.videointelligence.v1beta2.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelAnnotation. */
+ interface ILabelAnnotation {
+
+ /** LabelAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1beta2.IEntity|null);
+
+ /** LabelAnnotation categoryEntities */
+ categoryEntities?: (google.cloud.videointelligence.v1beta2.IEntity[]|null);
+
+ /** LabelAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1beta2.ILabelSegment[]|null);
+
+ /** LabelAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1beta2.ILabelFrame[]|null);
+ }
+
+ /** Represents a LabelAnnotation. */
+ class LabelAnnotation implements ILabelAnnotation {
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.ILabelAnnotation);
+
+ /** LabelAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1beta2.IEntity|null);
+
+ /** LabelAnnotation categoryEntities. */
+ public categoryEntities: google.cloud.videointelligence.v1beta2.IEntity[];
+
+ /** LabelAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1beta2.ILabelSegment[];
+
+ /** LabelAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1beta2.ILabelFrame[];
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.ILabelAnnotation): google.cloud.videointelligence.v1beta2.LabelAnnotation;
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.LabelAnnotation;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.LabelAnnotation;
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.LabelAnnotation;
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @param message LabelAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentFrame. */
+ interface IExplicitContentFrame {
+
+ /** ExplicitContentFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood */
+ pornographyLikelihood?: (google.cloud.videointelligence.v1beta2.Likelihood|keyof typeof google.cloud.videointelligence.v1beta2.Likelihood|null);
+ }
+
+ /** Represents an ExplicitContentFrame. */
+ class ExplicitContentFrame implements IExplicitContentFrame {
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentFrame);
+
+ /** ExplicitContentFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood. */
+ public pornographyLikelihood: (google.cloud.videointelligence.v1beta2.Likelihood|keyof typeof google.cloud.videointelligence.v1beta2.Likelihood);
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentFrame): google.cloud.videointelligence.v1beta2.ExplicitContentFrame;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentFrame;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentFrame;
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentFrame;
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @param message ExplicitContentFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentAnnotation. */
+ interface IExplicitContentAnnotation {
+
+ /** ExplicitContentAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1beta2.IExplicitContentFrame[]|null);
+ }
+
+ /** Represents an ExplicitContentAnnotation. */
+ class ExplicitContentAnnotation implements IExplicitContentAnnotation {
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation);
+
+ /** ExplicitContentAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1beta2.IExplicitContentFrame[];
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation;
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation;
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @param message ExplicitContentAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingBox. */
+ interface INormalizedBoundingBox {
+
+ /** NormalizedBoundingBox left */
+ left?: (number|null);
+
+ /** NormalizedBoundingBox top */
+ top?: (number|null);
+
+ /** NormalizedBoundingBox right */
+ right?: (number|null);
+
+ /** NormalizedBoundingBox bottom */
+ bottom?: (number|null);
+ }
+
+ /** Represents a NormalizedBoundingBox. */
+ class NormalizedBoundingBox implements INormalizedBoundingBox {
+
+ /**
+ * Constructs a new NormalizedBoundingBox.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox);
+
+ /** NormalizedBoundingBox left. */
+ public left: number;
+
+ /** NormalizedBoundingBox top. */
+ public top: number;
+
+ /** NormalizedBoundingBox right. */
+ public right: number;
+
+ /** NormalizedBoundingBox bottom. */
+ public bottom: number;
+
+ /**
+ * Creates a new NormalizedBoundingBox instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingBox instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox;
+
+ /**
+ * Verifies a NormalizedBoundingBox message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingBox
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.NormalizedBoundingBox;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingBox
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingBox to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingBox
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceSegment. */
+ interface IFaceSegment {
+
+ /** FaceSegment segment */
+ segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null);
+ }
+
+ /** Represents a FaceSegment. */
+ class FaceSegment implements IFaceSegment {
+
+ /**
+ * Constructs a new FaceSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceSegment);
+
+ /** FaceSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1beta2.IVideoSegment|null);
+
+ /**
+ * Creates a new FaceSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceSegment): google.cloud.videointelligence.v1beta2.FaceSegment;
+
+ /**
+ * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages.
+ * @param message FaceSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceSegment.verify|verify} messages.
+ * @param message FaceSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceSegment;
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceSegment;
+
+ /**
+ * Verifies a FaceSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceSegment;
+
+ /**
+ * Creates a plain object from a FaceSegment message. Also converts values to other types if specified.
+ * @param message FaceSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.FaceSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceFrame. */
+ interface IFaceFrame {
+
+ /** FaceFrame normalizedBoundingBoxes */
+ normalizedBoundingBoxes?: (google.cloud.videointelligence.v1beta2.INormalizedBoundingBox[]|null);
+
+ /** FaceFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a FaceFrame. */
+ class FaceFrame implements IFaceFrame {
+
+ /**
+ * Constructs a new FaceFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceFrame);
+
+ /** FaceFrame normalizedBoundingBoxes. */
+ public normalizedBoundingBoxes: google.cloud.videointelligence.v1beta2.INormalizedBoundingBox[];
+
+ /** FaceFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new FaceFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceFrame): google.cloud.videointelligence.v1beta2.FaceFrame;
+
+ /**
+ * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages.
+ * @param message FaceFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceFrame.verify|verify} messages.
+ * @param message FaceFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceFrame;
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceFrame;
+
+ /**
+ * Verifies a FaceFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceFrame;
+
+ /**
+ * Creates a plain object from a FaceFrame message. Also converts values to other types if specified.
+ * @param message FaceFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.FaceFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceAnnotation. */
+ interface IFaceAnnotation {
+
+ /** FaceAnnotation thumbnail */
+ thumbnail?: (Uint8Array|string|null);
+
+ /** FaceAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1beta2.IFaceSegment[]|null);
+
+ /** FaceAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1beta2.IFaceFrame[]|null);
+ }
+
+ /** Represents a FaceAnnotation. */
+ class FaceAnnotation implements IFaceAnnotation {
+
+ /**
+ * Constructs a new FaceAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IFaceAnnotation);
+
+ /** FaceAnnotation thumbnail. */
+ public thumbnail: (Uint8Array|string);
+
+ /** FaceAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1beta2.IFaceSegment[];
+
+ /** FaceAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1beta2.IFaceFrame[];
+
+ /**
+ * Creates a new FaceAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IFaceAnnotation): google.cloud.videointelligence.v1beta2.FaceAnnotation;
+
+ /**
+ * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceAnnotation.verify|verify} messages.
+ * @param message FaceAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.FaceAnnotation.verify|verify} messages.
+ * @param message FaceAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IFaceAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.FaceAnnotation;
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.FaceAnnotation;
+
+ /**
+ * Verifies a FaceAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.FaceAnnotation;
+
+ /**
+ * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified.
+ * @param message FaceAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.FaceAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationResults. */
+ interface IVideoAnnotationResults {
+
+ /** VideoAnnotationResults inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations */
+ segmentLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotLabelAnnotations */
+ shotLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults frameLabelAnnotations */
+ frameLabelAnnotations?: (google.cloud.videointelligence.v1beta2.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults faceAnnotations */
+ faceAnnotations?: (google.cloud.videointelligence.v1beta2.IFaceAnnotation[]|null);
+
+ /** VideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1beta2.IVideoSegment[]|null);
+
+ /** VideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a VideoAnnotationResults. */
+ class VideoAnnotationResults implements IVideoAnnotationResults {
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults);
+
+ /** VideoAnnotationResults inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationResults segmentLabelAnnotations. */
+ public segmentLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotLabelAnnotations. */
+ public shotLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[];
+
+ /** VideoAnnotationResults frameLabelAnnotations. */
+ public frameLabelAnnotations: google.cloud.videointelligence.v1beta2.ILabelAnnotation[];
+
+ /** VideoAnnotationResults faceAnnotations. */
+ public faceAnnotations: google.cloud.videointelligence.v1beta2.IFaceAnnotation[];
+
+ /** VideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1beta2.IVideoSegment[];
+
+ /** VideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1beta2.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults): google.cloud.videointelligence.v1beta2.VideoAnnotationResults;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoAnnotationResults;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoAnnotationResults;
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message VideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoResponse. */
+ interface IAnnotateVideoResponse {
+
+ /** AnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1beta2.IVideoAnnotationResults[]|null);
+ }
+
+ /** Represents an AnnotateVideoResponse. */
+ class AnnotateVideoResponse implements IAnnotateVideoResponse {
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse);
+
+ /** AnnotateVideoResponse annotationResults. */
+ public annotationResults: google.cloud.videointelligence.v1beta2.IVideoAnnotationResults[];
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse;
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message AnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationProgress. */
+ interface IVideoAnnotationProgress {
+
+ /** VideoAnnotationProgress inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationProgress progressPercent */
+ progressPercent?: (number|null);
+
+ /** VideoAnnotationProgress startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a VideoAnnotationProgress. */
+ class VideoAnnotationProgress implements IVideoAnnotationProgress {
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress);
+
+ /** VideoAnnotationProgress inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationProgress progressPercent. */
+ public progressPercent: number;
+
+ /** VideoAnnotationProgress startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress;
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.VideoAnnotationProgress;
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @param message VideoAnnotationProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoProgress. */
+ interface IAnnotateVideoProgress {
+
+ /** AnnotateVideoProgress annotationProgress */
+ annotationProgress?: (google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress[]|null);
+ }
+
+ /** Represents an AnnotateVideoProgress. */
+ class AnnotateVideoProgress implements IAnnotateVideoProgress {
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress);
+
+ /** AnnotateVideoProgress annotationProgress. */
+ public annotationProgress: google.cloud.videointelligence.v1beta2.IVideoAnnotationProgress[];
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1beta2.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1beta2.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress;
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1beta2.AnnotateVideoProgress;
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @param message AnnotateVideoProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1beta2.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Feature enum. */
+ enum Feature {
+ FEATURE_UNSPECIFIED = 0,
+ LABEL_DETECTION = 1,
+ SHOT_CHANGE_DETECTION = 2,
+ EXPLICIT_CONTENT_DETECTION = 3,
+ FACE_DETECTION = 4
+ }
+
+ /** LabelDetectionMode enum. */
+ enum LabelDetectionMode {
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0,
+ SHOT_MODE = 1,
+ FRAME_MODE = 2,
+ SHOT_AND_FRAME_MODE = 3
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+ }
+
+ /** Namespace v1p1beta1. */
+ namespace v1p1beta1 {
+
+ /** Represents a VideoIntelligenceService */
+ class VideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService.AnnotateVideoCallback): void;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest): Promise;
+ }
+
+ namespace VideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService|annotateVideo}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an AnnotateVideoRequest. */
+ interface IAnnotateVideoRequest {
+
+ /** AnnotateVideoRequest inputUri */
+ inputUri?: (string|null);
+
+ /** AnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+
+ /** AnnotateVideoRequest features */
+ features?: (google.cloud.videointelligence.v1p1beta1.Feature[]|null);
+
+ /** AnnotateVideoRequest videoContext */
+ videoContext?: (google.cloud.videointelligence.v1p1beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri */
+ outputUri?: (string|null);
+
+ /** AnnotateVideoRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an AnnotateVideoRequest. */
+ class AnnotateVideoRequest implements IAnnotateVideoRequest {
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest);
+
+ /** AnnotateVideoRequest inputUri. */
+ public inputUri: string;
+
+ /** AnnotateVideoRequest inputContent. */
+ public inputContent: (Uint8Array|string);
+
+ /** AnnotateVideoRequest features. */
+ public features: google.cloud.videointelligence.v1p1beta1.Feature[];
+
+ /** AnnotateVideoRequest videoContext. */
+ public videoContext?: (google.cloud.videointelligence.v1p1beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri. */
+ public outputUri: string;
+
+ /** AnnotateVideoRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest;
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message AnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoContext. */
+ interface IVideoContext {
+
+ /** VideoContext segments */
+ segments?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment[]|null);
+
+ /** VideoContext labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig */
+ speechTranscriptionConfig?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null);
+ }
+
+ /** Represents a VideoContext. */
+ class VideoContext implements IVideoContext {
+
+ /**
+ * Constructs a new VideoContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoContext);
+
+ /** VideoContext segments. */
+ public segments: google.cloud.videointelligence.v1p1beta1.IVideoSegment[];
+
+ /** VideoContext labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig. */
+ public speechTranscriptionConfig?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig|null);
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoContext): google.cloud.videointelligence.v1p1beta1.VideoContext;
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoContext;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoContext;
+
+ /**
+ * Verifies a VideoContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoContext;
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @param message VideoContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelDetectionConfig. */
+ interface ILabelDetectionConfig {
+
+ /** LabelDetectionConfig labelDetectionMode */
+ labelDetectionMode?: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|null);
+
+ /** LabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+
+ /** LabelDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a LabelDetectionConfig. */
+ class LabelDetectionConfig implements ILabelDetectionConfig {
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig);
+
+ /** LabelDetectionConfig labelDetectionMode. */
+ public labelDetectionMode: (google.cloud.videointelligence.v1p1beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p1beta1.LabelDetectionMode);
+
+ /** LabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /** LabelDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig;
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message LabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ShotChangeDetectionConfig. */
+ interface IShotChangeDetectionConfig {
+
+ /** ShotChangeDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a ShotChangeDetectionConfig. */
+ class ShotChangeDetectionConfig implements IShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig);
+
+ /** ShotChangeDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message ShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentDetectionConfig. */
+ interface IExplicitContentDetectionConfig {
+
+ /** ExplicitContentDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ExplicitContentDetectionConfig. */
+ class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig);
+
+ /** ExplicitContentDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message ExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoSegment. */
+ interface IVideoSegment {
+
+ /** VideoSegment startTimeOffset */
+ startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset */
+ endTimeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a VideoSegment. */
+ class VideoSegment implements IVideoSegment {
+
+ /**
+ * Constructs a new VideoSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoSegment);
+
+ /** VideoSegment startTimeOffset. */
+ public startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset. */
+ public endTimeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoSegment): google.cloud.videointelligence.v1p1beta1.VideoSegment;
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoSegment;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoSegment;
+
+ /**
+ * Verifies a VideoSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoSegment;
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @param message VideoSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelSegment. */
+ interface ILabelSegment {
+
+ /** LabelSegment segment */
+ segment?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelSegment. */
+ class LabelSegment implements ILabelSegment {
+
+ /**
+ * Constructs a new LabelSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelSegment);
+
+ /** LabelSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelSegment): google.cloud.videointelligence.v1p1beta1.LabelSegment;
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelSegment;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelSegment;
+
+ /**
+ * Verifies a LabelSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelSegment;
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @param message LabelSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelFrame. */
+ interface ILabelFrame {
+
+ /** LabelFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelFrame. */
+ class LabelFrame implements ILabelFrame {
+
+ /**
+ * Constructs a new LabelFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelFrame);
+
+ /** LabelFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelFrame): google.cloud.videointelligence.v1p1beta1.LabelFrame;
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelFrame;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelFrame;
+
+ /**
+ * Verifies a LabelFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelFrame;
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @param message LabelFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity entityId */
+ entityId?: (string|null);
+
+ /** Entity description */
+ description?: (string|null);
+
+ /** Entity languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IEntity);
+
+ /** Entity entityId. */
+ public entityId: string;
+
+ /** Entity description. */
+ public description: string;
+
+ /** Entity languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IEntity): google.cloud.videointelligence.v1p1beta1.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelAnnotation. */
+ interface ILabelAnnotation {
+
+ /** LabelAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p1beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities */
+ categoryEntities?: (google.cloud.videointelligence.v1p1beta1.IEntity[]|null);
+
+ /** LabelAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p1beta1.ILabelSegment[]|null);
+
+ /** LabelAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p1beta1.ILabelFrame[]|null);
+ }
+
+ /** Represents a LabelAnnotation. */
+ class LabelAnnotation implements ILabelAnnotation {
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation);
+
+ /** LabelAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p1beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities. */
+ public categoryEntities: google.cloud.videointelligence.v1p1beta1.IEntity[];
+
+ /** LabelAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p1beta1.ILabelSegment[];
+
+ /** LabelAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p1beta1.ILabelFrame[];
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation): google.cloud.videointelligence.v1p1beta1.LabelAnnotation;
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.LabelAnnotation;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.LabelAnnotation;
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.LabelAnnotation;
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @param message LabelAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentFrame. */
+ interface IExplicitContentFrame {
+
+ /** ExplicitContentFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood */
+ pornographyLikelihood?: (google.cloud.videointelligence.v1p1beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p1beta1.Likelihood|null);
+ }
+
+ /** Represents an ExplicitContentFrame. */
+ class ExplicitContentFrame implements IExplicitContentFrame {
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame);
+
+ /** ExplicitContentFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood. */
+ public pornographyLikelihood: (google.cloud.videointelligence.v1p1beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p1beta1.Likelihood);
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame;
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame;
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @param message ExplicitContentFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentAnnotation. */
+ interface IExplicitContentAnnotation {
+
+ /** ExplicitContentAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame[]|null);
+ }
+
+ /** Represents an ExplicitContentAnnotation. */
+ class ExplicitContentAnnotation implements IExplicitContentAnnotation {
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation);
+
+ /** ExplicitContentAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p1beta1.IExplicitContentFrame[];
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation;
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation;
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @param message ExplicitContentAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationResults. */
+ interface IVideoAnnotationResults {
+
+ /** VideoAnnotationResults inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations */
+ segmentLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotLabelAnnotations */
+ shotLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults frameLabelAnnotations */
+ frameLabelAnnotations?: (google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1p1beta1.IVideoSegment[]|null);
+
+ /** VideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions */
+ speechTranscriptions?: (google.cloud.videointelligence.v1p1beta1.ISpeechTranscription[]|null);
+
+ /** VideoAnnotationResults error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a VideoAnnotationResults. */
+ class VideoAnnotationResults implements IVideoAnnotationResults {
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults);
+
+ /** VideoAnnotationResults inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationResults segmentLabelAnnotations. */
+ public segmentLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotLabelAnnotations. */
+ public shotLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults frameLabelAnnotations. */
+ public frameLabelAnnotations: google.cloud.videointelligence.v1p1beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1p1beta1.IVideoSegment[];
+
+ /** VideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1p1beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions. */
+ public speechTranscriptions: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription[];
+
+ /** VideoAnnotationResults error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults;
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message VideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoResponse. */
+ interface IAnnotateVideoResponse {
+
+ /** AnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults[]|null);
+ }
+
+ /** Represents an AnnotateVideoResponse. */
+ class AnnotateVideoResponse implements IAnnotateVideoResponse {
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse);
+
+ /** AnnotateVideoResponse annotationResults. */
+ public annotationResults: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationResults[];
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse;
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message AnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationProgress. */
+ interface IVideoAnnotationProgress {
+
+ /** VideoAnnotationProgress inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationProgress progressPercent */
+ progressPercent?: (number|null);
+
+ /** VideoAnnotationProgress startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a VideoAnnotationProgress. */
+ class VideoAnnotationProgress implements IVideoAnnotationProgress {
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress);
+
+ /** VideoAnnotationProgress inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationProgress progressPercent. */
+ public progressPercent: number;
+
+ /** VideoAnnotationProgress startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress;
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress;
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @param message VideoAnnotationProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoProgress. */
+ interface IAnnotateVideoProgress {
+
+ /** AnnotateVideoProgress annotationProgress */
+ annotationProgress?: (google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress[]|null);
+ }
+
+ /** Represents an AnnotateVideoProgress. */
+ class AnnotateVideoProgress implements IAnnotateVideoProgress {
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress);
+
+ /** AnnotateVideoProgress annotationProgress. */
+ public annotationProgress: google.cloud.videointelligence.v1p1beta1.IVideoAnnotationProgress[];
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress;
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress;
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @param message AnnotateVideoProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscriptionConfig. */
+ interface ISpeechTranscriptionConfig {
+
+ /** SpeechTranscriptionConfig languageCode */
+ languageCode?: (string|null);
+
+ /** SpeechTranscriptionConfig maxAlternatives */
+ maxAlternatives?: (number|null);
+
+ /** SpeechTranscriptionConfig filterProfanity */
+ filterProfanity?: (boolean|null);
+
+ /** SpeechTranscriptionConfig speechContexts */
+ speechContexts?: (google.cloud.videointelligence.v1p1beta1.ISpeechContext[]|null);
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation */
+ enableAutomaticPunctuation?: (boolean|null);
+
+ /** SpeechTranscriptionConfig audioTracks */
+ audioTracks?: (number[]|null);
+ }
+
+ /** Represents a SpeechTranscriptionConfig. */
+ class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig {
+
+ /**
+ * Constructs a new SpeechTranscriptionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig);
+
+ /** SpeechTranscriptionConfig languageCode. */
+ public languageCode: string;
+
+ /** SpeechTranscriptionConfig maxAlternatives. */
+ public maxAlternatives: number;
+
+ /** SpeechTranscriptionConfig filterProfanity. */
+ public filterProfanity: boolean;
+
+ /** SpeechTranscriptionConfig speechContexts. */
+ public speechContexts: google.cloud.videointelligence.v1p1beta1.ISpeechContext[];
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation. */
+ public enableAutomaticPunctuation: boolean;
+
+ /** SpeechTranscriptionConfig audioTracks. */
+ public audioTracks: number[];
+
+ /**
+ * Creates a new SpeechTranscriptionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscriptionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Verifies a SpeechTranscriptionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscriptionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified.
+ * @param message SpeechTranscriptionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscriptionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscriptionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechContext. */
+ interface ISpeechContext {
+
+ /** SpeechContext phrases */
+ phrases?: (string[]|null);
+ }
+
+ /** Represents a SpeechContext. */
+ class SpeechContext implements ISpeechContext {
+
+ /**
+ * Constructs a new SpeechContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechContext);
+
+ /** SpeechContext phrases. */
+ public phrases: string[];
+
+ /**
+ * Creates a new SpeechContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechContext): google.cloud.videointelligence.v1p1beta1.SpeechContext;
+
+ /**
+ * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechContext;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechContext;
+
+ /**
+ * Verifies a SpeechContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechContext;
+
+ /**
+ * Creates a plain object from a SpeechContext message. Also converts values to other types if specified.
+ * @param message SpeechContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscription. */
+ interface ISpeechTranscription {
+
+ /** SpeechTranscription alternatives */
+ alternatives?: (google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative[]|null);
+ }
+
+ /** Represents a SpeechTranscription. */
+ class SpeechTranscription implements ISpeechTranscription {
+
+ /**
+ * Constructs a new SpeechTranscription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription);
+
+ /** SpeechTranscription alternatives. */
+ public alternatives: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative[];
+
+ /**
+ * Creates a new SpeechTranscription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscription instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription): google.cloud.videointelligence.v1p1beta1.SpeechTranscription;
+
+ /**
+ * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechTranscription;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechTranscription;
+
+ /**
+ * Verifies a SpeechTranscription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechTranscription;
+
+ /**
+ * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified.
+ * @param message SpeechTranscription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechRecognitionAlternative. */
+ interface ISpeechRecognitionAlternative {
+
+ /** SpeechRecognitionAlternative transcript */
+ transcript?: (string|null);
+
+ /** SpeechRecognitionAlternative confidence */
+ confidence?: (number|null);
+
+ /** SpeechRecognitionAlternative words */
+ words?: (google.cloud.videointelligence.v1p1beta1.IWordInfo[]|null);
+ }
+
+ /** Represents a SpeechRecognitionAlternative. */
+ class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative {
+
+ /**
+ * Constructs a new SpeechRecognitionAlternative.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative);
+
+ /** SpeechRecognitionAlternative transcript. */
+ public transcript: string;
+
+ /** SpeechRecognitionAlternative confidence. */
+ public confidence: number;
+
+ /** SpeechRecognitionAlternative words. */
+ public words: google.cloud.videointelligence.v1p1beta1.IWordInfo[];
+
+ /**
+ * Creates a new SpeechRecognitionAlternative instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechRecognitionAlternative instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Verifies a SpeechRecognitionAlternative message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechRecognitionAlternative
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified.
+ * @param message SpeechRecognitionAlternative
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechRecognitionAlternative to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechRecognitionAlternative
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WordInfo. */
+ interface IWordInfo {
+
+ /** WordInfo startTime */
+ startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime */
+ endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word */
+ word?: (string|null);
+ }
+
+ /** Represents a WordInfo. */
+ class WordInfo implements IWordInfo {
+
+ /**
+ * Constructs a new WordInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p1beta1.IWordInfo);
+
+ /** WordInfo startTime. */
+ public startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime. */
+ public endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word. */
+ public word: string;
+
+ /**
+ * Creates a new WordInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WordInfo instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p1beta1.IWordInfo): google.cloud.videointelligence.v1p1beta1.WordInfo;
+
+ /**
+ * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p1beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p1beta1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p1beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p1beta1.WordInfo;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p1beta1.WordInfo;
+
+ /**
+ * Verifies a WordInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WordInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WordInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p1beta1.WordInfo;
+
+ /**
+ * Creates a plain object from a WordInfo message. Also converts values to other types if specified.
+ * @param message WordInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p1beta1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WordInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WordInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Feature enum. */
+ enum Feature {
+ FEATURE_UNSPECIFIED = 0,
+ LABEL_DETECTION = 1,
+ SHOT_CHANGE_DETECTION = 2,
+ EXPLICIT_CONTENT_DETECTION = 3,
+ SPEECH_TRANSCRIPTION = 6
+ }
+
+ /** LabelDetectionMode enum. */
+ enum LabelDetectionMode {
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0,
+ SHOT_MODE = 1,
+ FRAME_MODE = 2,
+ SHOT_AND_FRAME_MODE = 3
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+ }
+
+ /** Namespace v1p2beta1. */
+ namespace v1p2beta1 {
+
+ /** Represents a VideoIntelligenceService */
+ class VideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService.AnnotateVideoCallback): void;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest): Promise;
+ }
+
+ namespace VideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1p2beta1.VideoIntelligenceService|annotateVideo}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an AnnotateVideoRequest. */
+ interface IAnnotateVideoRequest {
+
+ /** AnnotateVideoRequest inputUri */
+ inputUri?: (string|null);
+
+ /** AnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+
+ /** AnnotateVideoRequest features */
+ features?: (google.cloud.videointelligence.v1p2beta1.Feature[]|null);
+
+ /** AnnotateVideoRequest videoContext */
+ videoContext?: (google.cloud.videointelligence.v1p2beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri */
+ outputUri?: (string|null);
+
+ /** AnnotateVideoRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an AnnotateVideoRequest. */
+ class AnnotateVideoRequest implements IAnnotateVideoRequest {
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest);
+
+ /** AnnotateVideoRequest inputUri. */
+ public inputUri: string;
+
+ /** AnnotateVideoRequest inputContent. */
+ public inputContent: (Uint8Array|string);
+
+ /** AnnotateVideoRequest features. */
+ public features: google.cloud.videointelligence.v1p2beta1.Feature[];
+
+ /** AnnotateVideoRequest videoContext. */
+ public videoContext?: (google.cloud.videointelligence.v1p2beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri. */
+ public outputUri: string;
+
+ /** AnnotateVideoRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest;
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message AnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoContext. */
+ interface IVideoContext {
+
+ /** VideoContext segments */
+ segments?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment[]|null);
+
+ /** VideoContext labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext textDetectionConfig */
+ textDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null);
+ }
+
+ /** Represents a VideoContext. */
+ class VideoContext implements IVideoContext {
+
+ /**
+ * Constructs a new VideoContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoContext);
+
+ /** VideoContext segments. */
+ public segments: google.cloud.videointelligence.v1p2beta1.IVideoSegment[];
+
+ /** VideoContext labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext textDetectionConfig. */
+ public textDetectionConfig?: (google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig|null);
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoContext): google.cloud.videointelligence.v1p2beta1.VideoContext;
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoContext;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoContext;
+
+ /**
+ * Verifies a VideoContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoContext;
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @param message VideoContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelDetectionConfig. */
+ interface ILabelDetectionConfig {
+
+ /** LabelDetectionConfig labelDetectionMode */
+ labelDetectionMode?: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|null);
+
+ /** LabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+
+ /** LabelDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a LabelDetectionConfig. */
+ class LabelDetectionConfig implements ILabelDetectionConfig {
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig);
+
+ /** LabelDetectionConfig labelDetectionMode. */
+ public labelDetectionMode: (google.cloud.videointelligence.v1p2beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p2beta1.LabelDetectionMode);
+
+ /** LabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /** LabelDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig;
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message LabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ShotChangeDetectionConfig. */
+ interface IShotChangeDetectionConfig {
+
+ /** ShotChangeDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a ShotChangeDetectionConfig. */
+ class ShotChangeDetectionConfig implements IShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig);
+
+ /** ShotChangeDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message ShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentDetectionConfig. */
+ interface IExplicitContentDetectionConfig {
+
+ /** ExplicitContentDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ExplicitContentDetectionConfig. */
+ class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig);
+
+ /** ExplicitContentDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message ExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextDetectionConfig. */
+ interface ITextDetectionConfig {
+
+ /** TextDetectionConfig languageHints */
+ languageHints?: (string[]|null);
+ }
+
+ /** Represents a TextDetectionConfig. */
+ class TextDetectionConfig implements ITextDetectionConfig {
+
+ /**
+ * Constructs a new TextDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig);
+
+ /** TextDetectionConfig languageHints. */
+ public languageHints: string[];
+
+ /**
+ * Creates a new TextDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig;
+
+ /**
+ * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig;
+
+ /**
+ * Verifies a TextDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextDetectionConfig;
+
+ /**
+ * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified.
+ * @param message TextDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoSegment. */
+ interface IVideoSegment {
+
+ /** VideoSegment startTimeOffset */
+ startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset */
+ endTimeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a VideoSegment. */
+ class VideoSegment implements IVideoSegment {
+
+ /**
+ * Constructs a new VideoSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoSegment);
+
+ /** VideoSegment startTimeOffset. */
+ public startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset. */
+ public endTimeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoSegment): google.cloud.videointelligence.v1p2beta1.VideoSegment;
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoSegment;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoSegment;
+
+ /**
+ * Verifies a VideoSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoSegment;
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @param message VideoSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelSegment. */
+ interface ILabelSegment {
+
+ /** LabelSegment segment */
+ segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelSegment. */
+ class LabelSegment implements ILabelSegment {
+
+ /**
+ * Constructs a new LabelSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelSegment);
+
+ /** LabelSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelSegment): google.cloud.videointelligence.v1p2beta1.LabelSegment;
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelSegment;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelSegment;
+
+ /**
+ * Verifies a LabelSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelSegment;
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @param message LabelSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelFrame. */
+ interface ILabelFrame {
+
+ /** LabelFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelFrame. */
+ class LabelFrame implements ILabelFrame {
+
+ /**
+ * Constructs a new LabelFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelFrame);
+
+ /** LabelFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelFrame): google.cloud.videointelligence.v1p2beta1.LabelFrame;
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelFrame;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelFrame;
+
+ /**
+ * Verifies a LabelFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelFrame;
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @param message LabelFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity entityId */
+ entityId?: (string|null);
+
+ /** Entity description */
+ description?: (string|null);
+
+ /** Entity languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IEntity);
+
+ /** Entity entityId. */
+ public entityId: string;
+
+ /** Entity description. */
+ public description: string;
+
+ /** Entity languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IEntity): google.cloud.videointelligence.v1p2beta1.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelAnnotation. */
+ interface ILabelAnnotation {
+
+ /** LabelAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities */
+ categoryEntities?: (google.cloud.videointelligence.v1p2beta1.IEntity[]|null);
+
+ /** LabelAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p2beta1.ILabelSegment[]|null);
+
+ /** LabelAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p2beta1.ILabelFrame[]|null);
+ }
+
+ /** Represents a LabelAnnotation. */
+ class LabelAnnotation implements ILabelAnnotation {
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation);
+
+ /** LabelAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities. */
+ public categoryEntities: google.cloud.videointelligence.v1p2beta1.IEntity[];
+
+ /** LabelAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p2beta1.ILabelSegment[];
+
+ /** LabelAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p2beta1.ILabelFrame[];
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation): google.cloud.videointelligence.v1p2beta1.LabelAnnotation;
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.LabelAnnotation;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.LabelAnnotation;
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.LabelAnnotation;
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @param message LabelAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentFrame. */
+ interface IExplicitContentFrame {
+
+ /** ExplicitContentFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood */
+ pornographyLikelihood?: (google.cloud.videointelligence.v1p2beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p2beta1.Likelihood|null);
+ }
+
+ /** Represents an ExplicitContentFrame. */
+ class ExplicitContentFrame implements IExplicitContentFrame {
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame);
+
+ /** ExplicitContentFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood. */
+ public pornographyLikelihood: (google.cloud.videointelligence.v1p2beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p2beta1.Likelihood);
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame;
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame;
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @param message ExplicitContentFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentAnnotation. */
+ interface IExplicitContentAnnotation {
+
+ /** ExplicitContentAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame[]|null);
+ }
+
+ /** Represents an ExplicitContentAnnotation. */
+ class ExplicitContentAnnotation implements IExplicitContentAnnotation {
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation);
+
+ /** ExplicitContentAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p2beta1.IExplicitContentFrame[];
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation;
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation;
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @param message ExplicitContentAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingBox. */
+ interface INormalizedBoundingBox {
+
+ /** NormalizedBoundingBox left */
+ left?: (number|null);
+
+ /** NormalizedBoundingBox top */
+ top?: (number|null);
+
+ /** NormalizedBoundingBox right */
+ right?: (number|null);
+
+ /** NormalizedBoundingBox bottom */
+ bottom?: (number|null);
+ }
+
+ /** Represents a NormalizedBoundingBox. */
+ class NormalizedBoundingBox implements INormalizedBoundingBox {
+
+ /**
+ * Constructs a new NormalizedBoundingBox.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox);
+
+ /** NormalizedBoundingBox left. */
+ public left: number;
+
+ /** NormalizedBoundingBox top. */
+ public top: number;
+
+ /** NormalizedBoundingBox right. */
+ public right: number;
+
+ /** NormalizedBoundingBox bottom. */
+ public bottom: number;
+
+ /**
+ * Creates a new NormalizedBoundingBox instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingBox instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox;
+
+ /**
+ * Verifies a NormalizedBoundingBox message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingBox
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingBox
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingBox to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingBox
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationResults. */
+ interface IVideoAnnotationResults {
+
+ /** VideoAnnotationResults inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations */
+ segmentLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotLabelAnnotations */
+ shotLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults frameLabelAnnotations */
+ frameLabelAnnotations?: (google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment[]|null);
+
+ /** VideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults textAnnotations */
+ textAnnotations?: (google.cloud.videointelligence.v1p2beta1.ITextAnnotation[]|null);
+
+ /** VideoAnnotationResults objectAnnotations */
+ objectAnnotations?: (google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation[]|null);
+
+ /** VideoAnnotationResults error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a VideoAnnotationResults. */
+ class VideoAnnotationResults implements IVideoAnnotationResults {
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults);
+
+ /** VideoAnnotationResults inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationResults segmentLabelAnnotations. */
+ public segmentLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotLabelAnnotations. */
+ public shotLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults frameLabelAnnotations. */
+ public frameLabelAnnotations: google.cloud.videointelligence.v1p2beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1p2beta1.IVideoSegment[];
+
+ /** VideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1p2beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults textAnnotations. */
+ public textAnnotations: google.cloud.videointelligence.v1p2beta1.ITextAnnotation[];
+
+ /** VideoAnnotationResults objectAnnotations. */
+ public objectAnnotations: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation[];
+
+ /** VideoAnnotationResults error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults;
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message VideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoResponse. */
+ interface IAnnotateVideoResponse {
+
+ /** AnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults[]|null);
+ }
+
+ /** Represents an AnnotateVideoResponse. */
+ class AnnotateVideoResponse implements IAnnotateVideoResponse {
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse);
+
+ /** AnnotateVideoResponse annotationResults. */
+ public annotationResults: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationResults[];
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse;
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message AnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationProgress. */
+ interface IVideoAnnotationProgress {
+
+ /** VideoAnnotationProgress inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationProgress progressPercent */
+ progressPercent?: (number|null);
+
+ /** VideoAnnotationProgress startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a VideoAnnotationProgress. */
+ class VideoAnnotationProgress implements IVideoAnnotationProgress {
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress);
+
+ /** VideoAnnotationProgress inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationProgress progressPercent. */
+ public progressPercent: number;
+
+ /** VideoAnnotationProgress startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress;
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress;
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @param message VideoAnnotationProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoProgress. */
+ interface IAnnotateVideoProgress {
+
+ /** AnnotateVideoProgress annotationProgress */
+ annotationProgress?: (google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress[]|null);
+ }
+
+ /** Represents an AnnotateVideoProgress. */
+ class AnnotateVideoProgress implements IAnnotateVideoProgress {
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress);
+
+ /** AnnotateVideoProgress annotationProgress. */
+ public annotationProgress: google.cloud.videointelligence.v1p2beta1.IVideoAnnotationProgress[];
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress;
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress;
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @param message AnnotateVideoProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedVertex. */
+ interface INormalizedVertex {
+
+ /** NormalizedVertex x */
+ x?: (number|null);
+
+ /** NormalizedVertex y */
+ y?: (number|null);
+ }
+
+ /** Represents a NormalizedVertex. */
+ class NormalizedVertex implements INormalizedVertex {
+
+ /**
+ * Constructs a new NormalizedVertex.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedVertex);
+
+ /** NormalizedVertex x. */
+ public x: number;
+
+ /** NormalizedVertex y. */
+ public y: number;
+
+ /**
+ * Creates a new NormalizedVertex instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedVertex instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedVertex): google.cloud.videointelligence.v1p2beta1.NormalizedVertex;
+
+ /**
+ * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.NormalizedVertex;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.NormalizedVertex;
+
+ /**
+ * Verifies a NormalizedVertex message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedVertex
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.NormalizedVertex;
+
+ /**
+ * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified.
+ * @param message NormalizedVertex
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedVertex to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedVertex
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingPoly. */
+ interface INormalizedBoundingPoly {
+
+ /** NormalizedBoundingPoly vertices */
+ vertices?: (google.cloud.videointelligence.v1p2beta1.INormalizedVertex[]|null);
+ }
+
+ /** Represents a NormalizedBoundingPoly. */
+ class NormalizedBoundingPoly implements INormalizedBoundingPoly {
+
+ /**
+ * Constructs a new NormalizedBoundingPoly.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly);
+
+ /** NormalizedBoundingPoly vertices. */
+ public vertices: google.cloud.videointelligence.v1p2beta1.INormalizedVertex[];
+
+ /**
+ * Creates a new NormalizedBoundingPoly instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingPoly instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly;
+
+ /**
+ * Verifies a NormalizedBoundingPoly message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingPoly
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingPoly
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingPoly to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingPoly
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextSegment. */
+ interface ITextSegment {
+
+ /** TextSegment segment */
+ segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** TextSegment confidence */
+ confidence?: (number|null);
+
+ /** TextSegment frames */
+ frames?: (google.cloud.videointelligence.v1p2beta1.ITextFrame[]|null);
+ }
+
+ /** Represents a TextSegment. */
+ class TextSegment implements ITextSegment {
+
+ /**
+ * Constructs a new TextSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextSegment);
+
+ /** TextSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** TextSegment confidence. */
+ public confidence: number;
+
+ /** TextSegment frames. */
+ public frames: google.cloud.videointelligence.v1p2beta1.ITextFrame[];
+
+ /**
+ * Creates a new TextSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextSegment): google.cloud.videointelligence.v1p2beta1.TextSegment;
+
+ /**
+ * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextSegment;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextSegment;
+
+ /**
+ * Verifies a TextSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextSegment;
+
+ /**
+ * Creates a plain object from a TextSegment message. Also converts values to other types if specified.
+ * @param message TextSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextFrame. */
+ interface ITextFrame {
+
+ /** TextFrame rotatedBoundingBox */
+ rotatedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a TextFrame. */
+ class TextFrame implements ITextFrame {
+
+ /**
+ * Constructs a new TextFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextFrame);
+
+ /** TextFrame rotatedBoundingBox. */
+ public rotatedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new TextFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextFrame): google.cloud.videointelligence.v1p2beta1.TextFrame;
+
+ /**
+ * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextFrame;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextFrame;
+
+ /**
+ * Verifies a TextFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextFrame;
+
+ /**
+ * Creates a plain object from a TextFrame message. Also converts values to other types if specified.
+ * @param message TextFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextAnnotation. */
+ interface ITextAnnotation {
+
+ /** TextAnnotation text */
+ text?: (string|null);
+
+ /** TextAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p2beta1.ITextSegment[]|null);
+ }
+
+ /** Represents a TextAnnotation. */
+ class TextAnnotation implements ITextAnnotation {
+
+ /**
+ * Constructs a new TextAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.ITextAnnotation);
+
+ /** TextAnnotation text. */
+ public text: string;
+
+ /** TextAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p2beta1.ITextSegment[];
+
+ /**
+ * Creates a new TextAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.ITextAnnotation): google.cloud.videointelligence.v1p2beta1.TextAnnotation;
+
+ /**
+ * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.TextAnnotation;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.TextAnnotation;
+
+ /**
+ * Verifies a TextAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.TextAnnotation;
+
+ /**
+ * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified.
+ * @param message TextAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingFrame. */
+ interface IObjectTrackingFrame {
+
+ /** ObjectTrackingFrame normalizedBoundingBox */
+ normalizedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an ObjectTrackingFrame. */
+ class ObjectTrackingFrame implements IObjectTrackingFrame {
+
+ /**
+ * Constructs a new ObjectTrackingFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame);
+
+ /** ObjectTrackingFrame normalizedBoundingBox. */
+ public normalizedBoundingBox?: (google.cloud.videointelligence.v1p2beta1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new ObjectTrackingFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame;
+
+ /**
+ * Verifies an ObjectTrackingFrame message.
+ * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame;
+
+ /**
+ * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified.
+ * @param message ObjectTrackingFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingAnnotation. */
+ interface IObjectTrackingAnnotation {
+
+ /** ObjectTrackingAnnotation segment */
+ segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId */
+ trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence */
+ confidence?: (number|null);
+
+ /** ObjectTrackingAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[]|null);
+ }
+
+ /** Represents an ObjectTrackingAnnotation. */
+ class ObjectTrackingAnnotation implements IObjectTrackingAnnotation {
+
+ /**
+ * Constructs a new ObjectTrackingAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation);
+
+ /** ObjectTrackingAnnotation segment. */
+ public segment?: (google.cloud.videointelligence.v1p2beta1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId. */
+ public trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p2beta1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence. */
+ public confidence: number;
+
+ /** ObjectTrackingAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p2beta1.IObjectTrackingFrame[];
+
+ /** ObjectTrackingAnnotation trackInfo. */
+ public trackInfo?: ("segment"|"trackId");
+
+ /**
+ * Creates a new ObjectTrackingAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p2beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Verifies an ObjectTrackingAnnotation message.
+ * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified.
+ * @param message ObjectTrackingAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p2beta1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Feature enum. */
+ enum Feature {
+ FEATURE_UNSPECIFIED = 0,
+ LABEL_DETECTION = 1,
+ SHOT_CHANGE_DETECTION = 2,
+ EXPLICIT_CONTENT_DETECTION = 3,
+ TEXT_DETECTION = 7,
+ OBJECT_TRACKING = 9
+ }
+
+ /** LabelDetectionMode enum. */
+ enum LabelDetectionMode {
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0,
+ SHOT_MODE = 1,
+ FRAME_MODE = 2,
+ SHOT_AND_FRAME_MODE = 3
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+ }
+
+ /** Namespace v1p3beta1. */
+ namespace v1p3beta1 {
+
+ /** Represents a VideoIntelligenceService */
+ class VideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new VideoIntelligenceService 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 VideoIntelligenceService 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): VideoIntelligenceService;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService.AnnotateVideoCallback): void;
+
+ /**
+ * Calls AnnotateVideo.
+ * @param request AnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public annotateVideo(request: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest): Promise;
+ }
+
+ namespace VideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService|annotateVideo}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnnotateVideoCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Represents a StreamingVideoIntelligenceService */
+ class StreamingVideoIntelligenceService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new StreamingVideoIntelligenceService 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 StreamingVideoIntelligenceService 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): StreamingVideoIntelligenceService;
+
+ /**
+ * Calls StreamingAnnotateVideo.
+ * @param request StreamingAnnotateVideoRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and StreamingAnnotateVideoResponse
+ */
+ public streamingAnnotateVideo(request: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, callback: google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService.StreamingAnnotateVideoCallback): void;
+
+ /**
+ * Calls StreamingAnnotateVideo.
+ * @param request StreamingAnnotateVideoRequest message or plain object
+ * @returns Promise
+ */
+ public streamingAnnotateVideo(request: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest): Promise;
+ }
+
+ namespace StreamingVideoIntelligenceService {
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService|streamingAnnotateVideo}.
+ * @param error Error, if any
+ * @param [response] StreamingAnnotateVideoResponse
+ */
+ type StreamingAnnotateVideoCallback = (error: (Error|null), response?: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse) => void;
+ }
+
+ /** Properties of an AnnotateVideoRequest. */
+ interface IAnnotateVideoRequest {
+
+ /** AnnotateVideoRequest inputUri */
+ inputUri?: (string|null);
+
+ /** AnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+
+ /** AnnotateVideoRequest features */
+ features?: (google.cloud.videointelligence.v1p3beta1.Feature[]|null);
+
+ /** AnnotateVideoRequest videoContext */
+ videoContext?: (google.cloud.videointelligence.v1p3beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri */
+ outputUri?: (string|null);
+
+ /** AnnotateVideoRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an AnnotateVideoRequest. */
+ class AnnotateVideoRequest implements IAnnotateVideoRequest {
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest);
+
+ /** AnnotateVideoRequest inputUri. */
+ public inputUri: string;
+
+ /** AnnotateVideoRequest inputContent. */
+ public inputContent: (Uint8Array|string);
+
+ /** AnnotateVideoRequest features. */
+ public features: google.cloud.videointelligence.v1p3beta1.Feature[];
+
+ /** AnnotateVideoRequest videoContext. */
+ public videoContext?: (google.cloud.videointelligence.v1p3beta1.IVideoContext|null);
+
+ /** AnnotateVideoRequest outputUri. */
+ public outputUri: string;
+
+ /** AnnotateVideoRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest.verify|verify} messages.
+ * @param message AnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest;
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest;
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @param message Plain 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 AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message AnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoContext. */
+ interface IVideoContext {
+
+ /** VideoContext segments */
+ segments?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null);
+
+ /** VideoContext labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig */
+ faceDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig */
+ speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null);
+
+ /** VideoContext textDetectionConfig */
+ textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null);
+
+ /** VideoContext personDetectionConfig */
+ personDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null);
+
+ /** VideoContext objectTrackingConfig */
+ objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null);
+ }
+
+ /** Represents a VideoContext. */
+ class VideoContext implements IVideoContext {
+
+ /**
+ * Constructs a new VideoContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoContext);
+
+ /** VideoContext segments. */
+ public segments: google.cloud.videointelligence.v1p3beta1.IVideoSegment[];
+
+ /** VideoContext labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig|null);
+
+ /** VideoContext shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig|null);
+
+ /** VideoContext explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig|null);
+
+ /** VideoContext faceDetectionConfig. */
+ public faceDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig|null);
+
+ /** VideoContext speechTranscriptionConfig. */
+ public speechTranscriptionConfig?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig|null);
+
+ /** VideoContext textDetectionConfig. */
+ public textDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig|null);
+
+ /** VideoContext personDetectionConfig. */
+ public personDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig|null);
+
+ /** VideoContext objectTrackingConfig. */
+ public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig|null);
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoContext): google.cloud.videointelligence.v1p3beta1.VideoContext;
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoContext.verify|verify} messages.
+ * @param message VideoContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoContext;
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoContext;
+
+ /**
+ * Verifies a VideoContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoContext;
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @param message VideoContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** LabelDetectionMode enum. */
+ enum LabelDetectionMode {
+ LABEL_DETECTION_MODE_UNSPECIFIED = 0,
+ SHOT_MODE = 1,
+ FRAME_MODE = 2,
+ SHOT_AND_FRAME_MODE = 3
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+
+ /** Properties of a LabelDetectionConfig. */
+ interface ILabelDetectionConfig {
+
+ /** LabelDetectionConfig labelDetectionMode */
+ labelDetectionMode?: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|null);
+
+ /** LabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+
+ /** LabelDetectionConfig model */
+ model?: (string|null);
+
+ /** LabelDetectionConfig frameConfidenceThreshold */
+ frameConfidenceThreshold?: (number|null);
+
+ /** LabelDetectionConfig videoConfidenceThreshold */
+ videoConfidenceThreshold?: (number|null);
+ }
+
+ /** Represents a LabelDetectionConfig. */
+ class LabelDetectionConfig implements ILabelDetectionConfig {
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig);
+
+ /** LabelDetectionConfig labelDetectionMode. */
+ public labelDetectionMode: (google.cloud.videointelligence.v1p3beta1.LabelDetectionMode|keyof typeof google.cloud.videointelligence.v1p3beta1.LabelDetectionMode);
+
+ /** LabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /** LabelDetectionConfig model. */
+ public model: string;
+
+ /** LabelDetectionConfig frameConfidenceThreshold. */
+ public frameConfidenceThreshold: number;
+
+ /** LabelDetectionConfig videoConfidenceThreshold. */
+ public videoConfidenceThreshold: number;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig.verify|verify} messages.
+ * @param message LabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig;
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig;
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message LabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** StreamingFeature enum. */
+ enum StreamingFeature {
+ STREAMING_FEATURE_UNSPECIFIED = 0,
+ STREAMING_LABEL_DETECTION = 1,
+ STREAMING_SHOT_CHANGE_DETECTION = 2,
+ STREAMING_EXPLICIT_CONTENT_DETECTION = 3,
+ STREAMING_OBJECT_TRACKING = 4,
+ STREAMING_AUTOML_ACTION_RECOGNITION = 23,
+ STREAMING_AUTOML_CLASSIFICATION = 21,
+ STREAMING_AUTOML_OBJECT_TRACKING = 22
+ }
+
+ /** Feature enum. */
+ enum Feature {
+ FEATURE_UNSPECIFIED = 0,
+ LABEL_DETECTION = 1,
+ SHOT_CHANGE_DETECTION = 2,
+ EXPLICIT_CONTENT_DETECTION = 3,
+ FACE_DETECTION = 4,
+ SPEECH_TRANSCRIPTION = 6,
+ TEXT_DETECTION = 7,
+ OBJECT_TRACKING = 9,
+ LOGO_RECOGNITION = 12,
+ CELEBRITY_RECOGNITION = 13,
+ PERSON_DETECTION = 14
+ }
+
+ /** Properties of a ShotChangeDetectionConfig. */
+ interface IShotChangeDetectionConfig {
+
+ /** ShotChangeDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a ShotChangeDetectionConfig. */
+ class ShotChangeDetectionConfig implements IShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig);
+
+ /** ShotChangeDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @param message ShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message ShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingConfig. */
+ interface IObjectTrackingConfig {
+
+ /** ObjectTrackingConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ObjectTrackingConfig. */
+ class ObjectTrackingConfig implements IObjectTrackingConfig {
+
+ /**
+ * Constructs a new ObjectTrackingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig);
+
+ /** ObjectTrackingConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ObjectTrackingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig;
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages.
+ * @param message ObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig.verify|verify} messages.
+ * @param message ObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig;
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig;
+
+ /**
+ * Verifies an ObjectTrackingConfig message.
+ * @param message Plain 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 ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig;
+
+ /**
+ * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified.
+ * @param message ObjectTrackingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentDetectionConfig. */
+ interface IExplicitContentDetectionConfig {
+
+ /** ExplicitContentDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents an ExplicitContentDetectionConfig. */
+ class ExplicitContentDetectionConfig implements IExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig);
+
+ /** ExplicitContentDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message ExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @param message Plain 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 ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message ExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceDetectionConfig. */
+ interface IFaceDetectionConfig {
+
+ /** FaceDetectionConfig model */
+ model?: (string|null);
+
+ /** FaceDetectionConfig includeBoundingBoxes */
+ includeBoundingBoxes?: (boolean|null);
+
+ /** FaceDetectionConfig includeAttributes */
+ includeAttributes?: (boolean|null);
+ }
+
+ /** Represents a FaceDetectionConfig. */
+ class FaceDetectionConfig implements IFaceDetectionConfig {
+
+ /**
+ * Constructs a new FaceDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig);
+
+ /** FaceDetectionConfig model. */
+ public model: string;
+
+ /** FaceDetectionConfig includeBoundingBoxes. */
+ public includeBoundingBoxes: boolean;
+
+ /** FaceDetectionConfig includeAttributes. */
+ public includeAttributes: boolean;
+
+ /**
+ * Creates a new FaceDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig.verify|verify} messages.
+ * @param message FaceDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig;
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig;
+
+ /**
+ * Verifies a FaceDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig;
+
+ /**
+ * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified.
+ * @param message FaceDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.FaceDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PersonDetectionConfig. */
+ interface IPersonDetectionConfig {
+
+ /** PersonDetectionConfig includeBoundingBoxes */
+ includeBoundingBoxes?: (boolean|null);
+
+ /** PersonDetectionConfig includePoseLandmarks */
+ includePoseLandmarks?: (boolean|null);
+
+ /** PersonDetectionConfig includeAttributes */
+ includeAttributes?: (boolean|null);
+ }
+
+ /** Represents a PersonDetectionConfig. */
+ class PersonDetectionConfig implements IPersonDetectionConfig {
+
+ /**
+ * Constructs a new PersonDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig);
+
+ /** PersonDetectionConfig includeBoundingBoxes. */
+ public includeBoundingBoxes: boolean;
+
+ /** PersonDetectionConfig includePoseLandmarks. */
+ public includePoseLandmarks: boolean;
+
+ /** PersonDetectionConfig includeAttributes. */
+ public includeAttributes: boolean;
+
+ /**
+ * Creates a new PersonDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig;
+
+ /**
+ * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages.
+ * @param message PersonDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig.verify|verify} messages.
+ * @param message PersonDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig;
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig;
+
+ /**
+ * Verifies a PersonDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig;
+
+ /**
+ * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified.
+ * @param message PersonDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.PersonDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextDetectionConfig. */
+ interface ITextDetectionConfig {
+
+ /** TextDetectionConfig languageHints */
+ languageHints?: (string[]|null);
+
+ /** TextDetectionConfig model */
+ model?: (string|null);
+ }
+
+ /** Represents a TextDetectionConfig. */
+ class TextDetectionConfig implements ITextDetectionConfig {
+
+ /**
+ * Constructs a new TextDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig);
+
+ /** TextDetectionConfig languageHints. */
+ public languageHints: string[];
+
+ /** TextDetectionConfig model. */
+ public model: string;
+
+ /**
+ * Creates a new TextDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig;
+
+ /**
+ * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextDetectionConfig.verify|verify} messages.
+ * @param message TextDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig;
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig;
+
+ /**
+ * Verifies a TextDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextDetectionConfig;
+
+ /**
+ * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified.
+ * @param message TextDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoSegment. */
+ interface IVideoSegment {
+
+ /** VideoSegment startTimeOffset */
+ startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset */
+ endTimeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a VideoSegment. */
+ class VideoSegment implements IVideoSegment {
+
+ /**
+ * Constructs a new VideoSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoSegment);
+
+ /** VideoSegment startTimeOffset. */
+ public startTimeOffset?: (google.protobuf.IDuration|null);
+
+ /** VideoSegment endTimeOffset. */
+ public endTimeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoSegment): google.cloud.videointelligence.v1p3beta1.VideoSegment;
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoSegment.verify|verify} messages.
+ * @param message VideoSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoSegment;
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoSegment;
+
+ /**
+ * Verifies a VideoSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoSegment;
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @param message VideoSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelSegment. */
+ interface ILabelSegment {
+
+ /** LabelSegment segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelSegment. */
+ class LabelSegment implements ILabelSegment {
+
+ /**
+ * Constructs a new LabelSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelSegment);
+
+ /** LabelSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** LabelSegment confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelSegment): google.cloud.videointelligence.v1p3beta1.LabelSegment;
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelSegment.verify|verify} messages.
+ * @param message LabelSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelSegment;
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelSegment;
+
+ /**
+ * Verifies a LabelSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelSegment;
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @param message LabelSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelFrame. */
+ interface ILabelFrame {
+
+ /** LabelFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a LabelFrame. */
+ class LabelFrame implements ILabelFrame {
+
+ /**
+ * Constructs a new LabelFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelFrame);
+
+ /** LabelFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** LabelFrame confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelFrame): google.cloud.videointelligence.v1p3beta1.LabelFrame;
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelFrame.verify|verify} messages.
+ * @param message LabelFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelFrame;
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelFrame;
+
+ /**
+ * Verifies a LabelFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelFrame;
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @param message LabelFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entity. */
+ interface IEntity {
+
+ /** Entity entityId */
+ entityId?: (string|null);
+
+ /** Entity description */
+ description?: (string|null);
+
+ /** Entity languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents an Entity. */
+ class Entity implements IEntity {
+
+ /**
+ * Constructs a new Entity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IEntity);
+
+ /** Entity entityId. */
+ public entityId: string;
+
+ /** Entity description. */
+ public description: string;
+
+ /** Entity languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IEntity): google.cloud.videointelligence.v1p3beta1.Entity;
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Entity.verify|verify} messages.
+ * @param message Entity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.Entity;
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.Entity;
+
+ /**
+ * Verifies an Entity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.Entity;
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @param message Entity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelAnnotation. */
+ interface ILabelAnnotation {
+
+ /** LabelAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities */
+ categoryEntities?: (google.cloud.videointelligence.v1p3beta1.IEntity[]|null);
+
+ /** LabelAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p3beta1.ILabelSegment[]|null);
+
+ /** LabelAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p3beta1.ILabelFrame[]|null);
+ }
+
+ /** Represents a LabelAnnotation. */
+ class LabelAnnotation implements ILabelAnnotation {
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation);
+
+ /** LabelAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** LabelAnnotation categoryEntities. */
+ public categoryEntities: google.cloud.videointelligence.v1p3beta1.IEntity[];
+
+ /** LabelAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p3beta1.ILabelSegment[];
+
+ /** LabelAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p3beta1.ILabelFrame[];
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation): google.cloud.videointelligence.v1p3beta1.LabelAnnotation;
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LabelAnnotation.verify|verify} messages.
+ * @param message LabelAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LabelAnnotation;
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LabelAnnotation;
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LabelAnnotation;
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @param message LabelAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.LabelAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentFrame. */
+ interface IExplicitContentFrame {
+
+ /** ExplicitContentFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood */
+ pornographyLikelihood?: (google.cloud.videointelligence.v1p3beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p3beta1.Likelihood|null);
+ }
+
+ /** Represents an ExplicitContentFrame. */
+ class ExplicitContentFrame implements IExplicitContentFrame {
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame);
+
+ /** ExplicitContentFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** ExplicitContentFrame pornographyLikelihood. */
+ public pornographyLikelihood: (google.cloud.videointelligence.v1p3beta1.Likelihood|keyof typeof google.cloud.videointelligence.v1p3beta1.Likelihood);
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame.verify|verify} messages.
+ * @param message ExplicitContentFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame;
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame;
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @param message Plain 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 ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame;
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @param message ExplicitContentFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExplicitContentAnnotation. */
+ interface IExplicitContentAnnotation {
+
+ /** ExplicitContentAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame[]|null);
+ }
+
+ /** Represents an ExplicitContentAnnotation. */
+ class ExplicitContentAnnotation implements IExplicitContentAnnotation {
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation);
+
+ /** ExplicitContentAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p3beta1.IExplicitContentFrame[];
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExplicitContentAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation.verify|verify} messages.
+ * @param message ExplicitContentAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation;
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation;
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @param message Plain 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 ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExplicitContentAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation;
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @param message ExplicitContentAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingBox. */
+ interface INormalizedBoundingBox {
+
+ /** NormalizedBoundingBox left */
+ left?: (number|null);
+
+ /** NormalizedBoundingBox top */
+ top?: (number|null);
+
+ /** NormalizedBoundingBox right */
+ right?: (number|null);
+
+ /** NormalizedBoundingBox bottom */
+ bottom?: (number|null);
+ }
+
+ /** Represents a NormalizedBoundingBox. */
+ class NormalizedBoundingBox implements INormalizedBoundingBox {
+
+ /**
+ * Constructs a new NormalizedBoundingBox.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox);
+
+ /** NormalizedBoundingBox left. */
+ public left: number;
+
+ /** NormalizedBoundingBox top. */
+ public top: number;
+
+ /** NormalizedBoundingBox right. */
+ public right: number;
+
+ /** NormalizedBoundingBox bottom. */
+ public bottom: number;
+
+ /**
+ * Creates a new NormalizedBoundingBox instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingBox instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox.verify|verify} messages.
+ * @param message NormalizedBoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox;
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox;
+
+ /**
+ * Verifies a NormalizedBoundingBox message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingBox
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingBox
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingBox to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingBox
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimestampedObject. */
+ interface ITimestampedObject {
+
+ /** TimestampedObject normalizedBoundingBox */
+ normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null);
+
+ /** TimestampedObject timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+
+ /** TimestampedObject attributes */
+ attributes?: (google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]|null);
+
+ /** TimestampedObject landmarks */
+ landmarks?: (google.cloud.videointelligence.v1p3beta1.IDetectedLandmark[]|null);
+ }
+
+ /** Represents a TimestampedObject. */
+ class TimestampedObject implements ITimestampedObject {
+
+ /**
+ * Constructs a new TimestampedObject.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITimestampedObject);
+
+ /** TimestampedObject normalizedBoundingBox. */
+ public normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null);
+
+ /** TimestampedObject timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /** TimestampedObject attributes. */
+ public attributes: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[];
+
+ /** TimestampedObject landmarks. */
+ public landmarks: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark[];
+
+ /**
+ * Creates a new TimestampedObject instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimestampedObject instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITimestampedObject): google.cloud.videointelligence.v1p3beta1.TimestampedObject;
+
+ /**
+ * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages.
+ * @param message TimestampedObject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TimestampedObject.verify|verify} messages.
+ * @param message TimestampedObject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITimestampedObject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TimestampedObject;
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TimestampedObject;
+
+ /**
+ * Verifies a TimestampedObject message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimestampedObject
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TimestampedObject;
+
+ /**
+ * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified.
+ * @param message TimestampedObject
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.TimestampedObject, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimestampedObject to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimestampedObject
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Track. */
+ interface ITrack {
+
+ /** Track segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** Track timestampedObjects */
+ timestampedObjects?: (google.cloud.videointelligence.v1p3beta1.ITimestampedObject[]|null);
+
+ /** Track attributes */
+ attributes?: (google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[]|null);
+
+ /** Track confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a Track. */
+ class Track implements ITrack {
+
+ /**
+ * Constructs a new Track.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITrack);
+
+ /** Track segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** Track timestampedObjects. */
+ public timestampedObjects: google.cloud.videointelligence.v1p3beta1.ITimestampedObject[];
+
+ /** Track attributes. */
+ public attributes: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute[];
+
+ /** Track confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new Track instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Track instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITrack): google.cloud.videointelligence.v1p3beta1.Track;
+
+ /**
+ * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages.
+ * @param message Track message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Track.verify|verify} messages.
+ * @param message Track message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Track message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.Track;
+
+ /**
+ * Decodes a Track message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.Track;
+
+ /**
+ * Verifies a Track message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Track message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Track
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.Track;
+
+ /**
+ * Creates a plain object from a Track message. Also converts values to other types if specified.
+ * @param message Track
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.Track, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Track to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Track
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetectedAttribute. */
+ interface IDetectedAttribute {
+
+ /** DetectedAttribute name */
+ name?: (string|null);
+
+ /** DetectedAttribute confidence */
+ confidence?: (number|null);
+
+ /** DetectedAttribute value */
+ value?: (string|null);
+ }
+
+ /** Represents a DetectedAttribute. */
+ class DetectedAttribute implements IDetectedAttribute {
+
+ /**
+ * Constructs a new DetectedAttribute.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute);
+
+ /** DetectedAttribute name. */
+ public name: string;
+
+ /** DetectedAttribute confidence. */
+ public confidence: number;
+
+ /** DetectedAttribute value. */
+ public value: string;
+
+ /**
+ * Creates a new DetectedAttribute instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetectedAttribute instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute): google.cloud.videointelligence.v1p3beta1.DetectedAttribute;
+
+ /**
+ * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages.
+ * @param message DetectedAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedAttribute.verify|verify} messages.
+ * @param message DetectedAttribute message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IDetectedAttribute, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.DetectedAttribute;
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.DetectedAttribute;
+
+ /**
+ * Verifies a DetectedAttribute message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetectedAttribute
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.DetectedAttribute;
+
+ /**
+ * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified.
+ * @param message DetectedAttribute
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.DetectedAttribute, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetectedAttribute to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetectedAttribute
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Celebrity. */
+ interface ICelebrity {
+
+ /** Celebrity name */
+ name?: (string|null);
+
+ /** Celebrity displayName */
+ displayName?: (string|null);
+
+ /** Celebrity description */
+ description?: (string|null);
+ }
+
+ /** Represents a Celebrity. */
+ class Celebrity implements ICelebrity {
+
+ /**
+ * Constructs a new Celebrity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrity);
+
+ /** Celebrity name. */
+ public name: string;
+
+ /** Celebrity displayName. */
+ public displayName: string;
+
+ /** Celebrity description. */
+ public description: string;
+
+ /**
+ * Creates a new Celebrity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Celebrity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrity): google.cloud.videointelligence.v1p3beta1.Celebrity;
+
+ /**
+ * Encodes the specified Celebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages.
+ * @param message Celebrity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Celebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.Celebrity.verify|verify} messages.
+ * @param message Celebrity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ICelebrity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Celebrity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Celebrity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.Celebrity;
+
+ /**
+ * Decodes a Celebrity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Celebrity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.Celebrity;
+
+ /**
+ * Verifies a Celebrity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Celebrity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Celebrity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.Celebrity;
+
+ /**
+ * Creates a plain object from a Celebrity message. Also converts values to other types if specified.
+ * @param message Celebrity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.Celebrity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Celebrity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Celebrity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CelebrityTrack. */
+ interface ICelebrityTrack {
+
+ /** CelebrityTrack celebrities */
+ celebrities?: (google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity[]|null);
+
+ /** CelebrityTrack faceTrack */
+ faceTrack?: (google.cloud.videointelligence.v1p3beta1.ITrack|null);
+ }
+
+ /** Represents a CelebrityTrack. */
+ class CelebrityTrack implements ICelebrityTrack {
+
+ /**
+ * Constructs a new CelebrityTrack.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack);
+
+ /** CelebrityTrack celebrities. */
+ public celebrities: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity[];
+
+ /** CelebrityTrack faceTrack. */
+ public faceTrack?: (google.cloud.videointelligence.v1p3beta1.ITrack|null);
+
+ /**
+ * Creates a new CelebrityTrack instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CelebrityTrack instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack): google.cloud.videointelligence.v1p3beta1.CelebrityTrack;
+
+ /**
+ * Encodes the specified CelebrityTrack message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages.
+ * @param message CelebrityTrack message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CelebrityTrack message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.verify|verify} messages.
+ * @param message CelebrityTrack message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CelebrityTrack message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CelebrityTrack
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityTrack;
+
+ /**
+ * Decodes a CelebrityTrack message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CelebrityTrack
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityTrack;
+
+ /**
+ * Verifies a CelebrityTrack message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CelebrityTrack message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CelebrityTrack
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityTrack;
+
+ /**
+ * Creates a plain object from a CelebrityTrack message. Also converts values to other types if specified.
+ * @param message CelebrityTrack
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CelebrityTrack to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CelebrityTrack
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CelebrityTrack {
+
+ /** Properties of a RecognizedCelebrity. */
+ interface IRecognizedCelebrity {
+
+ /** RecognizedCelebrity celebrity */
+ celebrity?: (google.cloud.videointelligence.v1p3beta1.ICelebrity|null);
+
+ /** RecognizedCelebrity confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a RecognizedCelebrity. */
+ class RecognizedCelebrity implements IRecognizedCelebrity {
+
+ /**
+ * Constructs a new RecognizedCelebrity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity);
+
+ /** RecognizedCelebrity celebrity. */
+ public celebrity?: (google.cloud.videointelligence.v1p3beta1.ICelebrity|null);
+
+ /** RecognizedCelebrity confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new RecognizedCelebrity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecognizedCelebrity instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity;
+
+ /**
+ * Encodes the specified RecognizedCelebrity message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages.
+ * @param message RecognizedCelebrity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecognizedCelebrity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity.verify|verify} messages.
+ * @param message RecognizedCelebrity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.IRecognizedCelebrity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecognizedCelebrity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecognizedCelebrity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity;
+
+ /**
+ * Decodes a RecognizedCelebrity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecognizedCelebrity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity;
+
+ /**
+ * Verifies a RecognizedCelebrity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecognizedCelebrity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecognizedCelebrity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity;
+
+ /**
+ * Creates a plain object from a RecognizedCelebrity message. Also converts values to other types if specified.
+ * @param message RecognizedCelebrity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityTrack.RecognizedCelebrity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecognizedCelebrity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RecognizedCelebrity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CelebrityRecognitionAnnotation. */
+ interface ICelebrityRecognitionAnnotation {
+
+ /** CelebrityRecognitionAnnotation celebrityTracks */
+ celebrityTracks?: (google.cloud.videointelligence.v1p3beta1.ICelebrityTrack[]|null);
+ }
+
+ /** Represents a CelebrityRecognitionAnnotation. */
+ class CelebrityRecognitionAnnotation implements ICelebrityRecognitionAnnotation {
+
+ /**
+ * Constructs a new CelebrityRecognitionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation);
+
+ /** CelebrityRecognitionAnnotation celebrityTracks. */
+ public celebrityTracks: google.cloud.videointelligence.v1p3beta1.ICelebrityTrack[];
+
+ /**
+ * Creates a new CelebrityRecognitionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CelebrityRecognitionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation;
+
+ /**
+ * Encodes the specified CelebrityRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages.
+ * @param message CelebrityRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CelebrityRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation.verify|verify} messages.
+ * @param message CelebrityRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CelebrityRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation;
+
+ /**
+ * Decodes a CelebrityRecognitionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CelebrityRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation;
+
+ /**
+ * Verifies a CelebrityRecognitionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CelebrityRecognitionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CelebrityRecognitionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation;
+
+ /**
+ * Creates a plain object from a CelebrityRecognitionAnnotation message. Also converts values to other types if specified.
+ * @param message CelebrityRecognitionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.CelebrityRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CelebrityRecognitionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CelebrityRecognitionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DetectedLandmark. */
+ interface IDetectedLandmark {
+
+ /** DetectedLandmark name */
+ name?: (string|null);
+
+ /** DetectedLandmark point */
+ point?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null);
+
+ /** DetectedLandmark confidence */
+ confidence?: (number|null);
+ }
+
+ /** Represents a DetectedLandmark. */
+ class DetectedLandmark implements IDetectedLandmark {
+
+ /**
+ * Constructs a new DetectedLandmark.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark);
+
+ /** DetectedLandmark name. */
+ public name: string;
+
+ /** DetectedLandmark point. */
+ public point?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex|null);
+
+ /** DetectedLandmark confidence. */
+ public confidence: number;
+
+ /**
+ * Creates a new DetectedLandmark instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetectedLandmark instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark): google.cloud.videointelligence.v1p3beta1.DetectedLandmark;
+
+ /**
+ * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages.
+ * @param message DetectedLandmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.DetectedLandmark.verify|verify} messages.
+ * @param message DetectedLandmark message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IDetectedLandmark, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.DetectedLandmark;
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.DetectedLandmark;
+
+ /**
+ * Verifies a DetectedLandmark message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetectedLandmark
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.DetectedLandmark;
+
+ /**
+ * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified.
+ * @param message DetectedLandmark
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.DetectedLandmark, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetectedLandmark to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DetectedLandmark
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FaceDetectionAnnotation. */
+ interface IFaceDetectionAnnotation {
+
+ /** FaceDetectionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null);
+
+ /** FaceDetectionAnnotation thumbnail */
+ thumbnail?: (Uint8Array|string|null);
+ }
+
+ /** Represents a FaceDetectionAnnotation. */
+ class FaceDetectionAnnotation implements IFaceDetectionAnnotation {
+
+ /**
+ * Constructs a new FaceDetectionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation);
+
+ /** FaceDetectionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[];
+
+ /** FaceDetectionAnnotation thumbnail. */
+ public thumbnail: (Uint8Array|string);
+
+ /**
+ * Creates a new FaceDetectionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FaceDetectionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation;
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages.
+ * @param message FaceDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation.verify|verify} messages.
+ * @param message FaceDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation;
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation;
+
+ /**
+ * Verifies a FaceDetectionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FaceDetectionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation;
+
+ /**
+ * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified.
+ * @param message FaceDetectionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.FaceDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FaceDetectionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FaceDetectionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PersonDetectionAnnotation. */
+ interface IPersonDetectionAnnotation {
+
+ /** PersonDetectionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null);
+ }
+
+ /** Represents a PersonDetectionAnnotation. */
+ class PersonDetectionAnnotation implements IPersonDetectionAnnotation {
+
+ /**
+ * Constructs a new PersonDetectionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation);
+
+ /** PersonDetectionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[];
+
+ /**
+ * Creates a new PersonDetectionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersonDetectionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation;
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages.
+ * @param message PersonDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation.verify|verify} messages.
+ * @param message PersonDetectionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation;
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation;
+
+ /**
+ * Verifies a PersonDetectionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersonDetectionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation;
+
+ /**
+ * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified.
+ * @param message PersonDetectionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.PersonDetectionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersonDetectionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersonDetectionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationResults. */
+ interface IVideoAnnotationResults {
+
+ /** VideoAnnotationResults inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationResults segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations */
+ segmentLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults segmentPresenceLabelAnnotations */
+ segmentPresenceLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotLabelAnnotations */
+ shotLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults shotPresenceLabelAnnotations */
+ shotPresenceLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults frameLabelAnnotations */
+ frameLabelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** VideoAnnotationResults faceDetectionAnnotations */
+ faceDetectionAnnotations?: (google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation[]|null);
+
+ /** VideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null);
+
+ /** VideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions */
+ speechTranscriptions?: (google.cloud.videointelligence.v1p3beta1.ISpeechTranscription[]|null);
+
+ /** VideoAnnotationResults textAnnotations */
+ textAnnotations?: (google.cloud.videointelligence.v1p3beta1.ITextAnnotation[]|null);
+
+ /** VideoAnnotationResults objectAnnotations */
+ objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null);
+
+ /** VideoAnnotationResults logoRecognitionAnnotations */
+ logoRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[]|null);
+
+ /** VideoAnnotationResults personDetectionAnnotations */
+ personDetectionAnnotations?: (google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation[]|null);
+
+ /** VideoAnnotationResults celebrityRecognitionAnnotations */
+ celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null);
+
+ /** VideoAnnotationResults error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a VideoAnnotationResults. */
+ class VideoAnnotationResults implements IVideoAnnotationResults {
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults);
+
+ /** VideoAnnotationResults inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationResults segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** VideoAnnotationResults segmentLabelAnnotations. */
+ public segmentLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults segmentPresenceLabelAnnotations. */
+ public segmentPresenceLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotLabelAnnotations. */
+ public shotLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults shotPresenceLabelAnnotations. */
+ public shotPresenceLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults frameLabelAnnotations. */
+ public frameLabelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** VideoAnnotationResults faceDetectionAnnotations. */
+ public faceDetectionAnnotations: google.cloud.videointelligence.v1p3beta1.IFaceDetectionAnnotation[];
+
+ /** VideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[];
+
+ /** VideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null);
+
+ /** VideoAnnotationResults speechTranscriptions. */
+ public speechTranscriptions: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription[];
+
+ /** VideoAnnotationResults textAnnotations. */
+ public textAnnotations: google.cloud.videointelligence.v1p3beta1.ITextAnnotation[];
+
+ /** VideoAnnotationResults objectAnnotations. */
+ public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[];
+
+ /** VideoAnnotationResults logoRecognitionAnnotations. */
+ public logoRecognitionAnnotations: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation[];
+
+ /** VideoAnnotationResults personDetectionAnnotations. */
+ public personDetectionAnnotations: google.cloud.videointelligence.v1p3beta1.IPersonDetectionAnnotation[];
+
+ /** VideoAnnotationResults celebrityRecognitionAnnotations. */
+ public celebrityRecognitionAnnotations?: (google.cloud.videointelligence.v1p3beta1.ICelebrityRecognitionAnnotation|null);
+
+ /** VideoAnnotationResults error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults.verify|verify} messages.
+ * @param message VideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults;
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults;
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message VideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoResponse. */
+ interface IAnnotateVideoResponse {
+
+ /** AnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults[]|null);
+ }
+
+ /** Represents an AnnotateVideoResponse. */
+ class AnnotateVideoResponse implements IAnnotateVideoResponse {
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse);
+
+ /** AnnotateVideoResponse annotationResults. */
+ public annotationResults: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationResults[];
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse.verify|verify} messages.
+ * @param message AnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse;
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse;
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @param message Plain 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 AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message AnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VideoAnnotationProgress. */
+ interface IVideoAnnotationProgress {
+
+ /** VideoAnnotationProgress inputUri */
+ inputUri?: (string|null);
+
+ /** VideoAnnotationProgress progressPercent */
+ progressPercent?: (number|null);
+
+ /** VideoAnnotationProgress startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress feature */
+ feature?: (google.cloud.videointelligence.v1p3beta1.Feature|keyof typeof google.cloud.videointelligence.v1p3beta1.Feature|null);
+
+ /** VideoAnnotationProgress segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+ }
+
+ /** Represents a VideoAnnotationProgress. */
+ class VideoAnnotationProgress implements IVideoAnnotationProgress {
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress);
+
+ /** VideoAnnotationProgress inputUri. */
+ public inputUri: string;
+
+ /** VideoAnnotationProgress progressPercent. */
+ public progressPercent: number;
+
+ /** VideoAnnotationProgress startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** VideoAnnotationProgress feature. */
+ public feature: (google.cloud.videointelligence.v1p3beta1.Feature|keyof typeof google.cloud.videointelligence.v1p3beta1.Feature);
+
+ /** VideoAnnotationProgress segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VideoAnnotationProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress.verify|verify} messages.
+ * @param message VideoAnnotationProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress;
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress;
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VideoAnnotationProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress;
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @param message VideoAnnotationProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnnotateVideoProgress. */
+ interface IAnnotateVideoProgress {
+
+ /** AnnotateVideoProgress annotationProgress */
+ annotationProgress?: (google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress[]|null);
+ }
+
+ /** Represents an AnnotateVideoProgress. */
+ class AnnotateVideoProgress implements IAnnotateVideoProgress {
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress);
+
+ /** AnnotateVideoProgress annotationProgress. */
+ public annotationProgress: google.cloud.videointelligence.v1p3beta1.IVideoAnnotationProgress[];
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnnotateVideoProgress instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress.verify|verify} messages.
+ * @param message AnnotateVideoProgress message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IAnnotateVideoProgress, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress;
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress;
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @param message Plain 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 AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnnotateVideoProgress
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress;
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @param message AnnotateVideoProgress
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscriptionConfig. */
+ interface ISpeechTranscriptionConfig {
+
+ /** SpeechTranscriptionConfig languageCode */
+ languageCode?: (string|null);
+
+ /** SpeechTranscriptionConfig maxAlternatives */
+ maxAlternatives?: (number|null);
+
+ /** SpeechTranscriptionConfig filterProfanity */
+ filterProfanity?: (boolean|null);
+
+ /** SpeechTranscriptionConfig speechContexts */
+ speechContexts?: (google.cloud.videointelligence.v1p3beta1.ISpeechContext[]|null);
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation */
+ enableAutomaticPunctuation?: (boolean|null);
+
+ /** SpeechTranscriptionConfig audioTracks */
+ audioTracks?: (number[]|null);
+
+ /** SpeechTranscriptionConfig enableSpeakerDiarization */
+ enableSpeakerDiarization?: (boolean|null);
+
+ /** SpeechTranscriptionConfig diarizationSpeakerCount */
+ diarizationSpeakerCount?: (number|null);
+
+ /** SpeechTranscriptionConfig enableWordConfidence */
+ enableWordConfidence?: (boolean|null);
+ }
+
+ /** Represents a SpeechTranscriptionConfig. */
+ class SpeechTranscriptionConfig implements ISpeechTranscriptionConfig {
+
+ /**
+ * Constructs a new SpeechTranscriptionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig);
+
+ /** SpeechTranscriptionConfig languageCode. */
+ public languageCode: string;
+
+ /** SpeechTranscriptionConfig maxAlternatives. */
+ public maxAlternatives: number;
+
+ /** SpeechTranscriptionConfig filterProfanity. */
+ public filterProfanity: boolean;
+
+ /** SpeechTranscriptionConfig speechContexts. */
+ public speechContexts: google.cloud.videointelligence.v1p3beta1.ISpeechContext[];
+
+ /** SpeechTranscriptionConfig enableAutomaticPunctuation. */
+ public enableAutomaticPunctuation: boolean;
+
+ /** SpeechTranscriptionConfig audioTracks. */
+ public audioTracks: number[];
+
+ /** SpeechTranscriptionConfig enableSpeakerDiarization. */
+ public enableSpeakerDiarization: boolean;
+
+ /** SpeechTranscriptionConfig diarizationSpeakerCount. */
+ public diarizationSpeakerCount: number;
+
+ /** SpeechTranscriptionConfig enableWordConfidence. */
+ public enableWordConfidence: boolean;
+
+ /**
+ * Creates a new SpeechTranscriptionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscriptionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @param message SpeechTranscriptionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscriptionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Verifies a SpeechTranscriptionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscriptionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig;
+
+ /**
+ * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified.
+ * @param message SpeechTranscriptionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechTranscriptionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscriptionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscriptionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechContext. */
+ interface ISpeechContext {
+
+ /** SpeechContext phrases */
+ phrases?: (string[]|null);
+ }
+
+ /** Represents a SpeechContext. */
+ class SpeechContext implements ISpeechContext {
+
+ /**
+ * Constructs a new SpeechContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechContext);
+
+ /** SpeechContext phrases. */
+ public phrases: string[];
+
+ /**
+ * Creates a new SpeechContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechContext instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechContext): google.cloud.videointelligence.v1p3beta1.SpeechContext;
+
+ /**
+ * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechContext.verify|verify} messages.
+ * @param message SpeechContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechContext;
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechContext;
+
+ /**
+ * Verifies a SpeechContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechContext;
+
+ /**
+ * Creates a plain object from a SpeechContext message. Also converts values to other types if specified.
+ * @param message SpeechContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechTranscription. */
+ interface ISpeechTranscription {
+
+ /** SpeechTranscription alternatives */
+ alternatives?: (google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative[]|null);
+
+ /** SpeechTranscription languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a SpeechTranscription. */
+ class SpeechTranscription implements ISpeechTranscription {
+
+ /**
+ * Constructs a new SpeechTranscription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription);
+
+ /** SpeechTranscription alternatives. */
+ public alternatives: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative[];
+
+ /** SpeechTranscription languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new SpeechTranscription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechTranscription instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription): google.cloud.videointelligence.v1p3beta1.SpeechTranscription;
+
+ /**
+ * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechTranscription.verify|verify} messages.
+ * @param message SpeechTranscription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechTranscription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechTranscription;
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechTranscription;
+
+ /**
+ * Verifies a SpeechTranscription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechTranscription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechTranscription;
+
+ /**
+ * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified.
+ * @param message SpeechTranscription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechTranscription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechTranscription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechTranscription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpeechRecognitionAlternative. */
+ interface ISpeechRecognitionAlternative {
+
+ /** SpeechRecognitionAlternative transcript */
+ transcript?: (string|null);
+
+ /** SpeechRecognitionAlternative confidence */
+ confidence?: (number|null);
+
+ /** SpeechRecognitionAlternative words */
+ words?: (google.cloud.videointelligence.v1p3beta1.IWordInfo[]|null);
+ }
+
+ /** Represents a SpeechRecognitionAlternative. */
+ class SpeechRecognitionAlternative implements ISpeechRecognitionAlternative {
+
+ /**
+ * Constructs a new SpeechRecognitionAlternative.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative);
+
+ /** SpeechRecognitionAlternative transcript. */
+ public transcript: string;
+
+ /** SpeechRecognitionAlternative confidence. */
+ public confidence: number;
+
+ /** SpeechRecognitionAlternative words. */
+ public words: google.cloud.videointelligence.v1p3beta1.IWordInfo[];
+
+ /**
+ * Creates a new SpeechRecognitionAlternative instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpeechRecognitionAlternative instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @param message SpeechRecognitionAlternative message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ISpeechRecognitionAlternative, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Verifies a SpeechRecognitionAlternative message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpeechRecognitionAlternative
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative;
+
+ /**
+ * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified.
+ * @param message SpeechRecognitionAlternative
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.SpeechRecognitionAlternative, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpeechRecognitionAlternative to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpeechRecognitionAlternative
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WordInfo. */
+ interface IWordInfo {
+
+ /** WordInfo startTime */
+ startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime */
+ endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word */
+ word?: (string|null);
+
+ /** WordInfo confidence */
+ confidence?: (number|null);
+
+ /** WordInfo speakerTag */
+ speakerTag?: (number|null);
+ }
+
+ /** Represents a WordInfo. */
+ class WordInfo implements IWordInfo {
+
+ /**
+ * Constructs a new WordInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IWordInfo);
+
+ /** WordInfo startTime. */
+ public startTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo endTime. */
+ public endTime?: (google.protobuf.IDuration|null);
+
+ /** WordInfo word. */
+ public word: string;
+
+ /** WordInfo confidence. */
+ public confidence: number;
+
+ /** WordInfo speakerTag. */
+ public speakerTag: number;
+
+ /**
+ * Creates a new WordInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WordInfo instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IWordInfo): google.cloud.videointelligence.v1p3beta1.WordInfo;
+
+ /**
+ * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.WordInfo.verify|verify} messages.
+ * @param message WordInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.WordInfo;
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.WordInfo;
+
+ /**
+ * Verifies a WordInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WordInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WordInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.WordInfo;
+
+ /**
+ * Creates a plain object from a WordInfo message. Also converts values to other types if specified.
+ * @param message WordInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.WordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WordInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WordInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedVertex. */
+ interface INormalizedVertex {
+
+ /** NormalizedVertex x */
+ x?: (number|null);
+
+ /** NormalizedVertex y */
+ y?: (number|null);
+ }
+
+ /** Represents a NormalizedVertex. */
+ class NormalizedVertex implements INormalizedVertex {
+
+ /**
+ * Constructs a new NormalizedVertex.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedVertex);
+
+ /** NormalizedVertex x. */
+ public x: number;
+
+ /** NormalizedVertex y. */
+ public y: number;
+
+ /**
+ * Creates a new NormalizedVertex instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedVertex instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedVertex): google.cloud.videointelligence.v1p3beta1.NormalizedVertex;
+
+ /**
+ * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedVertex.verify|verify} messages.
+ * @param message NormalizedVertex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.INormalizedVertex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.NormalizedVertex;
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.NormalizedVertex;
+
+ /**
+ * Verifies a NormalizedVertex message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedVertex
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.NormalizedVertex;
+
+ /**
+ * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified.
+ * @param message NormalizedVertex
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.NormalizedVertex, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedVertex to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedVertex
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NormalizedBoundingPoly. */
+ interface INormalizedBoundingPoly {
+
+ /** NormalizedBoundingPoly vertices */
+ vertices?: (google.cloud.videointelligence.v1p3beta1.INormalizedVertex[]|null);
+ }
+
+ /** Represents a NormalizedBoundingPoly. */
+ class NormalizedBoundingPoly implements INormalizedBoundingPoly {
+
+ /**
+ * Constructs a new NormalizedBoundingPoly.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly);
+
+ /** NormalizedBoundingPoly vertices. */
+ public vertices: google.cloud.videointelligence.v1p3beta1.INormalizedVertex[];
+
+ /**
+ * Creates a new NormalizedBoundingPoly instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NormalizedBoundingPoly instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly.verify|verify} messages.
+ * @param message NormalizedBoundingPoly message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly;
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly;
+
+ /**
+ * Verifies a NormalizedBoundingPoly message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NormalizedBoundingPoly
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly;
+
+ /**
+ * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified.
+ * @param message NormalizedBoundingPoly
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NormalizedBoundingPoly to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NormalizedBoundingPoly
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextSegment. */
+ interface ITextSegment {
+
+ /** TextSegment segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** TextSegment confidence */
+ confidence?: (number|null);
+
+ /** TextSegment frames */
+ frames?: (google.cloud.videointelligence.v1p3beta1.ITextFrame[]|null);
+ }
+
+ /** Represents a TextSegment. */
+ class TextSegment implements ITextSegment {
+
+ /**
+ * Constructs a new TextSegment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextSegment);
+
+ /** TextSegment segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** TextSegment confidence. */
+ public confidence: number;
+
+ /** TextSegment frames. */
+ public frames: google.cloud.videointelligence.v1p3beta1.ITextFrame[];
+
+ /**
+ * Creates a new TextSegment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextSegment instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextSegment): google.cloud.videointelligence.v1p3beta1.TextSegment;
+
+ /**
+ * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextSegment.verify|verify} messages.
+ * @param message TextSegment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextSegment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextSegment;
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextSegment;
+
+ /**
+ * Verifies a TextSegment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextSegment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextSegment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextSegment;
+
+ /**
+ * Creates a plain object from a TextSegment message. Also converts values to other types if specified.
+ * @param message TextSegment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextSegment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextSegment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextSegment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextFrame. */
+ interface ITextFrame {
+
+ /** TextFrame rotatedBoundingBox */
+ rotatedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a TextFrame. */
+ class TextFrame implements ITextFrame {
+
+ /**
+ * Constructs a new TextFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextFrame);
+
+ /** TextFrame rotatedBoundingBox. */
+ public rotatedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingPoly|null);
+
+ /** TextFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new TextFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextFrame): google.cloud.videointelligence.v1p3beta1.TextFrame;
+
+ /**
+ * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextFrame.verify|verify} messages.
+ * @param message TextFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextFrame;
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextFrame;
+
+ /**
+ * Verifies a TextFrame message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextFrame;
+
+ /**
+ * Creates a plain object from a TextFrame message. Also converts values to other types if specified.
+ * @param message TextFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextAnnotation. */
+ interface ITextAnnotation {
+
+ /** TextAnnotation text */
+ text?: (string|null);
+
+ /** TextAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p3beta1.ITextSegment[]|null);
+ }
+
+ /** Represents a TextAnnotation. */
+ class TextAnnotation implements ITextAnnotation {
+
+ /**
+ * Constructs a new TextAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ITextAnnotation);
+
+ /** TextAnnotation text. */
+ public text: string;
+
+ /** TextAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p3beta1.ITextSegment[];
+
+ /**
+ * Creates a new TextAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ITextAnnotation): google.cloud.videointelligence.v1p3beta1.TextAnnotation;
+
+ /**
+ * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.TextAnnotation.verify|verify} messages.
+ * @param message TextAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ITextAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.TextAnnotation;
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.TextAnnotation;
+
+ /**
+ * Verifies a TextAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.TextAnnotation;
+
+ /**
+ * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified.
+ * @param message TextAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.TextAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingFrame. */
+ interface IObjectTrackingFrame {
+
+ /** ObjectTrackingFrame normalizedBoundingBox */
+ normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset */
+ timeOffset?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an ObjectTrackingFrame. */
+ class ObjectTrackingFrame implements IObjectTrackingFrame {
+
+ /**
+ * Constructs a new ObjectTrackingFrame.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame);
+
+ /** ObjectTrackingFrame normalizedBoundingBox. */
+ public normalizedBoundingBox?: (google.cloud.videointelligence.v1p3beta1.INormalizedBoundingBox|null);
+
+ /** ObjectTrackingFrame timeOffset. */
+ public timeOffset?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new ObjectTrackingFrame instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingFrame instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame.verify|verify} messages.
+ * @param message ObjectTrackingFrame message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame;
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame;
+
+ /**
+ * Verifies an ObjectTrackingFrame message.
+ * @param message Plain 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 ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingFrame
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame;
+
+ /**
+ * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified.
+ * @param message ObjectTrackingFrame
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingFrame to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingFrame
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ObjectTrackingAnnotation. */
+ interface IObjectTrackingAnnotation {
+
+ /** ObjectTrackingAnnotation segment */
+ segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId */
+ trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence */
+ confidence?: (number|null);
+
+ /** ObjectTrackingAnnotation frames */
+ frames?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[]|null);
+ }
+
+ /** Represents an ObjectTrackingAnnotation. */
+ class ObjectTrackingAnnotation implements IObjectTrackingAnnotation {
+
+ /**
+ * Constructs a new ObjectTrackingAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation);
+
+ /** ObjectTrackingAnnotation segment. */
+ public segment?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment|null);
+
+ /** ObjectTrackingAnnotation trackId. */
+ public trackId?: (number|Long|string|null);
+
+ /** ObjectTrackingAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** ObjectTrackingAnnotation confidence. */
+ public confidence: number;
+
+ /** ObjectTrackingAnnotation frames. */
+ public frames: google.cloud.videointelligence.v1p3beta1.IObjectTrackingFrame[];
+
+ /** ObjectTrackingAnnotation trackInfo. */
+ public trackInfo?: ("segment"|"trackId");
+
+ /**
+ * Creates a new ObjectTrackingAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectTrackingAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectTrackingAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation.verify|verify} messages.
+ * @param message ObjectTrackingAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Decodes an ObjectTrackingAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectTrackingAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Verifies an ObjectTrackingAnnotation message.
+ * @param message Plain 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 ObjectTrackingAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectTrackingAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation;
+
+ /**
+ * Creates a plain object from an ObjectTrackingAnnotation message. Also converts values to other types if specified.
+ * @param message ObjectTrackingAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectTrackingAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectTrackingAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LogoRecognitionAnnotation. */
+ interface ILogoRecognitionAnnotation {
+
+ /** LogoRecognitionAnnotation entity */
+ entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** LogoRecognitionAnnotation tracks */
+ tracks?: (google.cloud.videointelligence.v1p3beta1.ITrack[]|null);
+
+ /** LogoRecognitionAnnotation segments */
+ segments?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null);
+ }
+
+ /** Represents a LogoRecognitionAnnotation. */
+ class LogoRecognitionAnnotation implements ILogoRecognitionAnnotation {
+
+ /**
+ * Constructs a new LogoRecognitionAnnotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation);
+
+ /** LogoRecognitionAnnotation entity. */
+ public entity?: (google.cloud.videointelligence.v1p3beta1.IEntity|null);
+
+ /** LogoRecognitionAnnotation tracks. */
+ public tracks: google.cloud.videointelligence.v1p3beta1.ITrack[];
+
+ /** LogoRecognitionAnnotation segments. */
+ public segments: google.cloud.videointelligence.v1p3beta1.IVideoSegment[];
+
+ /**
+ * Creates a new LogoRecognitionAnnotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LogoRecognitionAnnotation instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation;
+
+ /**
+ * Encodes the specified LogoRecognitionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages.
+ * @param message LogoRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LogoRecognitionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation.verify|verify} messages.
+ * @param message LogoRecognitionAnnotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.ILogoRecognitionAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LogoRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation;
+
+ /**
+ * Decodes a LogoRecognitionAnnotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LogoRecognitionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation;
+
+ /**
+ * Verifies a LogoRecognitionAnnotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LogoRecognitionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LogoRecognitionAnnotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation;
+
+ /**
+ * Creates a plain object from a LogoRecognitionAnnotation message. Also converts values to other types if specified.
+ * @param message LogoRecognitionAnnotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.LogoRecognitionAnnotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LogoRecognitionAnnotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LogoRecognitionAnnotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingAnnotateVideoRequest. */
+ interface IStreamingAnnotateVideoRequest {
+
+ /** StreamingAnnotateVideoRequest videoConfig */
+ videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null);
+
+ /** StreamingAnnotateVideoRequest inputContent */
+ inputContent?: (Uint8Array|string|null);
+ }
+
+ /** Represents a StreamingAnnotateVideoRequest. */
+ class StreamingAnnotateVideoRequest implements IStreamingAnnotateVideoRequest {
+
+ /**
+ * Constructs a new StreamingAnnotateVideoRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest);
+
+ /** StreamingAnnotateVideoRequest videoConfig. */
+ public videoConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig|null);
+
+ /** StreamingAnnotateVideoRequest inputContent. */
+ public inputContent?: (Uint8Array|string|null);
+
+ /** StreamingAnnotateVideoRequest streamingRequest. */
+ public streamingRequest?: ("videoConfig"|"inputContent");
+
+ /**
+ * Creates a new StreamingAnnotateVideoRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingAnnotateVideoRequest instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest;
+
+ /**
+ * Encodes the specified StreamingAnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages.
+ * @param message StreamingAnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingAnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest.verify|verify} messages.
+ * @param message StreamingAnnotateVideoRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingAnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest;
+
+ /**
+ * Decodes a StreamingAnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingAnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest;
+
+ /**
+ * Verifies a StreamingAnnotateVideoRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingAnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingAnnotateVideoRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest;
+
+ /**
+ * Creates a plain object from a StreamingAnnotateVideoRequest message. Also converts values to other types if specified.
+ * @param message StreamingAnnotateVideoRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingAnnotateVideoRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingAnnotateVideoRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingVideoConfig. */
+ interface IStreamingVideoConfig {
+
+ /** StreamingVideoConfig shotChangeDetectionConfig */
+ shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null);
+
+ /** StreamingVideoConfig labelDetectionConfig */
+ labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null);
+
+ /** StreamingVideoConfig explicitContentDetectionConfig */
+ explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null);
+
+ /** StreamingVideoConfig objectTrackingConfig */
+ objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null);
+
+ /** StreamingVideoConfig automlActionRecognitionConfig */
+ automlActionRecognitionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null);
+
+ /** StreamingVideoConfig automlClassificationConfig */
+ automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null);
+
+ /** StreamingVideoConfig automlObjectTrackingConfig */
+ automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null);
+
+ /** StreamingVideoConfig feature */
+ feature?: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature|null);
+
+ /** StreamingVideoConfig storageConfig */
+ storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null);
+ }
+
+ /** Represents a StreamingVideoConfig. */
+ class StreamingVideoConfig implements IStreamingVideoConfig {
+
+ /**
+ * Constructs a new StreamingVideoConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig);
+
+ /** StreamingVideoConfig shotChangeDetectionConfig. */
+ public shotChangeDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig|null);
+
+ /** StreamingVideoConfig labelDetectionConfig. */
+ public labelDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig|null);
+
+ /** StreamingVideoConfig explicitContentDetectionConfig. */
+ public explicitContentDetectionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig|null);
+
+ /** StreamingVideoConfig objectTrackingConfig. */
+ public objectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig|null);
+
+ /** StreamingVideoConfig automlActionRecognitionConfig. */
+ public automlActionRecognitionConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig|null);
+
+ /** StreamingVideoConfig automlClassificationConfig. */
+ public automlClassificationConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig|null);
+
+ /** StreamingVideoConfig automlObjectTrackingConfig. */
+ public automlObjectTrackingConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig|null);
+
+ /** StreamingVideoConfig feature. */
+ public feature: (google.cloud.videointelligence.v1p3beta1.StreamingFeature|keyof typeof google.cloud.videointelligence.v1p3beta1.StreamingFeature);
+
+ /** StreamingVideoConfig storageConfig. */
+ public storageConfig?: (google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig|null);
+
+ /** StreamingVideoConfig streamingConfig. */
+ public streamingConfig?: ("shotChangeDetectionConfig"|"labelDetectionConfig"|"explicitContentDetectionConfig"|"objectTrackingConfig"|"automlActionRecognitionConfig"|"automlClassificationConfig"|"automlObjectTrackingConfig");
+
+ /**
+ * Creates a new StreamingVideoConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingVideoConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig;
+
+ /**
+ * Encodes the specified StreamingVideoConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages.
+ * @param message StreamingVideoConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingVideoConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig.verify|verify} messages.
+ * @param message StreamingVideoConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingVideoConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingVideoConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig;
+
+ /**
+ * Decodes a StreamingVideoConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingVideoConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig;
+
+ /**
+ * Verifies a StreamingVideoConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingVideoConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingVideoConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig;
+
+ /**
+ * Creates a plain object from a StreamingVideoConfig message. Also converts values to other types if specified.
+ * @param message StreamingVideoConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingVideoConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingVideoConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingAnnotateVideoResponse. */
+ interface IStreamingAnnotateVideoResponse {
+
+ /** StreamingAnnotateVideoResponse error */
+ error?: (google.rpc.IStatus|null);
+
+ /** StreamingAnnotateVideoResponse annotationResults */
+ annotationResults?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null);
+
+ /** StreamingAnnotateVideoResponse annotationResultsUri */
+ annotationResultsUri?: (string|null);
+ }
+
+ /** Represents a StreamingAnnotateVideoResponse. */
+ class StreamingAnnotateVideoResponse implements IStreamingAnnotateVideoResponse {
+
+ /**
+ * Constructs a new StreamingAnnotateVideoResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse);
+
+ /** StreamingAnnotateVideoResponse error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** StreamingAnnotateVideoResponse annotationResults. */
+ public annotationResults?: (google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults|null);
+
+ /** StreamingAnnotateVideoResponse annotationResultsUri. */
+ public annotationResultsUri: string;
+
+ /**
+ * Creates a new StreamingAnnotateVideoResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingAnnotateVideoResponse instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse;
+
+ /**
+ * Encodes the specified StreamingAnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages.
+ * @param message StreamingAnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingAnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse.verify|verify} messages.
+ * @param message StreamingAnnotateVideoResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAnnotateVideoResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingAnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse;
+
+ /**
+ * Decodes a StreamingAnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingAnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse;
+
+ /**
+ * Verifies a StreamingAnnotateVideoResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingAnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingAnnotateVideoResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse;
+
+ /**
+ * Creates a plain object from a StreamingAnnotateVideoResponse message. Also converts values to other types if specified.
+ * @param message StreamingAnnotateVideoResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingAnnotateVideoResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingAnnotateVideoResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingVideoAnnotationResults. */
+ interface IStreamingVideoAnnotationResults {
+
+ /** StreamingVideoAnnotationResults shotAnnotations */
+ shotAnnotations?: (google.cloud.videointelligence.v1p3beta1.IVideoSegment[]|null);
+
+ /** StreamingVideoAnnotationResults labelAnnotations */
+ labelAnnotations?: (google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[]|null);
+
+ /** StreamingVideoAnnotationResults explicitAnnotation */
+ explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null);
+
+ /** StreamingVideoAnnotationResults objectAnnotations */
+ objectAnnotations?: (google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[]|null);
+ }
+
+ /** Represents a StreamingVideoAnnotationResults. */
+ class StreamingVideoAnnotationResults implements IStreamingVideoAnnotationResults {
+
+ /**
+ * Constructs a new StreamingVideoAnnotationResults.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults);
+
+ /** StreamingVideoAnnotationResults shotAnnotations. */
+ public shotAnnotations: google.cloud.videointelligence.v1p3beta1.IVideoSegment[];
+
+ /** StreamingVideoAnnotationResults labelAnnotations. */
+ public labelAnnotations: google.cloud.videointelligence.v1p3beta1.ILabelAnnotation[];
+
+ /** StreamingVideoAnnotationResults explicitAnnotation. */
+ public explicitAnnotation?: (google.cloud.videointelligence.v1p3beta1.IExplicitContentAnnotation|null);
+
+ /** StreamingVideoAnnotationResults objectAnnotations. */
+ public objectAnnotations: google.cloud.videointelligence.v1p3beta1.IObjectTrackingAnnotation[];
+
+ /**
+ * Creates a new StreamingVideoAnnotationResults instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingVideoAnnotationResults instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults;
+
+ /**
+ * Encodes the specified StreamingVideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages.
+ * @param message StreamingVideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingVideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults.verify|verify} messages.
+ * @param message StreamingVideoAnnotationResults message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingVideoAnnotationResults, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingVideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults;
+
+ /**
+ * Decodes a StreamingVideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingVideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults;
+
+ /**
+ * Verifies a StreamingVideoAnnotationResults message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingVideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingVideoAnnotationResults
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults;
+
+ /**
+ * Creates a plain object from a StreamingVideoAnnotationResults message. Also converts values to other types if specified.
+ * @param message StreamingVideoAnnotationResults
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingVideoAnnotationResults to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingVideoAnnotationResults
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingShotChangeDetectionConfig. */
+ interface IStreamingShotChangeDetectionConfig {
+ }
+
+ /** Represents a StreamingShotChangeDetectionConfig. */
+ class StreamingShotChangeDetectionConfig implements IStreamingShotChangeDetectionConfig {
+
+ /**
+ * Constructs a new StreamingShotChangeDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig);
+
+ /**
+ * Creates a new StreamingShotChangeDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingShotChangeDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig;
+
+ /**
+ * Encodes the specified StreamingShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages.
+ * @param message StreamingShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig.verify|verify} messages.
+ * @param message StreamingShotChangeDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingShotChangeDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig;
+
+ /**
+ * Decodes a StreamingShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig;
+
+ /**
+ * Verifies a StreamingShotChangeDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingShotChangeDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig;
+
+ /**
+ * Creates a plain object from a StreamingShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @param message StreamingShotChangeDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingShotChangeDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingShotChangeDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingLabelDetectionConfig. */
+ interface IStreamingLabelDetectionConfig {
+
+ /** StreamingLabelDetectionConfig stationaryCamera */
+ stationaryCamera?: (boolean|null);
+ }
+
+ /** Represents a StreamingLabelDetectionConfig. */
+ class StreamingLabelDetectionConfig implements IStreamingLabelDetectionConfig {
+
+ /**
+ * Constructs a new StreamingLabelDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig);
+
+ /** StreamingLabelDetectionConfig stationaryCamera. */
+ public stationaryCamera: boolean;
+
+ /**
+ * Creates a new StreamingLabelDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingLabelDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig;
+
+ /**
+ * Encodes the specified StreamingLabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages.
+ * @param message StreamingLabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingLabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig.verify|verify} messages.
+ * @param message StreamingLabelDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingLabelDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingLabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig;
+
+ /**
+ * Decodes a StreamingLabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingLabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig;
+
+ /**
+ * Verifies a StreamingLabelDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingLabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingLabelDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig;
+
+ /**
+ * Creates a plain object from a StreamingLabelDetectionConfig message. Also converts values to other types if specified.
+ * @param message StreamingLabelDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingLabelDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingLabelDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingExplicitContentDetectionConfig. */
+ interface IStreamingExplicitContentDetectionConfig {
+ }
+
+ /** Represents a StreamingExplicitContentDetectionConfig. */
+ class StreamingExplicitContentDetectionConfig implements IStreamingExplicitContentDetectionConfig {
+
+ /**
+ * Constructs a new StreamingExplicitContentDetectionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig);
+
+ /**
+ * Creates a new StreamingExplicitContentDetectionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingExplicitContentDetectionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig;
+
+ /**
+ * Encodes the specified StreamingExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message StreamingExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig.verify|verify} messages.
+ * @param message StreamingExplicitContentDetectionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingExplicitContentDetectionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig;
+
+ /**
+ * Decodes a StreamingExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig;
+
+ /**
+ * Verifies a StreamingExplicitContentDetectionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingExplicitContentDetectionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig;
+
+ /**
+ * Creates a plain object from a StreamingExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @param message StreamingExplicitContentDetectionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingExplicitContentDetectionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingExplicitContentDetectionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingObjectTrackingConfig. */
+ interface IStreamingObjectTrackingConfig {
+ }
+
+ /** Represents a StreamingObjectTrackingConfig. */
+ class StreamingObjectTrackingConfig implements IStreamingObjectTrackingConfig {
+
+ /**
+ * Constructs a new StreamingObjectTrackingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig);
+
+ /**
+ * Creates a new StreamingObjectTrackingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingObjectTrackingConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig;
+
+ /**
+ * Encodes the specified StreamingObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages.
+ * @param message StreamingObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig.verify|verify} messages.
+ * @param message StreamingObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig;
+
+ /**
+ * Decodes a StreamingObjectTrackingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig;
+
+ /**
+ * Verifies a StreamingObjectTrackingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingObjectTrackingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingObjectTrackingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig;
+
+ /**
+ * Creates a plain object from a StreamingObjectTrackingConfig message. Also converts values to other types if specified.
+ * @param message StreamingObjectTrackingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingObjectTrackingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingObjectTrackingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingAutomlActionRecognitionConfig. */
+ interface IStreamingAutomlActionRecognitionConfig {
+
+ /** StreamingAutomlActionRecognitionConfig modelName */
+ modelName?: (string|null);
+ }
+
+ /** Represents a StreamingAutomlActionRecognitionConfig. */
+ class StreamingAutomlActionRecognitionConfig implements IStreamingAutomlActionRecognitionConfig {
+
+ /**
+ * Constructs a new StreamingAutomlActionRecognitionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig);
+
+ /** StreamingAutomlActionRecognitionConfig modelName. */
+ public modelName: string;
+
+ /**
+ * Creates a new StreamingAutomlActionRecognitionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingAutomlActionRecognitionConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig;
+
+ /**
+ * Encodes the specified StreamingAutomlActionRecognitionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages.
+ * @param message StreamingAutomlActionRecognitionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingAutomlActionRecognitionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig.verify|verify} messages.
+ * @param message StreamingAutomlActionRecognitionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlActionRecognitionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingAutomlActionRecognitionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig;
+
+ /**
+ * Decodes a StreamingAutomlActionRecognitionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingAutomlActionRecognitionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig;
+
+ /**
+ * Verifies a StreamingAutomlActionRecognitionConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingAutomlActionRecognitionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingAutomlActionRecognitionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig;
+
+ /**
+ * Creates a plain object from a StreamingAutomlActionRecognitionConfig message. Also converts values to other types if specified.
+ * @param message StreamingAutomlActionRecognitionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlActionRecognitionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingAutomlActionRecognitionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingAutomlActionRecognitionConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingAutomlClassificationConfig. */
+ interface IStreamingAutomlClassificationConfig {
+
+ /** StreamingAutomlClassificationConfig modelName */
+ modelName?: (string|null);
+ }
+
+ /** Represents a StreamingAutomlClassificationConfig. */
+ class StreamingAutomlClassificationConfig implements IStreamingAutomlClassificationConfig {
+
+ /**
+ * Constructs a new StreamingAutomlClassificationConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig);
+
+ /** StreamingAutomlClassificationConfig modelName. */
+ public modelName: string;
+
+ /**
+ * Creates a new StreamingAutomlClassificationConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingAutomlClassificationConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig;
+
+ /**
+ * Encodes the specified StreamingAutomlClassificationConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages.
+ * @param message StreamingAutomlClassificationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingAutomlClassificationConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig.verify|verify} messages.
+ * @param message StreamingAutomlClassificationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlClassificationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingAutomlClassificationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig;
+
+ /**
+ * Decodes a StreamingAutomlClassificationConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingAutomlClassificationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig;
+
+ /**
+ * Verifies a StreamingAutomlClassificationConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingAutomlClassificationConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingAutomlClassificationConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig;
+
+ /**
+ * Creates a plain object from a StreamingAutomlClassificationConfig message. Also converts values to other types if specified.
+ * @param message StreamingAutomlClassificationConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlClassificationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingAutomlClassificationConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingAutomlClassificationConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingAutomlObjectTrackingConfig. */
+ interface IStreamingAutomlObjectTrackingConfig {
+
+ /** StreamingAutomlObjectTrackingConfig modelName */
+ modelName?: (string|null);
+ }
+
+ /** Represents a StreamingAutomlObjectTrackingConfig. */
+ class StreamingAutomlObjectTrackingConfig implements IStreamingAutomlObjectTrackingConfig {
+
+ /**
+ * Constructs a new StreamingAutomlObjectTrackingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig);
+
+ /** StreamingAutomlObjectTrackingConfig modelName. */
+ public modelName: string;
+
+ /**
+ * Creates a new StreamingAutomlObjectTrackingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingAutomlObjectTrackingConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig;
+
+ /**
+ * Encodes the specified StreamingAutomlObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages.
+ * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingAutomlObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig.verify|verify} messages.
+ * @param message StreamingAutomlObjectTrackingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingAutomlObjectTrackingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingAutomlObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig;
+
+ /**
+ * Decodes a StreamingAutomlObjectTrackingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingAutomlObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig;
+
+ /**
+ * Verifies a StreamingAutomlObjectTrackingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingAutomlObjectTrackingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingAutomlObjectTrackingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig;
+
+ /**
+ * Creates a plain object from a StreamingAutomlObjectTrackingConfig message. Also converts values to other types if specified.
+ * @param message StreamingAutomlObjectTrackingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingAutomlObjectTrackingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingAutomlObjectTrackingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingAutomlObjectTrackingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StreamingStorageConfig. */
+ interface IStreamingStorageConfig {
+
+ /** StreamingStorageConfig enableStorageAnnotationResult */
+ enableStorageAnnotationResult?: (boolean|null);
+
+ /** StreamingStorageConfig annotationResultStorageDirectory */
+ annotationResultStorageDirectory?: (string|null);
+ }
+
+ /** Represents a StreamingStorageConfig. */
+ class StreamingStorageConfig implements IStreamingStorageConfig {
+
+ /**
+ * Constructs a new StreamingStorageConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig);
+
+ /** StreamingStorageConfig enableStorageAnnotationResult. */
+ public enableStorageAnnotationResult: boolean;
+
+ /** StreamingStorageConfig annotationResultStorageDirectory. */
+ public annotationResultStorageDirectory: string;
+
+ /**
+ * Creates a new StreamingStorageConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StreamingStorageConfig instance
+ */
+ public static create(properties?: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig;
+
+ /**
+ * Encodes the specified StreamingStorageConfig message. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages.
+ * @param message StreamingStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StreamingStorageConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig.verify|verify} messages.
+ * @param message StreamingStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.videointelligence.v1p3beta1.IStreamingStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StreamingStorageConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StreamingStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig;
+
+ /**
+ * Decodes a StreamingStorageConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StreamingStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig;
+
+ /**
+ * Verifies a StreamingStorageConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StreamingStorageConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StreamingStorageConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig;
+
+ /**
+ * Creates a plain object from a StreamingStorageConfig message. Also converts values to other types if specified.
+ * @param message StreamingStorageConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StreamingStorageConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StreamingStorageConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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
+ }
+ }
+
+ /** 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);
+ }
+
+ /** 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);
+ }
+
+ /** 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);
+ }
+
+ /** 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 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 a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-videointelligence/protos/protos.js b/packages/google-cloud-videointelligence/protos/protos.js
new file mode 100644
index 00000000000..ca5a8c5a2bb
--- /dev/null
+++ b/packages/google-cloud-videointelligence/protos/protos.js
@@ -0,0 +1,60616 @@
+// 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_video_intelligence_protos || ($protobuf.roots._google_cloud_video_intelligence_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.videointelligence = (function() {
+
+ /**
+ * Namespace videointelligence.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var videointelligence = {};
+
+ videointelligence.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.videointelligence
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.VideoIntelligenceService = (function() {
+
+ /**
+ * Constructs a new VideoIntelligenceService service.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a VideoIntelligenceService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function VideoIntelligenceService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (VideoIntelligenceService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = VideoIntelligenceService;
+
+ /**
+ * Creates new VideoIntelligenceService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {VideoIntelligenceService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ VideoIntelligenceService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.videointelligence.v1.VideoIntelligenceService|annotateVideo}.
+ * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService
+ * @typedef AnnotateVideoCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls AnnotateVideo.
+ * @function annotateVideo
+ * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService
+ * @instance
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object
+ * @param {google.cloud.videointelligence.v1.VideoIntelligenceService.AnnotateVideoCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(VideoIntelligenceService.prototype.annotateVideo = function annotateVideo(request, callback) {
+ return this.rpcCall(annotateVideo, $root.google.cloud.videointelligence.v1.AnnotateVideoRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "AnnotateVideo" });
+
+ /**
+ * Calls AnnotateVideo.
+ * @function annotateVideo
+ * @memberof google.cloud.videointelligence.v1.VideoIntelligenceService
+ * @instance
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} request AnnotateVideoRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return VideoIntelligenceService;
+ })();
+
+ v1.AnnotateVideoRequest = (function() {
+
+ /**
+ * Properties of an AnnotateVideoRequest.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IAnnotateVideoRequest
+ * @property {string|null} [inputUri] AnnotateVideoRequest inputUri
+ * @property {Uint8Array|null} [inputContent] AnnotateVideoRequest inputContent
+ * @property {Array.|null} [features] AnnotateVideoRequest features
+ * @property {google.cloud.videointelligence.v1.IVideoContext|null} [videoContext] AnnotateVideoRequest videoContext
+ * @property {string|null} [outputUri] AnnotateVideoRequest outputUri
+ * @property {string|null} [locationId] AnnotateVideoRequest locationId
+ */
+
+ /**
+ * Constructs a new AnnotateVideoRequest.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an AnnotateVideoRequest.
+ * @implements IAnnotateVideoRequest
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest=} [properties] Properties to set
+ */
+ function AnnotateVideoRequest(properties) {
+ this.features = [];
+ 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]];
+ }
+
+ /**
+ * AnnotateVideoRequest inputUri.
+ * @member {string} inputUri
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.inputUri = "";
+
+ /**
+ * AnnotateVideoRequest inputContent.
+ * @member {Uint8Array} inputContent
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.inputContent = $util.newBuffer([]);
+
+ /**
+ * AnnotateVideoRequest features.
+ * @member {Array.} features
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.features = $util.emptyArray;
+
+ /**
+ * AnnotateVideoRequest videoContext.
+ * @member {google.cloud.videointelligence.v1.IVideoContext|null|undefined} videoContext
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.videoContext = null;
+
+ /**
+ * AnnotateVideoRequest outputUri.
+ * @member {string} outputUri
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.outputUri = "";
+
+ /**
+ * AnnotateVideoRequest locationId.
+ * @member {string} locationId
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ */
+ AnnotateVideoRequest.prototype.locationId = "";
+
+ /**
+ * Creates a new AnnotateVideoRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest instance
+ */
+ AnnotateVideoRequest.create = function create(properties) {
+ return new AnnotateVideoRequest(properties);
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri);
+ if (message.features != null && message.features.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.features.length; ++i)
+ writer.int32(message.features[i]);
+ writer.ldelim();
+ }
+ if (message.videoContext != null && Object.hasOwnProperty.call(message, "videoContext"))
+ $root.google.cloud.videointelligence.v1.VideoContext.encode(message.videoContext, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.outputUri != null && Object.hasOwnProperty.call(message, "outputUri"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.outputUri);
+ if (message.locationId != null && Object.hasOwnProperty.call(message, "locationId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.locationId);
+ if (message.inputContent != null && Object.hasOwnProperty.call(message, "inputContent"))
+ writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.inputContent);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoRequest message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoRequest} message AnnotateVideoRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoRequest.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.videointelligence.v1.AnnotateVideoRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.inputUri = reader.string();
+ break;
+ }
+ case 6: {
+ message.inputContent = reader.bytes();
+ break;
+ }
+ case 2: {
+ if (!(message.features && message.features.length))
+ message.features = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.features.push(reader.int32());
+ } else
+ message.features.push(reader.int32());
+ break;
+ }
+ case 3: {
+ message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.outputUri = reader.string();
+ break;
+ }
+ case 5: {
+ message.locationId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnnotateVideoRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnnotateVideoRequest message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnnotateVideoRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ if (!$util.isString(message.inputUri))
+ return "inputUri: string expected";
+ if (message.inputContent != null && message.hasOwnProperty("inputContent"))
+ if (!(message.inputContent && typeof message.inputContent.length === "number" || $util.isString(message.inputContent)))
+ return "inputContent: buffer expected";
+ if (message.features != null && message.hasOwnProperty("features")) {
+ if (!Array.isArray(message.features))
+ return "features: array expected";
+ for (var i = 0; i < message.features.length; ++i)
+ switch (message.features[i]) {
+ default:
+ return "features: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 6:
+ case 7:
+ case 9:
+ case 12:
+ case 14:
+ break;
+ }
+ }
+ if (message.videoContext != null && message.hasOwnProperty("videoContext")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoContext.verify(message.videoContext);
+ if (error)
+ return "videoContext." + error;
+ }
+ if (message.outputUri != null && message.hasOwnProperty("outputUri"))
+ if (!$util.isString(message.outputUri))
+ return "outputUri: string expected";
+ if (message.locationId != null && message.hasOwnProperty("locationId"))
+ if (!$util.isString(message.locationId))
+ return "locationId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AnnotateVideoRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoRequest} AnnotateVideoRequest
+ */
+ AnnotateVideoRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoRequest)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoRequest();
+ if (object.inputUri != null)
+ message.inputUri = String(object.inputUri);
+ if (object.inputContent != null)
+ if (typeof object.inputContent === "string")
+ $util.base64.decode(object.inputContent, message.inputContent = $util.newBuffer($util.base64.length(object.inputContent)), 0);
+ else if (object.inputContent.length >= 0)
+ message.inputContent = object.inputContent;
+ if (object.features) {
+ if (!Array.isArray(object.features))
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoRequest.features: array expected");
+ message.features = [];
+ for (var i = 0; i < object.features.length; ++i)
+ switch (object.features[i]) {
+ default:
+ if (typeof object.features[i] === "number") {
+ message.features[i] = object.features[i];
+ break;
+ }
+ case "FEATURE_UNSPECIFIED":
+ case 0:
+ message.features[i] = 0;
+ break;
+ case "LABEL_DETECTION":
+ case 1:
+ message.features[i] = 1;
+ break;
+ case "SHOT_CHANGE_DETECTION":
+ case 2:
+ message.features[i] = 2;
+ break;
+ case "EXPLICIT_CONTENT_DETECTION":
+ case 3:
+ message.features[i] = 3;
+ break;
+ case "FACE_DETECTION":
+ case 4:
+ message.features[i] = 4;
+ break;
+ case "SPEECH_TRANSCRIPTION":
+ case 6:
+ message.features[i] = 6;
+ break;
+ case "TEXT_DETECTION":
+ case 7:
+ message.features[i] = 7;
+ break;
+ case "OBJECT_TRACKING":
+ case 9:
+ message.features[i] = 9;
+ break;
+ case "LOGO_RECOGNITION":
+ case 12:
+ message.features[i] = 12;
+ break;
+ case "PERSON_DETECTION":
+ case 14:
+ message.features[i] = 14;
+ break;
+ }
+ }
+ if (object.videoContext != null) {
+ if (typeof object.videoContext !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoRequest.videoContext: object expected");
+ message.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.fromObject(object.videoContext);
+ }
+ if (object.outputUri != null)
+ message.outputUri = String(object.outputUri);
+ if (object.locationId != null)
+ message.locationId = String(object.locationId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnnotateVideoRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {google.cloud.videointelligence.v1.AnnotateVideoRequest} message AnnotateVideoRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnnotateVideoRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.features = [];
+ if (options.defaults) {
+ object.inputUri = "";
+ object.videoContext = null;
+ object.outputUri = "";
+ object.locationId = "";
+ if (options.bytes === String)
+ object.inputContent = "";
+ else {
+ object.inputContent = [];
+ if (options.bytes !== Array)
+ object.inputContent = $util.newBuffer(object.inputContent);
+ }
+ }
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ object.inputUri = message.inputUri;
+ if (message.features && message.features.length) {
+ object.features = [];
+ for (var j = 0; j < message.features.length; ++j)
+ object.features[j] = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.features[j]] === undefined ? message.features[j] : $root.google.cloud.videointelligence.v1.Feature[message.features[j]] : message.features[j];
+ }
+ if (message.videoContext != null && message.hasOwnProperty("videoContext"))
+ object.videoContext = $root.google.cloud.videointelligence.v1.VideoContext.toObject(message.videoContext, options);
+ if (message.outputUri != null && message.hasOwnProperty("outputUri"))
+ object.outputUri = message.outputUri;
+ if (message.locationId != null && message.hasOwnProperty("locationId"))
+ object.locationId = message.locationId;
+ if (message.inputContent != null && message.hasOwnProperty("inputContent"))
+ object.inputContent = options.bytes === String ? $util.base64.encode(message.inputContent, 0, message.inputContent.length) : options.bytes === Array ? Array.prototype.slice.call(message.inputContent) : message.inputContent;
+ return object;
+ };
+
+ /**
+ * Converts this AnnotateVideoRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnnotateVideoRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnnotateVideoRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnnotateVideoRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoRequest";
+ };
+
+ return AnnotateVideoRequest;
+ })();
+
+ v1.VideoContext = (function() {
+
+ /**
+ * Properties of a VideoContext.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IVideoContext
+ * @property {Array.|null} [segments] VideoContext segments
+ * @property {google.cloud.videointelligence.v1.ILabelDetectionConfig|null} [labelDetectionConfig] VideoContext labelDetectionConfig
+ * @property {google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null} [shotChangeDetectionConfig] VideoContext shotChangeDetectionConfig
+ * @property {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null} [explicitContentDetectionConfig] VideoContext explicitContentDetectionConfig
+ * @property {google.cloud.videointelligence.v1.IFaceDetectionConfig|null} [faceDetectionConfig] VideoContext faceDetectionConfig
+ * @property {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null} [speechTranscriptionConfig] VideoContext speechTranscriptionConfig
+ * @property {google.cloud.videointelligence.v1.ITextDetectionConfig|null} [textDetectionConfig] VideoContext textDetectionConfig
+ * @property {google.cloud.videointelligence.v1.IPersonDetectionConfig|null} [personDetectionConfig] VideoContext personDetectionConfig
+ * @property {google.cloud.videointelligence.v1.IObjectTrackingConfig|null} [objectTrackingConfig] VideoContext objectTrackingConfig
+ */
+
+ /**
+ * Constructs a new VideoContext.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a VideoContext.
+ * @implements IVideoContext
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IVideoContext=} [properties] Properties to set
+ */
+ function VideoContext(properties) {
+ this.segments = [];
+ 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]];
+ }
+
+ /**
+ * VideoContext segments.
+ * @member {Array.} segments
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.segments = $util.emptyArray;
+
+ /**
+ * VideoContext labelDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.ILabelDetectionConfig|null|undefined} labelDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.labelDetectionConfig = null;
+
+ /**
+ * VideoContext shotChangeDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.IShotChangeDetectionConfig|null|undefined} shotChangeDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.shotChangeDetectionConfig = null;
+
+ /**
+ * VideoContext explicitContentDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig|null|undefined} explicitContentDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.explicitContentDetectionConfig = null;
+
+ /**
+ * VideoContext faceDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.IFaceDetectionConfig|null|undefined} faceDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.faceDetectionConfig = null;
+
+ /**
+ * VideoContext speechTranscriptionConfig.
+ * @member {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig|null|undefined} speechTranscriptionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.speechTranscriptionConfig = null;
+
+ /**
+ * VideoContext textDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.ITextDetectionConfig|null|undefined} textDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.textDetectionConfig = null;
+
+ /**
+ * VideoContext personDetectionConfig.
+ * @member {google.cloud.videointelligence.v1.IPersonDetectionConfig|null|undefined} personDetectionConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.personDetectionConfig = null;
+
+ /**
+ * VideoContext objectTrackingConfig.
+ * @member {google.cloud.videointelligence.v1.IObjectTrackingConfig|null|undefined} objectTrackingConfig
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ */
+ VideoContext.prototype.objectTrackingConfig = null;
+
+ /**
+ * Creates a new VideoContext instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoContext=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext instance
+ */
+ VideoContext.create = function create(properties) {
+ return new VideoContext(properties);
+ };
+
+ /**
+ * Encodes the specified VideoContext message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoContext} message VideoContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoContext.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segments != null && message.segments.length)
+ for (var i = 0; i < message.segments.length; ++i)
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segments[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.labelDetectionConfig != null && Object.hasOwnProperty.call(message, "labelDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.LabelDetectionConfig.encode(message.labelDetectionConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.shotChangeDetectionConfig != null && Object.hasOwnProperty.call(message, "shotChangeDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.encode(message.shotChangeDetectionConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.explicitContentDetectionConfig != null && Object.hasOwnProperty.call(message, "explicitContentDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.encode(message.explicitContentDetectionConfig, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.faceDetectionConfig != null && Object.hasOwnProperty.call(message, "faceDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.FaceDetectionConfig.encode(message.faceDetectionConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.speechTranscriptionConfig != null && Object.hasOwnProperty.call(message, "speechTranscriptionConfig"))
+ $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.encode(message.speechTranscriptionConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.textDetectionConfig != null && Object.hasOwnProperty.call(message, "textDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.TextDetectionConfig.encode(message.textDetectionConfig, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.personDetectionConfig != null && Object.hasOwnProperty.call(message, "personDetectionConfig"))
+ $root.google.cloud.videointelligence.v1.PersonDetectionConfig.encode(message.personDetectionConfig, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.objectTrackingConfig != null && Object.hasOwnProperty.call(message, "objectTrackingConfig"))
+ $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.encode(message.objectTrackingConfig, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoContext.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoContext} message VideoContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoContext.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoContext.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.videointelligence.v1.VideoContext();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.segments && message.segments.length))
+ message.segments = [];
+ message.segments.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoContext message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoContext.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoContext message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoContext.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segments != null && message.hasOwnProperty("segments")) {
+ if (!Array.isArray(message.segments))
+ return "segments: array expected";
+ for (var i = 0; i < message.segments.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segments[i]);
+ if (error)
+ return "segments." + error;
+ }
+ }
+ if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.verify(message.labelDetectionConfig);
+ if (error)
+ return "labelDetectionConfig." + error;
+ }
+ if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify(message.shotChangeDetectionConfig);
+ if (error)
+ return "shotChangeDetectionConfig." + error;
+ }
+ if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify(message.explicitContentDetectionConfig);
+ if (error)
+ return "explicitContentDetectionConfig." + error;
+ }
+ if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.verify(message.faceDetectionConfig);
+ if (error)
+ return "faceDetectionConfig." + error;
+ }
+ if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify(message.speechTranscriptionConfig);
+ if (error)
+ return "speechTranscriptionConfig." + error;
+ }
+ if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.TextDetectionConfig.verify(message.textDetectionConfig);
+ if (error)
+ return "textDetectionConfig." + error;
+ }
+ if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.verify(message.personDetectionConfig);
+ if (error)
+ return "personDetectionConfig." + error;
+ }
+ if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig")) {
+ var error = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.verify(message.objectTrackingConfig);
+ if (error)
+ return "objectTrackingConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoContext message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.VideoContext} VideoContext
+ */
+ VideoContext.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.VideoContext)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.VideoContext();
+ if (object.segments) {
+ if (!Array.isArray(object.segments))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.segments: array expected");
+ message.segments = [];
+ for (var i = 0; i < object.segments.length; ++i) {
+ if (typeof object.segments[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.segments: object expected");
+ message.segments[i] = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segments[i]);
+ }
+ }
+ if (object.labelDetectionConfig != null) {
+ if (typeof object.labelDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.labelDetectionConfig: object expected");
+ message.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.fromObject(object.labelDetectionConfig);
+ }
+ if (object.shotChangeDetectionConfig != null) {
+ if (typeof object.shotChangeDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.shotChangeDetectionConfig: object expected");
+ message.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.fromObject(object.shotChangeDetectionConfig);
+ }
+ if (object.explicitContentDetectionConfig != null) {
+ if (typeof object.explicitContentDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.explicitContentDetectionConfig: object expected");
+ message.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.fromObject(object.explicitContentDetectionConfig);
+ }
+ if (object.faceDetectionConfig != null) {
+ if (typeof object.faceDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.faceDetectionConfig: object expected");
+ message.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.fromObject(object.faceDetectionConfig);
+ }
+ if (object.speechTranscriptionConfig != null) {
+ if (typeof object.speechTranscriptionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.speechTranscriptionConfig: object expected");
+ message.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.fromObject(object.speechTranscriptionConfig);
+ }
+ if (object.textDetectionConfig != null) {
+ if (typeof object.textDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.textDetectionConfig: object expected");
+ message.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.fromObject(object.textDetectionConfig);
+ }
+ if (object.personDetectionConfig != null) {
+ if (typeof object.personDetectionConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.personDetectionConfig: object expected");
+ message.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.fromObject(object.personDetectionConfig);
+ }
+ if (object.objectTrackingConfig != null) {
+ if (typeof object.objectTrackingConfig !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoContext.objectTrackingConfig: object expected");
+ message.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.fromObject(object.objectTrackingConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoContext message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.VideoContext} message VideoContext
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoContext.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.segments = [];
+ if (options.defaults) {
+ object.labelDetectionConfig = null;
+ object.shotChangeDetectionConfig = null;
+ object.explicitContentDetectionConfig = null;
+ object.faceDetectionConfig = null;
+ object.speechTranscriptionConfig = null;
+ object.textDetectionConfig = null;
+ object.personDetectionConfig = null;
+ object.objectTrackingConfig = null;
+ }
+ if (message.segments && message.segments.length) {
+ object.segments = [];
+ for (var j = 0; j < message.segments.length; ++j)
+ object.segments[j] = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segments[j], options);
+ }
+ if (message.labelDetectionConfig != null && message.hasOwnProperty("labelDetectionConfig"))
+ object.labelDetectionConfig = $root.google.cloud.videointelligence.v1.LabelDetectionConfig.toObject(message.labelDetectionConfig, options);
+ if (message.shotChangeDetectionConfig != null && message.hasOwnProperty("shotChangeDetectionConfig"))
+ object.shotChangeDetectionConfig = $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig.toObject(message.shotChangeDetectionConfig, options);
+ if (message.explicitContentDetectionConfig != null && message.hasOwnProperty("explicitContentDetectionConfig"))
+ object.explicitContentDetectionConfig = $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.toObject(message.explicitContentDetectionConfig, options);
+ if (message.faceDetectionConfig != null && message.hasOwnProperty("faceDetectionConfig"))
+ object.faceDetectionConfig = $root.google.cloud.videointelligence.v1.FaceDetectionConfig.toObject(message.faceDetectionConfig, options);
+ if (message.speechTranscriptionConfig != null && message.hasOwnProperty("speechTranscriptionConfig"))
+ object.speechTranscriptionConfig = $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig.toObject(message.speechTranscriptionConfig, options);
+ if (message.textDetectionConfig != null && message.hasOwnProperty("textDetectionConfig"))
+ object.textDetectionConfig = $root.google.cloud.videointelligence.v1.TextDetectionConfig.toObject(message.textDetectionConfig, options);
+ if (message.personDetectionConfig != null && message.hasOwnProperty("personDetectionConfig"))
+ object.personDetectionConfig = $root.google.cloud.videointelligence.v1.PersonDetectionConfig.toObject(message.personDetectionConfig, options);
+ if (message.objectTrackingConfig != null && message.hasOwnProperty("objectTrackingConfig"))
+ object.objectTrackingConfig = $root.google.cloud.videointelligence.v1.ObjectTrackingConfig.toObject(message.objectTrackingConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this VideoContext to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoContext.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoContext
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.VideoContext
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoContext";
+ };
+
+ return VideoContext;
+ })();
+
+ /**
+ * Feature enum.
+ * @name google.cloud.videointelligence.v1.Feature
+ * @enum {number}
+ * @property {number} FEATURE_UNSPECIFIED=0 FEATURE_UNSPECIFIED value
+ * @property {number} LABEL_DETECTION=1 LABEL_DETECTION value
+ * @property {number} SHOT_CHANGE_DETECTION=2 SHOT_CHANGE_DETECTION value
+ * @property {number} EXPLICIT_CONTENT_DETECTION=3 EXPLICIT_CONTENT_DETECTION value
+ * @property {number} FACE_DETECTION=4 FACE_DETECTION value
+ * @property {number} SPEECH_TRANSCRIPTION=6 SPEECH_TRANSCRIPTION value
+ * @property {number} TEXT_DETECTION=7 TEXT_DETECTION value
+ * @property {number} OBJECT_TRACKING=9 OBJECT_TRACKING value
+ * @property {number} LOGO_RECOGNITION=12 LOGO_RECOGNITION value
+ * @property {number} PERSON_DETECTION=14 PERSON_DETECTION value
+ */
+ v1.Feature = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FEATURE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "LABEL_DETECTION"] = 1;
+ values[valuesById[2] = "SHOT_CHANGE_DETECTION"] = 2;
+ values[valuesById[3] = "EXPLICIT_CONTENT_DETECTION"] = 3;
+ values[valuesById[4] = "FACE_DETECTION"] = 4;
+ values[valuesById[6] = "SPEECH_TRANSCRIPTION"] = 6;
+ values[valuesById[7] = "TEXT_DETECTION"] = 7;
+ values[valuesById[9] = "OBJECT_TRACKING"] = 9;
+ values[valuesById[12] = "LOGO_RECOGNITION"] = 12;
+ values[valuesById[14] = "PERSON_DETECTION"] = 14;
+ return values;
+ })();
+
+ /**
+ * LabelDetectionMode enum.
+ * @name google.cloud.videointelligence.v1.LabelDetectionMode
+ * @enum {number}
+ * @property {number} LABEL_DETECTION_MODE_UNSPECIFIED=0 LABEL_DETECTION_MODE_UNSPECIFIED value
+ * @property {number} SHOT_MODE=1 SHOT_MODE value
+ * @property {number} FRAME_MODE=2 FRAME_MODE value
+ * @property {number} SHOT_AND_FRAME_MODE=3 SHOT_AND_FRAME_MODE value
+ */
+ v1.LabelDetectionMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LABEL_DETECTION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SHOT_MODE"] = 1;
+ values[valuesById[2] = "FRAME_MODE"] = 2;
+ values[valuesById[3] = "SHOT_AND_FRAME_MODE"] = 3;
+ return values;
+ })();
+
+ /**
+ * Likelihood enum.
+ * @name google.cloud.videointelligence.v1.Likelihood
+ * @enum {number}
+ * @property {number} LIKELIHOOD_UNSPECIFIED=0 LIKELIHOOD_UNSPECIFIED value
+ * @property {number} VERY_UNLIKELY=1 VERY_UNLIKELY value
+ * @property {number} UNLIKELY=2 UNLIKELY value
+ * @property {number} POSSIBLE=3 POSSIBLE value
+ * @property {number} LIKELY=4 LIKELY value
+ * @property {number} VERY_LIKELY=5 VERY_LIKELY value
+ */
+ v1.Likelihood = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "LIKELIHOOD_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "VERY_UNLIKELY"] = 1;
+ values[valuesById[2] = "UNLIKELY"] = 2;
+ values[valuesById[3] = "POSSIBLE"] = 3;
+ values[valuesById[4] = "LIKELY"] = 4;
+ values[valuesById[5] = "VERY_LIKELY"] = 5;
+ return values;
+ })();
+
+ v1.LabelDetectionConfig = (function() {
+
+ /**
+ * Properties of a LabelDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ILabelDetectionConfig
+ * @property {google.cloud.videointelligence.v1.LabelDetectionMode|null} [labelDetectionMode] LabelDetectionConfig labelDetectionMode
+ * @property {boolean|null} [stationaryCamera] LabelDetectionConfig stationaryCamera
+ * @property {string|null} [model] LabelDetectionConfig model
+ * @property {number|null} [frameConfidenceThreshold] LabelDetectionConfig frameConfidenceThreshold
+ * @property {number|null} [videoConfidenceThreshold] LabelDetectionConfig videoConfidenceThreshold
+ */
+
+ /**
+ * Constructs a new LabelDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a LabelDetectionConfig.
+ * @implements ILabelDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig=} [properties] Properties to set
+ */
+ function LabelDetectionConfig(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]];
+ }
+
+ /**
+ * LabelDetectionConfig labelDetectionMode.
+ * @member {google.cloud.videointelligence.v1.LabelDetectionMode} labelDetectionMode
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ */
+ LabelDetectionConfig.prototype.labelDetectionMode = 0;
+
+ /**
+ * LabelDetectionConfig stationaryCamera.
+ * @member {boolean} stationaryCamera
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ */
+ LabelDetectionConfig.prototype.stationaryCamera = false;
+
+ /**
+ * LabelDetectionConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ */
+ LabelDetectionConfig.prototype.model = "";
+
+ /**
+ * LabelDetectionConfig frameConfidenceThreshold.
+ * @member {number} frameConfidenceThreshold
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ */
+ LabelDetectionConfig.prototype.frameConfidenceThreshold = 0;
+
+ /**
+ * LabelDetectionConfig videoConfidenceThreshold.
+ * @member {number} videoConfidenceThreshold
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ */
+ LabelDetectionConfig.prototype.videoConfidenceThreshold = 0;
+
+ /**
+ * Creates a new LabelDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig instance
+ */
+ LabelDetectionConfig.create = function create(properties) {
+ return new LabelDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified LabelDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.labelDetectionMode != null && Object.hasOwnProperty.call(message, "labelDetectionMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelDetectionMode);
+ if (message.stationaryCamera != null && Object.hasOwnProperty.call(message, "stationaryCamera"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.stationaryCamera);
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.model);
+ if (message.frameConfidenceThreshold != null && Object.hasOwnProperty.call(message, "frameConfidenceThreshold"))
+ writer.uint32(/* id 4, wireType 5 =*/37).float(message.frameConfidenceThreshold);
+ if (message.videoConfidenceThreshold != null && Object.hasOwnProperty.call(message, "videoConfidenceThreshold"))
+ writer.uint32(/* id 5, wireType 5 =*/45).float(message.videoConfidenceThreshold);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LabelDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelDetectionConfig} message LabelDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelDetectionConfig.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.videointelligence.v1.LabelDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.labelDetectionMode = reader.int32();
+ break;
+ }
+ case 2: {
+ message.stationaryCamera = reader.bool();
+ break;
+ }
+ case 3: {
+ message.model = reader.string();
+ break;
+ }
+ case 4: {
+ message.frameConfidenceThreshold = reader.float();
+ break;
+ }
+ case 5: {
+ message.videoConfidenceThreshold = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LabelDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LabelDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LabelDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode"))
+ switch (message.labelDetectionMode) {
+ default:
+ return "labelDetectionMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera"))
+ if (typeof message.stationaryCamera !== "boolean")
+ return "stationaryCamera: boolean expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold"))
+ if (typeof message.frameConfidenceThreshold !== "number")
+ return "frameConfidenceThreshold: number expected";
+ if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold"))
+ if (typeof message.videoConfidenceThreshold !== "number")
+ return "videoConfidenceThreshold: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a LabelDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.LabelDetectionConfig} LabelDetectionConfig
+ */
+ LabelDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.LabelDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.LabelDetectionConfig();
+ switch (object.labelDetectionMode) {
+ default:
+ if (typeof object.labelDetectionMode === "number") {
+ message.labelDetectionMode = object.labelDetectionMode;
+ break;
+ }
+ break;
+ case "LABEL_DETECTION_MODE_UNSPECIFIED":
+ case 0:
+ message.labelDetectionMode = 0;
+ break;
+ case "SHOT_MODE":
+ case 1:
+ message.labelDetectionMode = 1;
+ break;
+ case "FRAME_MODE":
+ case 2:
+ message.labelDetectionMode = 2;
+ break;
+ case "SHOT_AND_FRAME_MODE":
+ case 3:
+ message.labelDetectionMode = 3;
+ break;
+ }
+ if (object.stationaryCamera != null)
+ message.stationaryCamera = Boolean(object.stationaryCamera);
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.frameConfidenceThreshold != null)
+ message.frameConfidenceThreshold = Number(object.frameConfidenceThreshold);
+ if (object.videoConfidenceThreshold != null)
+ message.videoConfidenceThreshold = Number(object.videoConfidenceThreshold);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LabelDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.LabelDetectionConfig} message LabelDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LabelDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.labelDetectionMode = options.enums === String ? "LABEL_DETECTION_MODE_UNSPECIFIED" : 0;
+ object.stationaryCamera = false;
+ object.model = "";
+ object.frameConfidenceThreshold = 0;
+ object.videoConfidenceThreshold = 0;
+ }
+ if (message.labelDetectionMode != null && message.hasOwnProperty("labelDetectionMode"))
+ object.labelDetectionMode = options.enums === String ? $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] === undefined ? message.labelDetectionMode : $root.google.cloud.videointelligence.v1.LabelDetectionMode[message.labelDetectionMode] : message.labelDetectionMode;
+ if (message.stationaryCamera != null && message.hasOwnProperty("stationaryCamera"))
+ object.stationaryCamera = message.stationaryCamera;
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.frameConfidenceThreshold != null && message.hasOwnProperty("frameConfidenceThreshold"))
+ object.frameConfidenceThreshold = options.json && !isFinite(message.frameConfidenceThreshold) ? String(message.frameConfidenceThreshold) : message.frameConfidenceThreshold;
+ if (message.videoConfidenceThreshold != null && message.hasOwnProperty("videoConfidenceThreshold"))
+ object.videoConfidenceThreshold = options.json && !isFinite(message.videoConfidenceThreshold) ? String(message.videoConfidenceThreshold) : message.videoConfidenceThreshold;
+ return object;
+ };
+
+ /**
+ * Converts this LabelDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LabelDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LabelDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.LabelDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LabelDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelDetectionConfig";
+ };
+
+ return LabelDetectionConfig;
+ })();
+
+ v1.ShotChangeDetectionConfig = (function() {
+
+ /**
+ * Properties of a ShotChangeDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IShotChangeDetectionConfig
+ * @property {string|null} [model] ShotChangeDetectionConfig model
+ */
+
+ /**
+ * Constructs a new ShotChangeDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a ShotChangeDetectionConfig.
+ * @implements IShotChangeDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig=} [properties] Properties to set
+ */
+ function ShotChangeDetectionConfig(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]];
+ }
+
+ /**
+ * ShotChangeDetectionConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @instance
+ */
+ ShotChangeDetectionConfig.prototype.model = "";
+
+ /**
+ * Creates a new ShotChangeDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig instance
+ */
+ ShotChangeDetectionConfig.create = function create(properties) {
+ return new ShotChangeDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ShotChangeDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ShotChangeDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ShotChangeDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IShotChangeDetectionConfig} message ShotChangeDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ShotChangeDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ShotChangeDetectionConfig.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.videointelligence.v1.ShotChangeDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ShotChangeDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ShotChangeDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ShotChangeDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ShotChangeDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ShotChangeDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} ShotChangeDetectionConfig
+ */
+ ShotChangeDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ShotChangeDetectionConfig();
+ if (object.model != null)
+ message.model = String(object.model);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ShotChangeDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ShotChangeDetectionConfig} message ShotChangeDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ShotChangeDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.model = "";
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ return object;
+ };
+
+ /**
+ * Converts this ShotChangeDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ShotChangeDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ShotChangeDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ShotChangeDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ShotChangeDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ShotChangeDetectionConfig";
+ };
+
+ return ShotChangeDetectionConfig;
+ })();
+
+ v1.ObjectTrackingConfig = (function() {
+
+ /**
+ * Properties of an ObjectTrackingConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IObjectTrackingConfig
+ * @property {string|null} [model] ObjectTrackingConfig model
+ */
+
+ /**
+ * Constructs a new ObjectTrackingConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an ObjectTrackingConfig.
+ * @implements IObjectTrackingConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set
+ */
+ function ObjectTrackingConfig(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]];
+ }
+
+ /**
+ * ObjectTrackingConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @instance
+ */
+ ObjectTrackingConfig.prototype.model = "";
+
+ /**
+ * Creates a new ObjectTrackingConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig instance
+ */
+ ObjectTrackingConfig.create = function create(properties) {
+ return new ObjectTrackingConfig(properties);
+ };
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectTrackingConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ObjectTrackingConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingConfig} message ObjectTrackingConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectTrackingConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectTrackingConfig.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.videointelligence.v1.ObjectTrackingConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ObjectTrackingConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectTrackingConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ObjectTrackingConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ObjectTrackingConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ObjectTrackingConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingConfig} ObjectTrackingConfig
+ */
+ ObjectTrackingConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingConfig();
+ if (object.model != null)
+ message.model = String(object.model);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ObjectTrackingConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ObjectTrackingConfig} message ObjectTrackingConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ObjectTrackingConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.model = "";
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ return object;
+ };
+
+ /**
+ * Converts this ObjectTrackingConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ObjectTrackingConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ObjectTrackingConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ObjectTrackingConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ObjectTrackingConfig";
+ };
+
+ return ObjectTrackingConfig;
+ })();
+
+ v1.FaceDetectionConfig = (function() {
+
+ /**
+ * Properties of a FaceDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IFaceDetectionConfig
+ * @property {string|null} [model] FaceDetectionConfig model
+ * @property {boolean|null} [includeBoundingBoxes] FaceDetectionConfig includeBoundingBoxes
+ * @property {boolean|null} [includeAttributes] FaceDetectionConfig includeAttributes
+ */
+
+ /**
+ * Constructs a new FaceDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a FaceDetectionConfig.
+ * @implements IFaceDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig=} [properties] Properties to set
+ */
+ function FaceDetectionConfig(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]];
+ }
+
+ /**
+ * FaceDetectionConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @instance
+ */
+ FaceDetectionConfig.prototype.model = "";
+
+ /**
+ * FaceDetectionConfig includeBoundingBoxes.
+ * @member {boolean} includeBoundingBoxes
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @instance
+ */
+ FaceDetectionConfig.prototype.includeBoundingBoxes = false;
+
+ /**
+ * FaceDetectionConfig includeAttributes.
+ * @member {boolean} includeAttributes
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @instance
+ */
+ FaceDetectionConfig.prototype.includeAttributes = false;
+
+ /**
+ * Creates a new FaceDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig instance
+ */
+ FaceDetectionConfig.create = function create(properties) {
+ return new FaceDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified FaceDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeBoundingBoxes);
+ if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.includeAttributes);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FaceDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionConfig} message FaceDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceDetectionConfig.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.videointelligence.v1.FaceDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ case 2: {
+ message.includeBoundingBoxes = reader.bool();
+ break;
+ }
+ case 5: {
+ message.includeAttributes = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FaceDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FaceDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FaceDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes"))
+ if (typeof message.includeBoundingBoxes !== "boolean")
+ return "includeBoundingBoxes: boolean expected";
+ if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes"))
+ if (typeof message.includeAttributes !== "boolean")
+ return "includeAttributes: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a FaceDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionConfig} FaceDetectionConfig
+ */
+ FaceDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.FaceDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.FaceDetectionConfig();
+ if (object.model != null)
+ message.model = String(object.model);
+ if (object.includeBoundingBoxes != null)
+ message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes);
+ if (object.includeAttributes != null)
+ message.includeAttributes = Boolean(object.includeAttributes);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FaceDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.FaceDetectionConfig} message FaceDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FaceDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.model = "";
+ object.includeBoundingBoxes = false;
+ object.includeAttributes = false;
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes"))
+ object.includeBoundingBoxes = message.includeBoundingBoxes;
+ if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes"))
+ object.includeAttributes = message.includeAttributes;
+ return object;
+ };
+
+ /**
+ * Converts this FaceDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FaceDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FaceDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FaceDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceDetectionConfig";
+ };
+
+ return FaceDetectionConfig;
+ })();
+
+ v1.PersonDetectionConfig = (function() {
+
+ /**
+ * Properties of a PersonDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IPersonDetectionConfig
+ * @property {boolean|null} [includeBoundingBoxes] PersonDetectionConfig includeBoundingBoxes
+ * @property {boolean|null} [includePoseLandmarks] PersonDetectionConfig includePoseLandmarks
+ * @property {boolean|null} [includeAttributes] PersonDetectionConfig includeAttributes
+ */
+
+ /**
+ * Constructs a new PersonDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a PersonDetectionConfig.
+ * @implements IPersonDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig=} [properties] Properties to set
+ */
+ function PersonDetectionConfig(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]];
+ }
+
+ /**
+ * PersonDetectionConfig includeBoundingBoxes.
+ * @member {boolean} includeBoundingBoxes
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @instance
+ */
+ PersonDetectionConfig.prototype.includeBoundingBoxes = false;
+
+ /**
+ * PersonDetectionConfig includePoseLandmarks.
+ * @member {boolean} includePoseLandmarks
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @instance
+ */
+ PersonDetectionConfig.prototype.includePoseLandmarks = false;
+
+ /**
+ * PersonDetectionConfig includeAttributes.
+ * @member {boolean} includeAttributes
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @instance
+ */
+ PersonDetectionConfig.prototype.includeAttributes = false;
+
+ /**
+ * Creates a new PersonDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig instance
+ */
+ PersonDetectionConfig.create = function create(properties) {
+ return new PersonDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified PersonDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersonDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.includeBoundingBoxes != null && Object.hasOwnProperty.call(message, "includeBoundingBoxes"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.includeBoundingBoxes);
+ if (message.includePoseLandmarks != null && Object.hasOwnProperty.call(message, "includePoseLandmarks"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includePoseLandmarks);
+ if (message.includeAttributes != null && Object.hasOwnProperty.call(message, "includeAttributes"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.includeAttributes);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PersonDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionConfig} message PersonDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersonDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersonDetectionConfig.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.videointelligence.v1.PersonDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.includeBoundingBoxes = reader.bool();
+ break;
+ }
+ case 2: {
+ message.includePoseLandmarks = reader.bool();
+ break;
+ }
+ case 3: {
+ message.includeAttributes = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PersonDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersonDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PersonDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PersonDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes"))
+ if (typeof message.includeBoundingBoxes !== "boolean")
+ return "includeBoundingBoxes: boolean expected";
+ if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks"))
+ if (typeof message.includePoseLandmarks !== "boolean")
+ return "includePoseLandmarks: boolean expected";
+ if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes"))
+ if (typeof message.includeAttributes !== "boolean")
+ return "includeAttributes: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a PersonDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionConfig} PersonDetectionConfig
+ */
+ PersonDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.PersonDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.PersonDetectionConfig();
+ if (object.includeBoundingBoxes != null)
+ message.includeBoundingBoxes = Boolean(object.includeBoundingBoxes);
+ if (object.includePoseLandmarks != null)
+ message.includePoseLandmarks = Boolean(object.includePoseLandmarks);
+ if (object.includeAttributes != null)
+ message.includeAttributes = Boolean(object.includeAttributes);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PersonDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.PersonDetectionConfig} message PersonDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PersonDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.includeBoundingBoxes = false;
+ object.includePoseLandmarks = false;
+ object.includeAttributes = false;
+ }
+ if (message.includeBoundingBoxes != null && message.hasOwnProperty("includeBoundingBoxes"))
+ object.includeBoundingBoxes = message.includeBoundingBoxes;
+ if (message.includePoseLandmarks != null && message.hasOwnProperty("includePoseLandmarks"))
+ object.includePoseLandmarks = message.includePoseLandmarks;
+ if (message.includeAttributes != null && message.hasOwnProperty("includeAttributes"))
+ object.includeAttributes = message.includeAttributes;
+ return object;
+ };
+
+ /**
+ * Converts this PersonDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PersonDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PersonDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PersonDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.PersonDetectionConfig";
+ };
+
+ return PersonDetectionConfig;
+ })();
+
+ v1.ExplicitContentDetectionConfig = (function() {
+
+ /**
+ * Properties of an ExplicitContentDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IExplicitContentDetectionConfig
+ * @property {string|null} [model] ExplicitContentDetectionConfig model
+ */
+
+ /**
+ * Constructs a new ExplicitContentDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an ExplicitContentDetectionConfig.
+ * @implements IExplicitContentDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set
+ */
+ function ExplicitContentDetectionConfig(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]];
+ }
+
+ /**
+ * ExplicitContentDetectionConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @instance
+ */
+ ExplicitContentDetectionConfig.prototype.model = "";
+
+ /**
+ * Creates a new ExplicitContentDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig instance
+ */
+ ExplicitContentDetectionConfig.create = function create(properties) {
+ return new ExplicitContentDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.model);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExplicitContentDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentDetectionConfig} message ExplicitContentDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentDetectionConfig.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.videointelligence.v1.ExplicitContentDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.model = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExplicitContentDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExplicitContentDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExplicitContentDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExplicitContentDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} ExplicitContentDetectionConfig
+ */
+ ExplicitContentDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig();
+ if (object.model != null)
+ message.model = String(object.model);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExplicitContentDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ExplicitContentDetectionConfig} message ExplicitContentDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExplicitContentDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.model = "";
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ return object;
+ };
+
+ /**
+ * Converts this ExplicitContentDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExplicitContentDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExplicitContentDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExplicitContentDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentDetectionConfig";
+ };
+
+ return ExplicitContentDetectionConfig;
+ })();
+
+ v1.TextDetectionConfig = (function() {
+
+ /**
+ * Properties of a TextDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITextDetectionConfig
+ * @property {Array.|null} [languageHints] TextDetectionConfig languageHints
+ * @property {string|null} [model] TextDetectionConfig model
+ */
+
+ /**
+ * Constructs a new TextDetectionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a TextDetectionConfig.
+ * @implements ITextDetectionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITextDetectionConfig=} [properties] Properties to set
+ */
+ function TextDetectionConfig(properties) {
+ this.languageHints = [];
+ 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]];
+ }
+
+ /**
+ * TextDetectionConfig languageHints.
+ * @member {Array.} languageHints
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @instance
+ */
+ TextDetectionConfig.prototype.languageHints = $util.emptyArray;
+
+ /**
+ * TextDetectionConfig model.
+ * @member {string} model
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @instance
+ */
+ TextDetectionConfig.prototype.model = "";
+
+ /**
+ * Creates a new TextDetectionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextDetectionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig instance
+ */
+ TextDetectionConfig.create = function create(properties) {
+ return new TextDetectionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified TextDetectionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextDetectionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.languageHints != null && message.languageHints.length)
+ for (var i = 0; i < message.languageHints.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageHints[i]);
+ if (message.model != null && Object.hasOwnProperty.call(message, "model"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.model);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextDetectionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextDetectionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextDetectionConfig} message TextDetectionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextDetectionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextDetectionConfig.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.videointelligence.v1.TextDetectionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.languageHints && message.languageHints.length))
+ message.languageHints = [];
+ message.languageHints.push(reader.string());
+ break;
+ }
+ case 2: {
+ message.model = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextDetectionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextDetectionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextDetectionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextDetectionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.languageHints != null && message.hasOwnProperty("languageHints")) {
+ if (!Array.isArray(message.languageHints))
+ return "languageHints: array expected";
+ for (var i = 0; i < message.languageHints.length; ++i)
+ if (!$util.isString(message.languageHints[i]))
+ return "languageHints: string[] expected";
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ if (!$util.isString(message.model))
+ return "model: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TextDetectionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.TextDetectionConfig} TextDetectionConfig
+ */
+ TextDetectionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.TextDetectionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.TextDetectionConfig();
+ if (object.languageHints) {
+ if (!Array.isArray(object.languageHints))
+ throw TypeError(".google.cloud.videointelligence.v1.TextDetectionConfig.languageHints: array expected");
+ message.languageHints = [];
+ for (var i = 0; i < object.languageHints.length; ++i)
+ message.languageHints[i] = String(object.languageHints[i]);
+ }
+ if (object.model != null)
+ message.model = String(object.model);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextDetectionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.TextDetectionConfig} message TextDetectionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextDetectionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.languageHints = [];
+ if (options.defaults)
+ object.model = "";
+ if (message.languageHints && message.languageHints.length) {
+ object.languageHints = [];
+ for (var j = 0; j < message.languageHints.length; ++j)
+ object.languageHints[j] = message.languageHints[j];
+ }
+ if (message.model != null && message.hasOwnProperty("model"))
+ object.model = message.model;
+ return object;
+ };
+
+ /**
+ * Converts this TextDetectionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextDetectionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextDetectionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.TextDetectionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextDetectionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextDetectionConfig";
+ };
+
+ return TextDetectionConfig;
+ })();
+
+ v1.VideoSegment = (function() {
+
+ /**
+ * Properties of a VideoSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IVideoSegment
+ * @property {google.protobuf.IDuration|null} [startTimeOffset] VideoSegment startTimeOffset
+ * @property {google.protobuf.IDuration|null} [endTimeOffset] VideoSegment endTimeOffset
+ */
+
+ /**
+ * Constructs a new VideoSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a VideoSegment.
+ * @implements IVideoSegment
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IVideoSegment=} [properties] Properties to set
+ */
+ function VideoSegment(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]];
+ }
+
+ /**
+ * VideoSegment startTimeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} startTimeOffset
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @instance
+ */
+ VideoSegment.prototype.startTimeOffset = null;
+
+ /**
+ * VideoSegment endTimeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} endTimeOffset
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @instance
+ */
+ VideoSegment.prototype.endTimeOffset = null;
+
+ /**
+ * Creates a new VideoSegment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoSegment=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment instance
+ */
+ VideoSegment.create = function create(properties) {
+ return new VideoSegment(properties);
+ };
+
+ /**
+ * Encodes the specified VideoSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoSegment} message VideoSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoSegment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTimeOffset != null && Object.hasOwnProperty.call(message, "startTimeOffset"))
+ $root.google.protobuf.Duration.encode(message.startTimeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTimeOffset != null && Object.hasOwnProperty.call(message, "endTimeOffset"))
+ $root.google.protobuf.Duration.encode(message.endTimeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoSegment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoSegment} message VideoSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoSegment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoSegment.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.videointelligence.v1.VideoSegment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTimeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoSegment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoSegment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoSegment message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoSegment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.startTimeOffset);
+ if (error)
+ return "startTimeOffset." + error;
+ }
+ if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.endTimeOffset);
+ if (error)
+ return "endTimeOffset." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoSegment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.VideoSegment} VideoSegment
+ */
+ VideoSegment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.VideoSegment)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.VideoSegment();
+ if (object.startTimeOffset != null) {
+ if (typeof object.startTimeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoSegment.startTimeOffset: object expected");
+ message.startTimeOffset = $root.google.protobuf.Duration.fromObject(object.startTimeOffset);
+ }
+ if (object.endTimeOffset != null) {
+ if (typeof object.endTimeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoSegment.endTimeOffset: object expected");
+ message.endTimeOffset = $root.google.protobuf.Duration.fromObject(object.endTimeOffset);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoSegment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.VideoSegment} message VideoSegment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoSegment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTimeOffset = null;
+ object.endTimeOffset = null;
+ }
+ if (message.startTimeOffset != null && message.hasOwnProperty("startTimeOffset"))
+ object.startTimeOffset = $root.google.protobuf.Duration.toObject(message.startTimeOffset, options);
+ if (message.endTimeOffset != null && message.hasOwnProperty("endTimeOffset"))
+ object.endTimeOffset = $root.google.protobuf.Duration.toObject(message.endTimeOffset, options);
+ return object;
+ };
+
+ /**
+ * Converts this VideoSegment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoSegment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoSegment
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.VideoSegment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoSegment";
+ };
+
+ return VideoSegment;
+ })();
+
+ v1.LabelSegment = (function() {
+
+ /**
+ * Properties of a LabelSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ILabelSegment
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] LabelSegment segment
+ * @property {number|null} [confidence] LabelSegment confidence
+ */
+
+ /**
+ * Constructs a new LabelSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a LabelSegment.
+ * @implements ILabelSegment
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ILabelSegment=} [properties] Properties to set
+ */
+ function LabelSegment(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]];
+ }
+
+ /**
+ * LabelSegment segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @instance
+ */
+ LabelSegment.prototype.segment = null;
+
+ /**
+ * LabelSegment confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @instance
+ */
+ LabelSegment.prototype.confidence = 0;
+
+ /**
+ * Creates a new LabelSegment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelSegment=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment instance
+ */
+ LabelSegment.create = function create(properties) {
+ return new LabelSegment(properties);
+ };
+
+ /**
+ * Encodes the specified LabelSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelSegment} message LabelSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelSegment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LabelSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelSegment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelSegment} message LabelSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelSegment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelSegment.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.videointelligence.v1.LabelSegment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.confidence = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LabelSegment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelSegment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LabelSegment message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LabelSegment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a LabelSegment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.LabelSegment} LabelSegment
+ */
+ LabelSegment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.LabelSegment)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.LabelSegment();
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelSegment.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LabelSegment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.LabelSegment} message LabelSegment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LabelSegment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.segment = null;
+ object.confidence = 0;
+ }
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ return object;
+ };
+
+ /**
+ * Converts this LabelSegment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LabelSegment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LabelSegment
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.LabelSegment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LabelSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelSegment";
+ };
+
+ return LabelSegment;
+ })();
+
+ v1.LabelFrame = (function() {
+
+ /**
+ * Properties of a LabelFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ILabelFrame
+ * @property {google.protobuf.IDuration|null} [timeOffset] LabelFrame timeOffset
+ * @property {number|null} [confidence] LabelFrame confidence
+ */
+
+ /**
+ * Constructs a new LabelFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a LabelFrame.
+ * @implements ILabelFrame
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ILabelFrame=} [properties] Properties to set
+ */
+ function LabelFrame(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]];
+ }
+
+ /**
+ * LabelFrame timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @instance
+ */
+ LabelFrame.prototype.timeOffset = null;
+
+ /**
+ * LabelFrame confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @instance
+ */
+ LabelFrame.prototype.confidence = 0;
+
+ /**
+ * Creates a new LabelFrame instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelFrame=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame instance
+ */
+ LabelFrame.create = function create(properties) {
+ return new LabelFrame(properties);
+ };
+
+ /**
+ * Encodes the specified LabelFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelFrame} message LabelFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelFrame.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LabelFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelFrame.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelFrame} message LabelFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelFrame.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelFrame.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.videointelligence.v1.LabelFrame();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.confidence = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LabelFrame message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelFrame.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LabelFrame message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LabelFrame.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a LabelFrame message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.LabelFrame} LabelFrame
+ */
+ LabelFrame.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.LabelFrame)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.LabelFrame();
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelFrame.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LabelFrame message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.LabelFrame} message LabelFrame
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LabelFrame.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.timeOffset = null;
+ object.confidence = 0;
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ return object;
+ };
+
+ /**
+ * Converts this LabelFrame to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LabelFrame.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LabelFrame
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.LabelFrame
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LabelFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelFrame";
+ };
+
+ return LabelFrame;
+ })();
+
+ v1.Entity = (function() {
+
+ /**
+ * Properties of an Entity.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IEntity
+ * @property {string|null} [entityId] Entity entityId
+ * @property {string|null} [description] Entity description
+ * @property {string|null} [languageCode] Entity languageCode
+ */
+
+ /**
+ * Constructs a new Entity.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an Entity.
+ * @implements IEntity
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IEntity=} [properties] Properties to set
+ */
+ function Entity(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Entity entityId.
+ * @member {string} entityId
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @instance
+ */
+ Entity.prototype.entityId = "";
+
+ /**
+ * Entity description.
+ * @member {string} description
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @instance
+ */
+ Entity.prototype.description = "";
+
+ /**
+ * Entity languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @instance
+ */
+ Entity.prototype.languageCode = "";
+
+ /**
+ * Creates a new Entity instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {google.cloud.videointelligence.v1.IEntity=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.Entity} Entity instance
+ */
+ Entity.create = function create(properties) {
+ return new Entity(properties);
+ };
+
+ /**
+ * Encodes the specified Entity message. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {google.cloud.videointelligence.v1.IEntity} message Entity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entity.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.entityId != null && Object.hasOwnProperty.call(message, "entityId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.entityId);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Entity.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {google.cloud.videointelligence.v1.IEntity} message Entity message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entity.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.Entity} Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entity.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.videointelligence.v1.Entity();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.entityId = reader.string();
+ break;
+ }
+ case 2: {
+ message.description = reader.string();
+ break;
+ }
+ case 3: {
+ message.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Entity message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.Entity} Entity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entity.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Entity message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Entity.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.entityId != null && message.hasOwnProperty("entityId"))
+ if (!$util.isString(message.entityId))
+ return "entityId: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an Entity message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.Entity} Entity
+ */
+ Entity.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.Entity)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.Entity();
+ if (object.entityId != null)
+ message.entityId = String(object.entityId);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Entity message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {google.cloud.videointelligence.v1.Entity} message Entity
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Entity.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.entityId = "";
+ object.description = "";
+ object.languageCode = "";
+ }
+ if (message.entityId != null && message.hasOwnProperty("entityId"))
+ object.entityId = message.entityId;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this Entity to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Entity.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Entity
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.Entity
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Entity.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.Entity";
+ };
+
+ return Entity;
+ })();
+
+ v1.LabelAnnotation = (function() {
+
+ /**
+ * Properties of a LabelAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ILabelAnnotation
+ * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] LabelAnnotation entity
+ * @property {Array.|null} [categoryEntities] LabelAnnotation categoryEntities
+ * @property {Array.|null} [segments] LabelAnnotation segments
+ * @property {Array.|null} [frames] LabelAnnotation frames
+ * @property {string|null} [version] LabelAnnotation version
+ */
+
+ /**
+ * Constructs a new LabelAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a LabelAnnotation.
+ * @implements ILabelAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ILabelAnnotation=} [properties] Properties to set
+ */
+ function LabelAnnotation(properties) {
+ this.categoryEntities = [];
+ this.segments = [];
+ this.frames = [];
+ 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]];
+ }
+
+ /**
+ * LabelAnnotation entity.
+ * @member {google.cloud.videointelligence.v1.IEntity|null|undefined} entity
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ */
+ LabelAnnotation.prototype.entity = null;
+
+ /**
+ * LabelAnnotation categoryEntities.
+ * @member {Array.} categoryEntities
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ */
+ LabelAnnotation.prototype.categoryEntities = $util.emptyArray;
+
+ /**
+ * LabelAnnotation segments.
+ * @member {Array.} segments
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ */
+ LabelAnnotation.prototype.segments = $util.emptyArray;
+
+ /**
+ * LabelAnnotation frames.
+ * @member {Array.} frames
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ */
+ LabelAnnotation.prototype.frames = $util.emptyArray;
+
+ /**
+ * LabelAnnotation version.
+ * @member {string} version
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ */
+ LabelAnnotation.prototype.version = "";
+
+ /**
+ * Creates a new LabelAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation instance
+ */
+ LabelAnnotation.create = function create(properties) {
+ return new LabelAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified LabelAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelAnnotation} message LabelAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.entity != null && Object.hasOwnProperty.call(message, "entity"))
+ $root.google.cloud.videointelligence.v1.Entity.encode(message.entity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.categoryEntities != null && message.categoryEntities.length)
+ for (var i = 0; i < message.categoryEntities.length; ++i)
+ $root.google.cloud.videointelligence.v1.Entity.encode(message.categoryEntities[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.segments != null && message.segments.length)
+ for (var i = 0; i < message.segments.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelSegment.encode(message.segments[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.frames != null && message.frames.length)
+ for (var i = 0; i < message.frames.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelFrame.encode(message.frames[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LabelAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.LabelAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ILabelAnnotation} message LabelAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelAnnotation.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.videointelligence.v1.LabelAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.entity = $root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.categoryEntities && message.categoryEntities.length))
+ message.categoryEntities = [];
+ message.categoryEntities.push($root.google.cloud.videointelligence.v1.Entity.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.segments && message.segments.length))
+ message.segments = [];
+ message.segments.push($root.google.cloud.videointelligence.v1.LabelSegment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.frames && message.frames.length))
+ message.frames = [];
+ message.frames.push($root.google.cloud.videointelligence.v1.LabelFrame.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LabelAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LabelAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LabelAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.entity != null && message.hasOwnProperty("entity")) {
+ var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.entity);
+ if (error)
+ return "entity." + error;
+ }
+ if (message.categoryEntities != null && message.hasOwnProperty("categoryEntities")) {
+ if (!Array.isArray(message.categoryEntities))
+ return "categoryEntities: array expected";
+ for (var i = 0; i < message.categoryEntities.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.Entity.verify(message.categoryEntities[i]);
+ if (error)
+ return "categoryEntities." + error;
+ }
+ }
+ if (message.segments != null && message.hasOwnProperty("segments")) {
+ if (!Array.isArray(message.segments))
+ return "segments: array expected";
+ for (var i = 0; i < message.segments.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelSegment.verify(message.segments[i]);
+ if (error)
+ return "segments." + error;
+ }
+ }
+ if (message.frames != null && message.hasOwnProperty("frames")) {
+ if (!Array.isArray(message.frames))
+ return "frames: array expected";
+ for (var i = 0; i < message.frames.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelFrame.verify(message.frames[i]);
+ if (error)
+ return "frames." + error;
+ }
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a LabelAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.LabelAnnotation} LabelAnnotation
+ */
+ LabelAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.LabelAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.LabelAnnotation();
+ if (object.entity != null) {
+ if (typeof object.entity !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.entity: object expected");
+ message.entity = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.entity);
+ }
+ if (object.categoryEntities) {
+ if (!Array.isArray(object.categoryEntities))
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.categoryEntities: array expected");
+ message.categoryEntities = [];
+ for (var i = 0; i < object.categoryEntities.length; ++i) {
+ if (typeof object.categoryEntities[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.categoryEntities: object expected");
+ message.categoryEntities[i] = $root.google.cloud.videointelligence.v1.Entity.fromObject(object.categoryEntities[i]);
+ }
+ }
+ if (object.segments) {
+ if (!Array.isArray(object.segments))
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.segments: array expected");
+ message.segments = [];
+ for (var i = 0; i < object.segments.length; ++i) {
+ if (typeof object.segments[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.segments: object expected");
+ message.segments[i] = $root.google.cloud.videointelligence.v1.LabelSegment.fromObject(object.segments[i]);
+ }
+ }
+ if (object.frames) {
+ if (!Array.isArray(object.frames))
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.frames: array expected");
+ message.frames = [];
+ for (var i = 0; i < object.frames.length; ++i) {
+ if (typeof object.frames[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.LabelAnnotation.frames: object expected");
+ message.frames[i] = $root.google.cloud.videointelligence.v1.LabelFrame.fromObject(object.frames[i]);
+ }
+ }
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LabelAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.LabelAnnotation} message LabelAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LabelAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.categoryEntities = [];
+ object.segments = [];
+ object.frames = [];
+ }
+ if (options.defaults) {
+ object.entity = null;
+ object.version = "";
+ }
+ if (message.entity != null && message.hasOwnProperty("entity"))
+ object.entity = $root.google.cloud.videointelligence.v1.Entity.toObject(message.entity, options);
+ if (message.categoryEntities && message.categoryEntities.length) {
+ object.categoryEntities = [];
+ for (var j = 0; j < message.categoryEntities.length; ++j)
+ object.categoryEntities[j] = $root.google.cloud.videointelligence.v1.Entity.toObject(message.categoryEntities[j], options);
+ }
+ if (message.segments && message.segments.length) {
+ object.segments = [];
+ for (var j = 0; j < message.segments.length; ++j)
+ object.segments[j] = $root.google.cloud.videointelligence.v1.LabelSegment.toObject(message.segments[j], options);
+ }
+ if (message.frames && message.frames.length) {
+ object.frames = [];
+ for (var j = 0; j < message.frames.length; ++j)
+ object.frames[j] = $root.google.cloud.videointelligence.v1.LabelFrame.toObject(message.frames[j], options);
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this LabelAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LabelAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LabelAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.LabelAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LabelAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.LabelAnnotation";
+ };
+
+ return LabelAnnotation;
+ })();
+
+ v1.ExplicitContentFrame = (function() {
+
+ /**
+ * Properties of an ExplicitContentFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IExplicitContentFrame
+ * @property {google.protobuf.IDuration|null} [timeOffset] ExplicitContentFrame timeOffset
+ * @property {google.cloud.videointelligence.v1.Likelihood|null} [pornographyLikelihood] ExplicitContentFrame pornographyLikelihood
+ */
+
+ /**
+ * Constructs a new ExplicitContentFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an ExplicitContentFrame.
+ * @implements IExplicitContentFrame
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IExplicitContentFrame=} [properties] Properties to set
+ */
+ function ExplicitContentFrame(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]];
+ }
+
+ /**
+ * ExplicitContentFrame timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @instance
+ */
+ ExplicitContentFrame.prototype.timeOffset = null;
+
+ /**
+ * ExplicitContentFrame pornographyLikelihood.
+ * @member {google.cloud.videointelligence.v1.Likelihood} pornographyLikelihood
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @instance
+ */
+ ExplicitContentFrame.prototype.pornographyLikelihood = 0;
+
+ /**
+ * Creates a new ExplicitContentFrame instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentFrame=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame instance
+ */
+ ExplicitContentFrame.create = function create(properties) {
+ return new ExplicitContentFrame(properties);
+ };
+
+ /**
+ * Encodes the specified ExplicitContentFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentFrame.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.pornographyLikelihood != null && Object.hasOwnProperty.call(message, "pornographyLikelihood"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pornographyLikelihood);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExplicitContentFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentFrame.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentFrame} message ExplicitContentFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentFrame.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentFrame.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.videointelligence.v1.ExplicitContentFrame();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.pornographyLikelihood = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExplicitContentFrame message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentFrame.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExplicitContentFrame message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExplicitContentFrame.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood"))
+ switch (message.pornographyLikelihood) {
+ default:
+ return "pornographyLikelihood: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExplicitContentFrame message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentFrame} ExplicitContentFrame
+ */
+ ExplicitContentFrame.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentFrame)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ExplicitContentFrame();
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentFrame.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ switch (object.pornographyLikelihood) {
+ default:
+ if (typeof object.pornographyLikelihood === "number") {
+ message.pornographyLikelihood = object.pornographyLikelihood;
+ break;
+ }
+ break;
+ case "LIKELIHOOD_UNSPECIFIED":
+ case 0:
+ message.pornographyLikelihood = 0;
+ break;
+ case "VERY_UNLIKELY":
+ case 1:
+ message.pornographyLikelihood = 1;
+ break;
+ case "UNLIKELY":
+ case 2:
+ message.pornographyLikelihood = 2;
+ break;
+ case "POSSIBLE":
+ case 3:
+ message.pornographyLikelihood = 3;
+ break;
+ case "LIKELY":
+ case 4:
+ message.pornographyLikelihood = 4;
+ break;
+ case "VERY_LIKELY":
+ case 5:
+ message.pornographyLikelihood = 5;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExplicitContentFrame message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ExplicitContentFrame} message ExplicitContentFrame
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExplicitContentFrame.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.timeOffset = null;
+ object.pornographyLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0;
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ if (message.pornographyLikelihood != null && message.hasOwnProperty("pornographyLikelihood"))
+ object.pornographyLikelihood = options.enums === String ? $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] === undefined ? message.pornographyLikelihood : $root.google.cloud.videointelligence.v1.Likelihood[message.pornographyLikelihood] : message.pornographyLikelihood;
+ return object;
+ };
+
+ /**
+ * Converts this ExplicitContentFrame to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExplicitContentFrame.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExplicitContentFrame
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentFrame
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExplicitContentFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentFrame";
+ };
+
+ return ExplicitContentFrame;
+ })();
+
+ v1.ExplicitContentAnnotation = (function() {
+
+ /**
+ * Properties of an ExplicitContentAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IExplicitContentAnnotation
+ * @property {Array.|null} [frames] ExplicitContentAnnotation frames
+ * @property {string|null} [version] ExplicitContentAnnotation version
+ */
+
+ /**
+ * Constructs a new ExplicitContentAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an ExplicitContentAnnotation.
+ * @implements IExplicitContentAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation=} [properties] Properties to set
+ */
+ function ExplicitContentAnnotation(properties) {
+ this.frames = [];
+ 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]];
+ }
+
+ /**
+ * ExplicitContentAnnotation frames.
+ * @member {Array.} frames
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @instance
+ */
+ ExplicitContentAnnotation.prototype.frames = $util.emptyArray;
+
+ /**
+ * ExplicitContentAnnotation version.
+ * @member {string} version
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @instance
+ */
+ ExplicitContentAnnotation.prototype.version = "";
+
+ /**
+ * Creates a new ExplicitContentAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation instance
+ */
+ ExplicitContentAnnotation.create = function create(properties) {
+ return new ExplicitContentAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.frames != null && message.frames.length)
+ for (var i = 0; i < message.frames.length; ++i)
+ $root.google.cloud.videointelligence.v1.ExplicitContentFrame.encode(message.frames[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExplicitContentAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IExplicitContentAnnotation} message ExplicitContentAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExplicitContentAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentAnnotation.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.videointelligence.v1.ExplicitContentAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.frames && message.frames.length))
+ message.frames = [];
+ message.frames.push($root.google.cloud.videointelligence.v1.ExplicitContentFrame.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExplicitContentAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExplicitContentAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExplicitContentAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExplicitContentAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.frames != null && message.hasOwnProperty("frames")) {
+ if (!Array.isArray(message.frames))
+ return "frames: array expected";
+ for (var i = 0; i < message.frames.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.verify(message.frames[i]);
+ if (error)
+ return "frames." + error;
+ }
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExplicitContentAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ExplicitContentAnnotation} ExplicitContentAnnotation
+ */
+ ExplicitContentAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation();
+ if (object.frames) {
+ if (!Array.isArray(object.frames))
+ throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentAnnotation.frames: array expected");
+ message.frames = [];
+ for (var i = 0; i < object.frames.length; ++i) {
+ if (typeof object.frames[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.ExplicitContentAnnotation.frames: object expected");
+ message.frames[i] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.fromObject(object.frames[i]);
+ }
+ }
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExplicitContentAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ExplicitContentAnnotation} message ExplicitContentAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExplicitContentAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.frames = [];
+ if (options.defaults)
+ object.version = "";
+ if (message.frames && message.frames.length) {
+ object.frames = [];
+ for (var j = 0; j < message.frames.length; ++j)
+ object.frames[j] = $root.google.cloud.videointelligence.v1.ExplicitContentFrame.toObject(message.frames[j], options);
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this ExplicitContentAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExplicitContentAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExplicitContentAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ExplicitContentAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExplicitContentAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ExplicitContentAnnotation";
+ };
+
+ return ExplicitContentAnnotation;
+ })();
+
+ v1.NormalizedBoundingBox = (function() {
+
+ /**
+ * Properties of a NormalizedBoundingBox.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface INormalizedBoundingBox
+ * @property {number|null} [left] NormalizedBoundingBox left
+ * @property {number|null} [top] NormalizedBoundingBox top
+ * @property {number|null} [right] NormalizedBoundingBox right
+ * @property {number|null} [bottom] NormalizedBoundingBox bottom
+ */
+
+ /**
+ * Constructs a new NormalizedBoundingBox.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a NormalizedBoundingBox.
+ * @implements INormalizedBoundingBox
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set
+ */
+ function NormalizedBoundingBox(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]];
+ }
+
+ /**
+ * NormalizedBoundingBox left.
+ * @member {number} left
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @instance
+ */
+ NormalizedBoundingBox.prototype.left = 0;
+
+ /**
+ * NormalizedBoundingBox top.
+ * @member {number} top
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @instance
+ */
+ NormalizedBoundingBox.prototype.top = 0;
+
+ /**
+ * NormalizedBoundingBox right.
+ * @member {number} right
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @instance
+ */
+ NormalizedBoundingBox.prototype.right = 0;
+
+ /**
+ * NormalizedBoundingBox bottom.
+ * @member {number} bottom
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @instance
+ */
+ NormalizedBoundingBox.prototype.bottom = 0;
+
+ /**
+ * Creates a new NormalizedBoundingBox instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox instance
+ */
+ NormalizedBoundingBox.create = function create(properties) {
+ return new NormalizedBoundingBox(properties);
+ };
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedBoundingBox.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.left != null && Object.hasOwnProperty.call(message, "left"))
+ writer.uint32(/* id 1, wireType 5 =*/13).float(message.left);
+ if (message.top != null && Object.hasOwnProperty.call(message, "top"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.top);
+ if (message.right != null && Object.hasOwnProperty.call(message, "right"))
+ writer.uint32(/* id 3, wireType 5 =*/29).float(message.right);
+ if (message.bottom != null && Object.hasOwnProperty.call(message, "bottom"))
+ writer.uint32(/* id 4, wireType 5 =*/37).float(message.bottom);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NormalizedBoundingBox message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingBox.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingBox} message NormalizedBoundingBox message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedBoundingBox.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedBoundingBox.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.videointelligence.v1.NormalizedBoundingBox();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.left = reader.float();
+ break;
+ }
+ case 2: {
+ message.top = reader.float();
+ break;
+ }
+ case 3: {
+ message.right = reader.float();
+ break;
+ }
+ case 4: {
+ message.bottom = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NormalizedBoundingBox message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedBoundingBox.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NormalizedBoundingBox message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NormalizedBoundingBox.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.left != null && message.hasOwnProperty("left"))
+ if (typeof message.left !== "number")
+ return "left: number expected";
+ if (message.top != null && message.hasOwnProperty("top"))
+ if (typeof message.top !== "number")
+ return "top: number expected";
+ if (message.right != null && message.hasOwnProperty("right"))
+ if (typeof message.right !== "number")
+ return "right: number expected";
+ if (message.bottom != null && message.hasOwnProperty("bottom"))
+ if (typeof message.bottom !== "number")
+ return "bottom: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a NormalizedBoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingBox} NormalizedBoundingBox
+ */
+ NormalizedBoundingBox.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingBox)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingBox();
+ if (object.left != null)
+ message.left = Number(object.left);
+ if (object.top != null)
+ message.top = Number(object.top);
+ if (object.right != null)
+ message.right = Number(object.right);
+ if (object.bottom != null)
+ message.bottom = Number(object.bottom);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NormalizedBoundingBox message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {google.cloud.videointelligence.v1.NormalizedBoundingBox} message NormalizedBoundingBox
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NormalizedBoundingBox.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.left = 0;
+ object.top = 0;
+ object.right = 0;
+ object.bottom = 0;
+ }
+ if (message.left != null && message.hasOwnProperty("left"))
+ object.left = options.json && !isFinite(message.left) ? String(message.left) : message.left;
+ if (message.top != null && message.hasOwnProperty("top"))
+ object.top = options.json && !isFinite(message.top) ? String(message.top) : message.top;
+ if (message.right != null && message.hasOwnProperty("right"))
+ object.right = options.json && !isFinite(message.right) ? String(message.right) : message.right;
+ if (message.bottom != null && message.hasOwnProperty("bottom"))
+ object.bottom = options.json && !isFinite(message.bottom) ? String(message.bottom) : message.bottom;
+ return object;
+ };
+
+ /**
+ * Converts this NormalizedBoundingBox to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NormalizedBoundingBox.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NormalizedBoundingBox
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingBox
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NormalizedBoundingBox.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.NormalizedBoundingBox";
+ };
+
+ return NormalizedBoundingBox;
+ })();
+
+ v1.FaceDetectionAnnotation = (function() {
+
+ /**
+ * Properties of a FaceDetectionAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IFaceDetectionAnnotation
+ * @property {Array.|null} [tracks] FaceDetectionAnnotation tracks
+ * @property {Uint8Array|null} [thumbnail] FaceDetectionAnnotation thumbnail
+ * @property {string|null} [version] FaceDetectionAnnotation version
+ */
+
+ /**
+ * Constructs a new FaceDetectionAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a FaceDetectionAnnotation.
+ * @implements IFaceDetectionAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation=} [properties] Properties to set
+ */
+ function FaceDetectionAnnotation(properties) {
+ this.tracks = [];
+ 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]];
+ }
+
+ /**
+ * FaceDetectionAnnotation tracks.
+ * @member {Array.} tracks
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @instance
+ */
+ FaceDetectionAnnotation.prototype.tracks = $util.emptyArray;
+
+ /**
+ * FaceDetectionAnnotation thumbnail.
+ * @member {Uint8Array} thumbnail
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @instance
+ */
+ FaceDetectionAnnotation.prototype.thumbnail = $util.newBuffer([]);
+
+ /**
+ * FaceDetectionAnnotation version.
+ * @member {string} version
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @instance
+ */
+ FaceDetectionAnnotation.prototype.version = "";
+
+ /**
+ * Creates a new FaceDetectionAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation instance
+ */
+ FaceDetectionAnnotation.create = function create(properties) {
+ return new FaceDetectionAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceDetectionAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tracks != null && message.tracks.length)
+ for (var i = 0; i < message.tracks.length; ++i)
+ $root.google.cloud.videointelligence.v1.Track.encode(message.tracks[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail"))
+ writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thumbnail);
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FaceDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceDetectionAnnotation} message FaceDetectionAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceDetectionAnnotation.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.videointelligence.v1.FaceDetectionAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ if (!(message.tracks && message.tracks.length))
+ message.tracks = [];
+ message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.thumbnail = reader.bytes();
+ break;
+ }
+ case 5: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FaceDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FaceDetectionAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FaceDetectionAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tracks != null && message.hasOwnProperty("tracks")) {
+ if (!Array.isArray(message.tracks))
+ return "tracks: array expected";
+ for (var i = 0; i < message.tracks.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.Track.verify(message.tracks[i]);
+ if (error)
+ return "tracks." + error;
+ }
+ }
+ if (message.thumbnail != null && message.hasOwnProperty("thumbnail"))
+ if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail)))
+ return "thumbnail: buffer expected";
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FaceDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.FaceDetectionAnnotation} FaceDetectionAnnotation
+ */
+ FaceDetectionAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation();
+ if (object.tracks) {
+ if (!Array.isArray(object.tracks))
+ throw TypeError(".google.cloud.videointelligence.v1.FaceDetectionAnnotation.tracks: array expected");
+ message.tracks = [];
+ for (var i = 0; i < object.tracks.length; ++i) {
+ if (typeof object.tracks[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceDetectionAnnotation.tracks: object expected");
+ message.tracks[i] = $root.google.cloud.videointelligence.v1.Track.fromObject(object.tracks[i]);
+ }
+ }
+ if (object.thumbnail != null)
+ if (typeof object.thumbnail === "string")
+ $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0);
+ else if (object.thumbnail.length >= 0)
+ message.thumbnail = object.thumbnail;
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FaceDetectionAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.FaceDetectionAnnotation} message FaceDetectionAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FaceDetectionAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.tracks = [];
+ if (options.defaults) {
+ if (options.bytes === String)
+ object.thumbnail = "";
+ else {
+ object.thumbnail = [];
+ if (options.bytes !== Array)
+ object.thumbnail = $util.newBuffer(object.thumbnail);
+ }
+ object.version = "";
+ }
+ if (message.tracks && message.tracks.length) {
+ object.tracks = [];
+ for (var j = 0; j < message.tracks.length; ++j)
+ object.tracks[j] = $root.google.cloud.videointelligence.v1.Track.toObject(message.tracks[j], options);
+ }
+ if (message.thumbnail != null && message.hasOwnProperty("thumbnail"))
+ object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail;
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this FaceDetectionAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FaceDetectionAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FaceDetectionAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.FaceDetectionAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FaceDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceDetectionAnnotation";
+ };
+
+ return FaceDetectionAnnotation;
+ })();
+
+ v1.PersonDetectionAnnotation = (function() {
+
+ /**
+ * Properties of a PersonDetectionAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IPersonDetectionAnnotation
+ * @property {Array.|null} [tracks] PersonDetectionAnnotation tracks
+ * @property {string|null} [version] PersonDetectionAnnotation version
+ */
+
+ /**
+ * Constructs a new PersonDetectionAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a PersonDetectionAnnotation.
+ * @implements IPersonDetectionAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation=} [properties] Properties to set
+ */
+ function PersonDetectionAnnotation(properties) {
+ this.tracks = [];
+ 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]];
+ }
+
+ /**
+ * PersonDetectionAnnotation tracks.
+ * @member {Array.} tracks
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @instance
+ */
+ PersonDetectionAnnotation.prototype.tracks = $util.emptyArray;
+
+ /**
+ * PersonDetectionAnnotation version.
+ * @member {string} version
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @instance
+ */
+ PersonDetectionAnnotation.prototype.version = "";
+
+ /**
+ * Creates a new PersonDetectionAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation instance
+ */
+ PersonDetectionAnnotation.create = function create(properties) {
+ return new PersonDetectionAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersonDetectionAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.tracks != null && message.tracks.length)
+ for (var i = 0; i < message.tracks.length; ++i)
+ $root.google.cloud.videointelligence.v1.Track.encode(message.tracks[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PersonDetectionAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IPersonDetectionAnnotation} message PersonDetectionAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersonDetectionAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersonDetectionAnnotation.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.videointelligence.v1.PersonDetectionAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.tracks && message.tracks.length))
+ message.tracks = [];
+ message.tracks.push($root.google.cloud.videointelligence.v1.Track.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PersonDetectionAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersonDetectionAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PersonDetectionAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PersonDetectionAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.tracks != null && message.hasOwnProperty("tracks")) {
+ if (!Array.isArray(message.tracks))
+ return "tracks: array expected";
+ for (var i = 0; i < message.tracks.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.Track.verify(message.tracks[i]);
+ if (error)
+ return "tracks." + error;
+ }
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PersonDetectionAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.PersonDetectionAnnotation} PersonDetectionAnnotation
+ */
+ PersonDetectionAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation();
+ if (object.tracks) {
+ if (!Array.isArray(object.tracks))
+ throw TypeError(".google.cloud.videointelligence.v1.PersonDetectionAnnotation.tracks: array expected");
+ message.tracks = [];
+ for (var i = 0; i < object.tracks.length; ++i) {
+ if (typeof object.tracks[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.PersonDetectionAnnotation.tracks: object expected");
+ message.tracks[i] = $root.google.cloud.videointelligence.v1.Track.fromObject(object.tracks[i]);
+ }
+ }
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PersonDetectionAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.PersonDetectionAnnotation} message PersonDetectionAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PersonDetectionAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.tracks = [];
+ if (options.defaults)
+ object.version = "";
+ if (message.tracks && message.tracks.length) {
+ object.tracks = [];
+ for (var j = 0; j < message.tracks.length; ++j)
+ object.tracks[j] = $root.google.cloud.videointelligence.v1.Track.toObject(message.tracks[j], options);
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this PersonDetectionAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PersonDetectionAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PersonDetectionAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.PersonDetectionAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PersonDetectionAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.PersonDetectionAnnotation";
+ };
+
+ return PersonDetectionAnnotation;
+ })();
+
+ v1.FaceSegment = (function() {
+
+ /**
+ * Properties of a FaceSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IFaceSegment
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] FaceSegment segment
+ */
+
+ /**
+ * Constructs a new FaceSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a FaceSegment.
+ * @implements IFaceSegment
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IFaceSegment=} [properties] Properties to set
+ */
+ function FaceSegment(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]];
+ }
+
+ /**
+ * FaceSegment segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @instance
+ */
+ FaceSegment.prototype.segment = null;
+
+ /**
+ * Creates a new FaceSegment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceSegment=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment instance
+ */
+ FaceSegment.create = function create(properties) {
+ return new FaceSegment(properties);
+ };
+
+ /**
+ * Encodes the specified FaceSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceSegment} message FaceSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceSegment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FaceSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceSegment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceSegment} message FaceSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceSegment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceSegment.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.videointelligence.v1.FaceSegment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FaceSegment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceSegment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FaceSegment message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FaceSegment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FaceSegment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.FaceSegment} FaceSegment
+ */
+ FaceSegment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.FaceSegment)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.FaceSegment();
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceSegment.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FaceSegment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.FaceSegment} message FaceSegment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FaceSegment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.segment = null;
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ return object;
+ };
+
+ /**
+ * Converts this FaceSegment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FaceSegment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FaceSegment
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.FaceSegment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FaceSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceSegment";
+ };
+
+ return FaceSegment;
+ })();
+
+ v1.FaceFrame = (function() {
+
+ /**
+ * Properties of a FaceFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IFaceFrame
+ * @property {Array.|null} [normalizedBoundingBoxes] FaceFrame normalizedBoundingBoxes
+ * @property {google.protobuf.IDuration|null} [timeOffset] FaceFrame timeOffset
+ */
+
+ /**
+ * Constructs a new FaceFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a FaceFrame.
+ * @implements IFaceFrame
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IFaceFrame=} [properties] Properties to set
+ */
+ function FaceFrame(properties) {
+ this.normalizedBoundingBoxes = [];
+ 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]];
+ }
+
+ /**
+ * FaceFrame normalizedBoundingBoxes.
+ * @member {Array.} normalizedBoundingBoxes
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @instance
+ */
+ FaceFrame.prototype.normalizedBoundingBoxes = $util.emptyArray;
+
+ /**
+ * FaceFrame timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @instance
+ */
+ FaceFrame.prototype.timeOffset = null;
+
+ /**
+ * Creates a new FaceFrame instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceFrame=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame instance
+ */
+ FaceFrame.create = function create(properties) {
+ return new FaceFrame(properties);
+ };
+
+ /**
+ * Encodes the specified FaceFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceFrame} message FaceFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceFrame.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.normalizedBoundingBoxes != null && message.normalizedBoundingBoxes.length)
+ for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i)
+ $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBoxes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FaceFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceFrame.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceFrame} message FaceFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceFrame.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceFrame.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.videointelligence.v1.FaceFrame();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length))
+ message.normalizedBoundingBoxes = [];
+ message.normalizedBoundingBoxes.push($root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FaceFrame message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceFrame.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FaceFrame message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FaceFrame.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.normalizedBoundingBoxes != null && message.hasOwnProperty("normalizedBoundingBoxes")) {
+ if (!Array.isArray(message.normalizedBoundingBoxes))
+ return "normalizedBoundingBoxes: array expected";
+ for (var i = 0; i < message.normalizedBoundingBoxes.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBoxes[i]);
+ if (error)
+ return "normalizedBoundingBoxes." + error;
+ }
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FaceFrame message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.FaceFrame} FaceFrame
+ */
+ FaceFrame.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.FaceFrame)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.FaceFrame();
+ if (object.normalizedBoundingBoxes) {
+ if (!Array.isArray(object.normalizedBoundingBoxes))
+ throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.normalizedBoundingBoxes: array expected");
+ message.normalizedBoundingBoxes = [];
+ for (var i = 0; i < object.normalizedBoundingBoxes.length; ++i) {
+ if (typeof object.normalizedBoundingBoxes[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.normalizedBoundingBoxes: object expected");
+ message.normalizedBoundingBoxes[i] = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBoxes[i]);
+ }
+ }
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceFrame.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FaceFrame message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.FaceFrame} message FaceFrame
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FaceFrame.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.normalizedBoundingBoxes = [];
+ if (options.defaults)
+ object.timeOffset = null;
+ if (message.normalizedBoundingBoxes && message.normalizedBoundingBoxes.length) {
+ object.normalizedBoundingBoxes = [];
+ for (var j = 0; j < message.normalizedBoundingBoxes.length; ++j)
+ object.normalizedBoundingBoxes[j] = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBoxes[j], options);
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ return object;
+ };
+
+ /**
+ * Converts this FaceFrame to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FaceFrame.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FaceFrame
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.FaceFrame
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FaceFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceFrame";
+ };
+
+ return FaceFrame;
+ })();
+
+ v1.FaceAnnotation = (function() {
+
+ /**
+ * Properties of a FaceAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IFaceAnnotation
+ * @property {Uint8Array|null} [thumbnail] FaceAnnotation thumbnail
+ * @property {Array.|null} [segments] FaceAnnotation segments
+ * @property {Array.|null} [frames] FaceAnnotation frames
+ */
+
+ /**
+ * Constructs a new FaceAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a FaceAnnotation.
+ * @implements IFaceAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IFaceAnnotation=} [properties] Properties to set
+ */
+ function FaceAnnotation(properties) {
+ this.segments = [];
+ this.frames = [];
+ 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]];
+ }
+
+ /**
+ * FaceAnnotation thumbnail.
+ * @member {Uint8Array} thumbnail
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @instance
+ */
+ FaceAnnotation.prototype.thumbnail = $util.newBuffer([]);
+
+ /**
+ * FaceAnnotation segments.
+ * @member {Array.} segments
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @instance
+ */
+ FaceAnnotation.prototype.segments = $util.emptyArray;
+
+ /**
+ * FaceAnnotation frames.
+ * @member {Array.} frames
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @instance
+ */
+ FaceAnnotation.prototype.frames = $util.emptyArray;
+
+ /**
+ * Creates a new FaceAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation instance
+ */
+ FaceAnnotation.create = function create(properties) {
+ return new FaceAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified FaceAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail"))
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.thumbnail);
+ if (message.segments != null && message.segments.length)
+ for (var i = 0; i < message.segments.length; ++i)
+ $root.google.cloud.videointelligence.v1.FaceSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.frames != null && message.frames.length)
+ for (var i = 0; i < message.frames.length; ++i)
+ $root.google.cloud.videointelligence.v1.FaceFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FaceAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.FaceAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.IFaceAnnotation} message FaceAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FaceAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceAnnotation.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.videointelligence.v1.FaceAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.thumbnail = reader.bytes();
+ break;
+ }
+ case 2: {
+ if (!(message.segments && message.segments.length))
+ message.segments = [];
+ message.segments.push($root.google.cloud.videointelligence.v1.FaceSegment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.frames && message.frames.length))
+ message.frames = [];
+ message.frames.push($root.google.cloud.videointelligence.v1.FaceFrame.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FaceAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FaceAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FaceAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FaceAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.thumbnail != null && message.hasOwnProperty("thumbnail"))
+ if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail)))
+ return "thumbnail: buffer expected";
+ if (message.segments != null && message.hasOwnProperty("segments")) {
+ if (!Array.isArray(message.segments))
+ return "segments: array expected";
+ for (var i = 0; i < message.segments.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.FaceSegment.verify(message.segments[i]);
+ if (error)
+ return "segments." + error;
+ }
+ }
+ if (message.frames != null && message.hasOwnProperty("frames")) {
+ if (!Array.isArray(message.frames))
+ return "frames: array expected";
+ for (var i = 0; i < message.frames.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.FaceFrame.verify(message.frames[i]);
+ if (error)
+ return "frames." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FaceAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.FaceAnnotation} FaceAnnotation
+ */
+ FaceAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.FaceAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.FaceAnnotation();
+ if (object.thumbnail != null)
+ if (typeof object.thumbnail === "string")
+ $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0);
+ else if (object.thumbnail.length >= 0)
+ message.thumbnail = object.thumbnail;
+ if (object.segments) {
+ if (!Array.isArray(object.segments))
+ throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.segments: array expected");
+ message.segments = [];
+ for (var i = 0; i < object.segments.length; ++i) {
+ if (typeof object.segments[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.segments: object expected");
+ message.segments[i] = $root.google.cloud.videointelligence.v1.FaceSegment.fromObject(object.segments[i]);
+ }
+ }
+ if (object.frames) {
+ if (!Array.isArray(object.frames))
+ throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.frames: array expected");
+ message.frames = [];
+ for (var i = 0; i < object.frames.length; ++i) {
+ if (typeof object.frames[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.FaceAnnotation.frames: object expected");
+ message.frames[i] = $root.google.cloud.videointelligence.v1.FaceFrame.fromObject(object.frames[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FaceAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.FaceAnnotation} message FaceAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FaceAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.segments = [];
+ object.frames = [];
+ }
+ if (options.defaults)
+ if (options.bytes === String)
+ object.thumbnail = "";
+ else {
+ object.thumbnail = [];
+ if (options.bytes !== Array)
+ object.thumbnail = $util.newBuffer(object.thumbnail);
+ }
+ if (message.thumbnail != null && message.hasOwnProperty("thumbnail"))
+ object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail;
+ if (message.segments && message.segments.length) {
+ object.segments = [];
+ for (var j = 0; j < message.segments.length; ++j)
+ object.segments[j] = $root.google.cloud.videointelligence.v1.FaceSegment.toObject(message.segments[j], options);
+ }
+ if (message.frames && message.frames.length) {
+ object.frames = [];
+ for (var j = 0; j < message.frames.length; ++j)
+ object.frames[j] = $root.google.cloud.videointelligence.v1.FaceFrame.toObject(message.frames[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FaceAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FaceAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FaceAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.FaceAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FaceAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.FaceAnnotation";
+ };
+
+ return FaceAnnotation;
+ })();
+
+ v1.TimestampedObject = (function() {
+
+ /**
+ * Properties of a TimestampedObject.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITimestampedObject
+ * @property {google.cloud.videointelligence.v1.INormalizedBoundingBox|null} [normalizedBoundingBox] TimestampedObject normalizedBoundingBox
+ * @property {google.protobuf.IDuration|null} [timeOffset] TimestampedObject timeOffset
+ * @property {Array.|null} [attributes] TimestampedObject attributes
+ * @property {Array.|null} [landmarks] TimestampedObject landmarks
+ */
+
+ /**
+ * Constructs a new TimestampedObject.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a TimestampedObject.
+ * @implements ITimestampedObject
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITimestampedObject=} [properties] Properties to set
+ */
+ function TimestampedObject(properties) {
+ this.attributes = [];
+ this.landmarks = [];
+ 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]];
+ }
+
+ /**
+ * TimestampedObject normalizedBoundingBox.
+ * @member {google.cloud.videointelligence.v1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @instance
+ */
+ TimestampedObject.prototype.normalizedBoundingBox = null;
+
+ /**
+ * TimestampedObject timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @instance
+ */
+ TimestampedObject.prototype.timeOffset = null;
+
+ /**
+ * TimestampedObject attributes.
+ * @member {Array.} attributes
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @instance
+ */
+ TimestampedObject.prototype.attributes = $util.emptyArray;
+
+ /**
+ * TimestampedObject landmarks.
+ * @member {Array.} landmarks
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @instance
+ */
+ TimestampedObject.prototype.landmarks = $util.emptyArray;
+
+ /**
+ * Creates a new TimestampedObject instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITimestampedObject=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject instance
+ */
+ TimestampedObject.create = function create(properties) {
+ return new TimestampedObject(properties);
+ };
+
+ /**
+ * Encodes the specified TimestampedObject message. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITimestampedObject} message TimestampedObject message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimestampedObject.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox"))
+ $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.attributes != null && message.attributes.length)
+ for (var i = 0; i < message.attributes.length; ++i)
+ $root.google.cloud.videointelligence.v1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.landmarks != null && message.landmarks.length)
+ for (var i = 0; i < message.landmarks.length; ++i)
+ $root.google.cloud.videointelligence.v1.DetectedLandmark.encode(message.landmarks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimestampedObject message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TimestampedObject.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITimestampedObject} message TimestampedObject message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimestampedObject.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimestampedObject.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.videointelligence.v1.TimestampedObject();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.attributes && message.attributes.length))
+ message.attributes = [];
+ message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.landmarks && message.landmarks.length))
+ message.landmarks = [];
+ message.landmarks.push($root.google.cloud.videointelligence.v1.DetectedLandmark.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimestampedObject message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimestampedObject.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimestampedObject message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimestampedObject.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBox);
+ if (error)
+ return "normalizedBoundingBox." + error;
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ if (message.attributes != null && message.hasOwnProperty("attributes")) {
+ if (!Array.isArray(message.attributes))
+ return "attributes: array expected";
+ for (var i = 0; i < message.attributes.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.DetectedAttribute.verify(message.attributes[i]);
+ if (error)
+ return "attributes." + error;
+ }
+ }
+ if (message.landmarks != null && message.hasOwnProperty("landmarks")) {
+ if (!Array.isArray(message.landmarks))
+ return "landmarks: array expected";
+ for (var i = 0; i < message.landmarks.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.DetectedLandmark.verify(message.landmarks[i]);
+ if (error)
+ return "landmarks." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TimestampedObject message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.TimestampedObject} TimestampedObject
+ */
+ TimestampedObject.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.TimestampedObject)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.TimestampedObject();
+ if (object.normalizedBoundingBox != null) {
+ if (typeof object.normalizedBoundingBox !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.normalizedBoundingBox: object expected");
+ message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox);
+ }
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ if (object.attributes) {
+ if (!Array.isArray(object.attributes))
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.attributes: array expected");
+ message.attributes = [];
+ for (var i = 0; i < object.attributes.length; ++i) {
+ if (typeof object.attributes[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.attributes: object expected");
+ message.attributes[i] = $root.google.cloud.videointelligence.v1.DetectedAttribute.fromObject(object.attributes[i]);
+ }
+ }
+ if (object.landmarks) {
+ if (!Array.isArray(object.landmarks))
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.landmarks: array expected");
+ message.landmarks = [];
+ for (var i = 0; i < object.landmarks.length; ++i) {
+ if (typeof object.landmarks[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TimestampedObject.landmarks: object expected");
+ message.landmarks[i] = $root.google.cloud.videointelligence.v1.DetectedLandmark.fromObject(object.landmarks[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimestampedObject message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {google.cloud.videointelligence.v1.TimestampedObject} message TimestampedObject
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimestampedObject.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.attributes = [];
+ object.landmarks = [];
+ }
+ if (options.defaults) {
+ object.normalizedBoundingBox = null;
+ object.timeOffset = null;
+ }
+ if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox"))
+ object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options);
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ if (message.attributes && message.attributes.length) {
+ object.attributes = [];
+ for (var j = 0; j < message.attributes.length; ++j)
+ object.attributes[j] = $root.google.cloud.videointelligence.v1.DetectedAttribute.toObject(message.attributes[j], options);
+ }
+ if (message.landmarks && message.landmarks.length) {
+ object.landmarks = [];
+ for (var j = 0; j < message.landmarks.length; ++j)
+ object.landmarks[j] = $root.google.cloud.videointelligence.v1.DetectedLandmark.toObject(message.landmarks[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TimestampedObject to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimestampedObject.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimestampedObject
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.TimestampedObject
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimestampedObject.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.TimestampedObject";
+ };
+
+ return TimestampedObject;
+ })();
+
+ v1.Track = (function() {
+
+ /**
+ * Properties of a Track.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITrack
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] Track segment
+ * @property {Array.|null} [timestampedObjects] Track timestampedObjects
+ * @property {Array.|null} [attributes] Track attributes
+ * @property {number|null} [confidence] Track confidence
+ */
+
+ /**
+ * Constructs a new Track.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a Track.
+ * @implements ITrack
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITrack=} [properties] Properties to set
+ */
+ function Track(properties) {
+ this.timestampedObjects = [];
+ this.attributes = [];
+ 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]];
+ }
+
+ /**
+ * Track segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @instance
+ */
+ Track.prototype.segment = null;
+
+ /**
+ * Track timestampedObjects.
+ * @member {Array.} timestampedObjects
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @instance
+ */
+ Track.prototype.timestampedObjects = $util.emptyArray;
+
+ /**
+ * Track attributes.
+ * @member {Array.} attributes
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @instance
+ */
+ Track.prototype.attributes = $util.emptyArray;
+
+ /**
+ * Track confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @instance
+ */
+ Track.prototype.confidence = 0;
+
+ /**
+ * Creates a new Track instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITrack=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.Track} Track instance
+ */
+ Track.create = function create(properties) {
+ return new Track(properties);
+ };
+
+ /**
+ * Encodes the specified Track message. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITrack} message Track message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Track.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timestampedObjects != null && message.timestampedObjects.length)
+ for (var i = 0; i < message.timestampedObjects.length; ++i)
+ $root.google.cloud.videointelligence.v1.TimestampedObject.encode(message.timestampedObjects[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.attributes != null && message.attributes.length)
+ for (var i = 0; i < message.attributes.length; ++i)
+ $root.google.cloud.videointelligence.v1.DetectedAttribute.encode(message.attributes[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Track message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.Track.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITrack} message Track message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Track.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Track message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.Track} Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Track.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.videointelligence.v1.Track();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.timestampedObjects && message.timestampedObjects.length))
+ message.timestampedObjects = [];
+ message.timestampedObjects.push($root.google.cloud.videointelligence.v1.TimestampedObject.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.attributes && message.attributes.length))
+ message.attributes = [];
+ message.attributes.push($root.google.cloud.videointelligence.v1.DetectedAttribute.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.confidence = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Track message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.Track} Track
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Track.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Track message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Track.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ if (message.timestampedObjects != null && message.hasOwnProperty("timestampedObjects")) {
+ if (!Array.isArray(message.timestampedObjects))
+ return "timestampedObjects: array expected";
+ for (var i = 0; i < message.timestampedObjects.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.TimestampedObject.verify(message.timestampedObjects[i]);
+ if (error)
+ return "timestampedObjects." + error;
+ }
+ }
+ if (message.attributes != null && message.hasOwnProperty("attributes")) {
+ if (!Array.isArray(message.attributes))
+ return "attributes: array expected";
+ for (var i = 0; i < message.attributes.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.DetectedAttribute.verify(message.attributes[i]);
+ if (error)
+ return "attributes." + error;
+ }
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a Track message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.Track} Track
+ */
+ Track.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.Track)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.Track();
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.Track.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ if (object.timestampedObjects) {
+ if (!Array.isArray(object.timestampedObjects))
+ throw TypeError(".google.cloud.videointelligence.v1.Track.timestampedObjects: array expected");
+ message.timestampedObjects = [];
+ for (var i = 0; i < object.timestampedObjects.length; ++i) {
+ if (typeof object.timestampedObjects[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.Track.timestampedObjects: object expected");
+ message.timestampedObjects[i] = $root.google.cloud.videointelligence.v1.TimestampedObject.fromObject(object.timestampedObjects[i]);
+ }
+ }
+ if (object.attributes) {
+ if (!Array.isArray(object.attributes))
+ throw TypeError(".google.cloud.videointelligence.v1.Track.attributes: array expected");
+ message.attributes = [];
+ for (var i = 0; i < object.attributes.length; ++i) {
+ if (typeof object.attributes[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.Track.attributes: object expected");
+ message.attributes[i] = $root.google.cloud.videointelligence.v1.DetectedAttribute.fromObject(object.attributes[i]);
+ }
+ }
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Track message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {google.cloud.videointelligence.v1.Track} message Track
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Track.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.timestampedObjects = [];
+ object.attributes = [];
+ }
+ if (options.defaults) {
+ object.segment = null;
+ object.confidence = 0;
+ }
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ if (message.timestampedObjects && message.timestampedObjects.length) {
+ object.timestampedObjects = [];
+ for (var j = 0; j < message.timestampedObjects.length; ++j)
+ object.timestampedObjects[j] = $root.google.cloud.videointelligence.v1.TimestampedObject.toObject(message.timestampedObjects[j], options);
+ }
+ if (message.attributes && message.attributes.length) {
+ object.attributes = [];
+ for (var j = 0; j < message.attributes.length; ++j)
+ object.attributes[j] = $root.google.cloud.videointelligence.v1.DetectedAttribute.toObject(message.attributes[j], options);
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ return object;
+ };
+
+ /**
+ * Converts this Track to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Track.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Track
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.Track
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Track.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.Track";
+ };
+
+ return Track;
+ })();
+
+ v1.DetectedAttribute = (function() {
+
+ /**
+ * Properties of a DetectedAttribute.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IDetectedAttribute
+ * @property {string|null} [name] DetectedAttribute name
+ * @property {number|null} [confidence] DetectedAttribute confidence
+ * @property {string|null} [value] DetectedAttribute value
+ */
+
+ /**
+ * Constructs a new DetectedAttribute.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a DetectedAttribute.
+ * @implements IDetectedAttribute
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IDetectedAttribute=} [properties] Properties to set
+ */
+ function DetectedAttribute(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]];
+ }
+
+ /**
+ * DetectedAttribute name.
+ * @member {string} name
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @instance
+ */
+ DetectedAttribute.prototype.name = "";
+
+ /**
+ * DetectedAttribute confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @instance
+ */
+ DetectedAttribute.prototype.confidence = 0;
+
+ /**
+ * DetectedAttribute value.
+ * @member {string} value
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @instance
+ */
+ DetectedAttribute.prototype.value = "";
+
+ /**
+ * Creates a new DetectedAttribute instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedAttribute=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute instance
+ */
+ DetectedAttribute.create = function create(properties) {
+ return new DetectedAttribute(properties);
+ };
+
+ /**
+ * Encodes the specified DetectedAttribute message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedAttribute} message DetectedAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetectedAttribute.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.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.value);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DetectedAttribute message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedAttribute.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedAttribute} message DetectedAttribute message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetectedAttribute.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetectedAttribute.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.videointelligence.v1.DetectedAttribute();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.confidence = reader.float();
+ break;
+ }
+ case 3: {
+ message.value = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DetectedAttribute message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetectedAttribute.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DetectedAttribute message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DetectedAttribute.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.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ if (message.value != null && message.hasOwnProperty("value"))
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DetectedAttribute message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.DetectedAttribute} DetectedAttribute
+ */
+ DetectedAttribute.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.DetectedAttribute)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.DetectedAttribute();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ if (object.value != null)
+ message.value = String(object.value);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DetectedAttribute message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {google.cloud.videointelligence.v1.DetectedAttribute} message DetectedAttribute
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DetectedAttribute.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.confidence = 0;
+ object.value = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = message.value;
+ return object;
+ };
+
+ /**
+ * Converts this DetectedAttribute to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DetectedAttribute.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DetectedAttribute
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.DetectedAttribute
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DetectedAttribute.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.DetectedAttribute";
+ };
+
+ return DetectedAttribute;
+ })();
+
+ v1.DetectedLandmark = (function() {
+
+ /**
+ * Properties of a DetectedLandmark.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IDetectedLandmark
+ * @property {string|null} [name] DetectedLandmark name
+ * @property {google.cloud.videointelligence.v1.INormalizedVertex|null} [point] DetectedLandmark point
+ * @property {number|null} [confidence] DetectedLandmark confidence
+ */
+
+ /**
+ * Constructs a new DetectedLandmark.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a DetectedLandmark.
+ * @implements IDetectedLandmark
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IDetectedLandmark=} [properties] Properties to set
+ */
+ function DetectedLandmark(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]];
+ }
+
+ /**
+ * DetectedLandmark name.
+ * @member {string} name
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @instance
+ */
+ DetectedLandmark.prototype.name = "";
+
+ /**
+ * DetectedLandmark point.
+ * @member {google.cloud.videointelligence.v1.INormalizedVertex|null|undefined} point
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @instance
+ */
+ DetectedLandmark.prototype.point = null;
+
+ /**
+ * DetectedLandmark confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @instance
+ */
+ DetectedLandmark.prototype.confidence = 0;
+
+ /**
+ * Creates a new DetectedLandmark instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedLandmark=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark instance
+ */
+ DetectedLandmark.create = function create(properties) {
+ return new DetectedLandmark(properties);
+ };
+
+ /**
+ * Encodes the specified DetectedLandmark message. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedLandmark} message DetectedLandmark message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetectedLandmark.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.point != null && Object.hasOwnProperty.call(message, "point"))
+ $root.google.cloud.videointelligence.v1.NormalizedVertex.encode(message.point, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 3, wireType 5 =*/29).float(message.confidence);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DetectedLandmark message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.DetectedLandmark.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {google.cloud.videointelligence.v1.IDetectedLandmark} message DetectedLandmark message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DetectedLandmark.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetectedLandmark.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.videointelligence.v1.DetectedLandmark();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.confidence = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DetectedLandmark message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DetectedLandmark.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DetectedLandmark message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DetectedLandmark.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.point != null && message.hasOwnProperty("point")) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedVertex.verify(message.point);
+ if (error)
+ return "point." + error;
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a DetectedLandmark message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.DetectedLandmark} DetectedLandmark
+ */
+ DetectedLandmark.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.DetectedLandmark)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.DetectedLandmark();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.point != null) {
+ if (typeof object.point !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.DetectedLandmark.point: object expected");
+ message.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.fromObject(object.point);
+ }
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DetectedLandmark message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {google.cloud.videointelligence.v1.DetectedLandmark} message DetectedLandmark
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DetectedLandmark.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.point = null;
+ object.confidence = 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.point != null && message.hasOwnProperty("point"))
+ object.point = $root.google.cloud.videointelligence.v1.NormalizedVertex.toObject(message.point, options);
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ return object;
+ };
+
+ /**
+ * Converts this DetectedLandmark to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DetectedLandmark.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DetectedLandmark
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.DetectedLandmark
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DetectedLandmark.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.DetectedLandmark";
+ };
+
+ return DetectedLandmark;
+ })();
+
+ v1.VideoAnnotationResults = (function() {
+
+ /**
+ * Properties of a VideoAnnotationResults.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IVideoAnnotationResults
+ * @property {string|null} [inputUri] VideoAnnotationResults inputUri
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationResults segment
+ * @property {Array.|null} [segmentLabelAnnotations] VideoAnnotationResults segmentLabelAnnotations
+ * @property {Array.|null} [segmentPresenceLabelAnnotations] VideoAnnotationResults segmentPresenceLabelAnnotations
+ * @property {Array.|null} [shotLabelAnnotations] VideoAnnotationResults shotLabelAnnotations
+ * @property {Array.|null} [shotPresenceLabelAnnotations] VideoAnnotationResults shotPresenceLabelAnnotations
+ * @property {Array.|null} [frameLabelAnnotations] VideoAnnotationResults frameLabelAnnotations
+ * @property {Array.|null} [faceAnnotations] VideoAnnotationResults faceAnnotations
+ * @property {Array.|null} [faceDetectionAnnotations] VideoAnnotationResults faceDetectionAnnotations
+ * @property {Array.|null} [shotAnnotations] VideoAnnotationResults shotAnnotations
+ * @property {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null} [explicitAnnotation] VideoAnnotationResults explicitAnnotation
+ * @property {Array.|null} [speechTranscriptions] VideoAnnotationResults speechTranscriptions
+ * @property {Array.|null} [textAnnotations] VideoAnnotationResults textAnnotations
+ * @property {Array.|null} [objectAnnotations] VideoAnnotationResults objectAnnotations
+ * @property {Array.|null} [logoRecognitionAnnotations] VideoAnnotationResults logoRecognitionAnnotations
+ * @property {Array.|null} [personDetectionAnnotations] VideoAnnotationResults personDetectionAnnotations
+ * @property {google.rpc.IStatus|null} [error] VideoAnnotationResults error
+ */
+
+ /**
+ * Constructs a new VideoAnnotationResults.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a VideoAnnotationResults.
+ * @implements IVideoAnnotationResults
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set
+ */
+ function VideoAnnotationResults(properties) {
+ this.segmentLabelAnnotations = [];
+ this.segmentPresenceLabelAnnotations = [];
+ this.shotLabelAnnotations = [];
+ this.shotPresenceLabelAnnotations = [];
+ this.frameLabelAnnotations = [];
+ this.faceAnnotations = [];
+ this.faceDetectionAnnotations = [];
+ this.shotAnnotations = [];
+ this.speechTranscriptions = [];
+ this.textAnnotations = [];
+ this.objectAnnotations = [];
+ this.logoRecognitionAnnotations = [];
+ this.personDetectionAnnotations = [];
+ 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]];
+ }
+
+ /**
+ * VideoAnnotationResults inputUri.
+ * @member {string} inputUri
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.inputUri = "";
+
+ /**
+ * VideoAnnotationResults segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.segment = null;
+
+ /**
+ * VideoAnnotationResults segmentLabelAnnotations.
+ * @member {Array.} segmentLabelAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.segmentLabelAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults segmentPresenceLabelAnnotations.
+ * @member {Array.} segmentPresenceLabelAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.segmentPresenceLabelAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults shotLabelAnnotations.
+ * @member {Array.} shotLabelAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.shotLabelAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults shotPresenceLabelAnnotations.
+ * @member {Array.} shotPresenceLabelAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.shotPresenceLabelAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults frameLabelAnnotations.
+ * @member {Array.} frameLabelAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.frameLabelAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults faceAnnotations.
+ * @member {Array.} faceAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.faceAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults faceDetectionAnnotations.
+ * @member {Array.} faceDetectionAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.faceDetectionAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults shotAnnotations.
+ * @member {Array.} shotAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.shotAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults explicitAnnotation.
+ * @member {google.cloud.videointelligence.v1.IExplicitContentAnnotation|null|undefined} explicitAnnotation
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.explicitAnnotation = null;
+
+ /**
+ * VideoAnnotationResults speechTranscriptions.
+ * @member {Array.} speechTranscriptions
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.speechTranscriptions = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults textAnnotations.
+ * @member {Array.} textAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.textAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults objectAnnotations.
+ * @member {Array.} objectAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.objectAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults logoRecognitionAnnotations.
+ * @member {Array.} logoRecognitionAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.logoRecognitionAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults personDetectionAnnotations.
+ * @member {Array.} personDetectionAnnotations
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.personDetectionAnnotations = $util.emptyArray;
+
+ /**
+ * VideoAnnotationResults error.
+ * @member {google.rpc.IStatus|null|undefined} error
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ */
+ VideoAnnotationResults.prototype.error = null;
+
+ /**
+ * Creates a new VideoAnnotationResults instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults instance
+ */
+ VideoAnnotationResults.create = function create(properties) {
+ return new VideoAnnotationResults(properties);
+ };
+
+ /**
+ * Encodes the specified VideoAnnotationResults message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoAnnotationResults.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri);
+ if (message.segmentLabelAnnotations != null && message.segmentLabelAnnotations.length)
+ for (var i = 0; i < message.segmentLabelAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentLabelAnnotations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.shotLabelAnnotations != null && message.shotLabelAnnotations.length)
+ for (var i = 0; i < message.shotLabelAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotLabelAnnotations[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.frameLabelAnnotations != null && message.frameLabelAnnotations.length)
+ for (var i = 0; i < message.frameLabelAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.frameLabelAnnotations[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.faceAnnotations != null && message.faceAnnotations.length)
+ for (var i = 0; i < message.faceAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.FaceAnnotation.encode(message.faceAnnotations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.shotAnnotations != null && message.shotAnnotations.length)
+ for (var i = 0; i < message.shotAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.shotAnnotations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.explicitAnnotation != null && Object.hasOwnProperty.call(message, "explicitAnnotation"))
+ $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.encode(message.explicitAnnotation, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.error != null && Object.hasOwnProperty.call(message, "error"))
+ $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.speechTranscriptions != null && message.speechTranscriptions.length)
+ for (var i = 0; i < message.speechTranscriptions.length; ++i)
+ $root.google.cloud.videointelligence.v1.SpeechTranscription.encode(message.speechTranscriptions[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.textAnnotations != null && message.textAnnotations.length)
+ for (var i = 0; i < message.textAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.TextAnnotation.encode(message.textAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.faceDetectionAnnotations != null && message.faceDetectionAnnotations.length)
+ for (var i = 0; i < message.faceDetectionAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.encode(message.faceDetectionAnnotations[i], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.objectAnnotations != null && message.objectAnnotations.length)
+ for (var i = 0; i < message.objectAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.encode(message.objectAnnotations[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ if (message.logoRecognitionAnnotations != null && message.logoRecognitionAnnotations.length)
+ for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.encode(message.logoRecognitionAnnotations[i], writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
+ if (message.personDetectionAnnotations != null && message.personDetectionAnnotations.length)
+ for (var i = 0; i < message.personDetectionAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.encode(message.personDetectionAnnotations[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
+ if (message.segmentPresenceLabelAnnotations != null && message.segmentPresenceLabelAnnotations.length)
+ for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.segmentPresenceLabelAnnotations[i], writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.shotPresenceLabelAnnotations != null && message.shotPresenceLabelAnnotations.length)
+ for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i)
+ $root.google.cloud.videointelligence.v1.LabelAnnotation.encode(message.shotPresenceLabelAnnotations[i], writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoAnnotationResults message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationResults.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationResults} message VideoAnnotationResults message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoAnnotationResults.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoAnnotationResults.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.videointelligence.v1.VideoAnnotationResults();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.inputUri = reader.string();
+ break;
+ }
+ case 10: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.segmentLabelAnnotations && message.segmentLabelAnnotations.length))
+ message.segmentLabelAnnotations = [];
+ message.segmentLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 23: {
+ if (!(message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length))
+ message.segmentPresenceLabelAnnotations = [];
+ message.segmentPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.shotLabelAnnotations && message.shotLabelAnnotations.length))
+ message.shotLabelAnnotations = [];
+ message.shotLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 24: {
+ if (!(message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length))
+ message.shotPresenceLabelAnnotations = [];
+ message.shotPresenceLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.frameLabelAnnotations && message.frameLabelAnnotations.length))
+ message.frameLabelAnnotations = [];
+ message.frameLabelAnnotations.push($root.google.cloud.videointelligence.v1.LabelAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.faceAnnotations && message.faceAnnotations.length))
+ message.faceAnnotations = [];
+ message.faceAnnotations.push($root.google.cloud.videointelligence.v1.FaceAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 13: {
+ if (!(message.faceDetectionAnnotations && message.faceDetectionAnnotations.length))
+ message.faceDetectionAnnotations = [];
+ message.faceDetectionAnnotations.push($root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.shotAnnotations && message.shotAnnotations.length))
+ message.shotAnnotations = [];
+ message.shotAnnotations.push($root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ if (!(message.speechTranscriptions && message.speechTranscriptions.length))
+ message.speechTranscriptions = [];
+ message.speechTranscriptions.push($root.google.cloud.videointelligence.v1.SpeechTranscription.decode(reader, reader.uint32()));
+ break;
+ }
+ case 12: {
+ if (!(message.textAnnotations && message.textAnnotations.length))
+ message.textAnnotations = [];
+ message.textAnnotations.push($root.google.cloud.videointelligence.v1.TextAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 14: {
+ if (!(message.objectAnnotations && message.objectAnnotations.length))
+ message.objectAnnotations = [];
+ message.objectAnnotations.push($root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 19: {
+ if (!(message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length))
+ message.logoRecognitionAnnotations = [];
+ message.logoRecognitionAnnotations.push($root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 20: {
+ if (!(message.personDetectionAnnotations && message.personDetectionAnnotations.length))
+ message.personDetectionAnnotations = [];
+ message.personDetectionAnnotations.push($root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 9: {
+ message.error = $root.google.rpc.Status.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoAnnotationResults message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoAnnotationResults.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoAnnotationResults message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoAnnotationResults.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ if (!$util.isString(message.inputUri))
+ return "inputUri: string expected";
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ if (message.segmentLabelAnnotations != null && message.hasOwnProperty("segmentLabelAnnotations")) {
+ if (!Array.isArray(message.segmentLabelAnnotations))
+ return "segmentLabelAnnotations: array expected";
+ for (var i = 0; i < message.segmentLabelAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.segmentLabelAnnotations[i]);
+ if (error)
+ return "segmentLabelAnnotations." + error;
+ }
+ }
+ if (message.segmentPresenceLabelAnnotations != null && message.hasOwnProperty("segmentPresenceLabelAnnotations")) {
+ if (!Array.isArray(message.segmentPresenceLabelAnnotations))
+ return "segmentPresenceLabelAnnotations: array expected";
+ for (var i = 0; i < message.segmentPresenceLabelAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.segmentPresenceLabelAnnotations[i]);
+ if (error)
+ return "segmentPresenceLabelAnnotations." + error;
+ }
+ }
+ if (message.shotLabelAnnotations != null && message.hasOwnProperty("shotLabelAnnotations")) {
+ if (!Array.isArray(message.shotLabelAnnotations))
+ return "shotLabelAnnotations: array expected";
+ for (var i = 0; i < message.shotLabelAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.shotLabelAnnotations[i]);
+ if (error)
+ return "shotLabelAnnotations." + error;
+ }
+ }
+ if (message.shotPresenceLabelAnnotations != null && message.hasOwnProperty("shotPresenceLabelAnnotations")) {
+ if (!Array.isArray(message.shotPresenceLabelAnnotations))
+ return "shotPresenceLabelAnnotations: array expected";
+ for (var i = 0; i < message.shotPresenceLabelAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.shotPresenceLabelAnnotations[i]);
+ if (error)
+ return "shotPresenceLabelAnnotations." + error;
+ }
+ }
+ if (message.frameLabelAnnotations != null && message.hasOwnProperty("frameLabelAnnotations")) {
+ if (!Array.isArray(message.frameLabelAnnotations))
+ return "frameLabelAnnotations: array expected";
+ for (var i = 0; i < message.frameLabelAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LabelAnnotation.verify(message.frameLabelAnnotations[i]);
+ if (error)
+ return "frameLabelAnnotations." + error;
+ }
+ }
+ if (message.faceAnnotations != null && message.hasOwnProperty("faceAnnotations")) {
+ if (!Array.isArray(message.faceAnnotations))
+ return "faceAnnotations: array expected";
+ for (var i = 0; i < message.faceAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.FaceAnnotation.verify(message.faceAnnotations[i]);
+ if (error)
+ return "faceAnnotations." + error;
+ }
+ }
+ if (message.faceDetectionAnnotations != null && message.hasOwnProperty("faceDetectionAnnotations")) {
+ if (!Array.isArray(message.faceDetectionAnnotations))
+ return "faceDetectionAnnotations: array expected";
+ for (var i = 0; i < message.faceDetectionAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.verify(message.faceDetectionAnnotations[i]);
+ if (error)
+ return "faceDetectionAnnotations." + error;
+ }
+ }
+ if (message.shotAnnotations != null && message.hasOwnProperty("shotAnnotations")) {
+ if (!Array.isArray(message.shotAnnotations))
+ return "shotAnnotations: array expected";
+ for (var i = 0; i < message.shotAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.shotAnnotations[i]);
+ if (error)
+ return "shotAnnotations." + error;
+ }
+ }
+ if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation")) {
+ var error = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.verify(message.explicitAnnotation);
+ if (error)
+ return "explicitAnnotation." + error;
+ }
+ if (message.speechTranscriptions != null && message.hasOwnProperty("speechTranscriptions")) {
+ if (!Array.isArray(message.speechTranscriptions))
+ return "speechTranscriptions: array expected";
+ for (var i = 0; i < message.speechTranscriptions.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.SpeechTranscription.verify(message.speechTranscriptions[i]);
+ if (error)
+ return "speechTranscriptions." + error;
+ }
+ }
+ if (message.textAnnotations != null && message.hasOwnProperty("textAnnotations")) {
+ if (!Array.isArray(message.textAnnotations))
+ return "textAnnotations: array expected";
+ for (var i = 0; i < message.textAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.TextAnnotation.verify(message.textAnnotations[i]);
+ if (error)
+ return "textAnnotations." + error;
+ }
+ }
+ if (message.objectAnnotations != null && message.hasOwnProperty("objectAnnotations")) {
+ if (!Array.isArray(message.objectAnnotations))
+ return "objectAnnotations: array expected";
+ for (var i = 0; i < message.objectAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.verify(message.objectAnnotations[i]);
+ if (error)
+ return "objectAnnotations." + error;
+ }
+ }
+ if (message.logoRecognitionAnnotations != null && message.hasOwnProperty("logoRecognitionAnnotations")) {
+ if (!Array.isArray(message.logoRecognitionAnnotations))
+ return "logoRecognitionAnnotations: array expected";
+ for (var i = 0; i < message.logoRecognitionAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.verify(message.logoRecognitionAnnotations[i]);
+ if (error)
+ return "logoRecognitionAnnotations." + error;
+ }
+ }
+ if (message.personDetectionAnnotations != null && message.hasOwnProperty("personDetectionAnnotations")) {
+ if (!Array.isArray(message.personDetectionAnnotations))
+ return "personDetectionAnnotations: array expected";
+ for (var i = 0; i < message.personDetectionAnnotations.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.verify(message.personDetectionAnnotations[i]);
+ if (error)
+ return "personDetectionAnnotations." + error;
+ }
+ }
+ if (message.error != null && message.hasOwnProperty("error")) {
+ var error = $root.google.rpc.Status.verify(message.error);
+ if (error)
+ return "error." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoAnnotationResults message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationResults} VideoAnnotationResults
+ */
+ VideoAnnotationResults.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.VideoAnnotationResults)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.VideoAnnotationResults();
+ if (object.inputUri != null)
+ message.inputUri = String(object.inputUri);
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ if (object.segmentLabelAnnotations) {
+ if (!Array.isArray(object.segmentLabelAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentLabelAnnotations: array expected");
+ message.segmentLabelAnnotations = [];
+ for (var i = 0; i < object.segmentLabelAnnotations.length; ++i) {
+ if (typeof object.segmentLabelAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentLabelAnnotations: object expected");
+ message.segmentLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.segmentLabelAnnotations[i]);
+ }
+ }
+ if (object.segmentPresenceLabelAnnotations) {
+ if (!Array.isArray(object.segmentPresenceLabelAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentPresenceLabelAnnotations: array expected");
+ message.segmentPresenceLabelAnnotations = [];
+ for (var i = 0; i < object.segmentPresenceLabelAnnotations.length; ++i) {
+ if (typeof object.segmentPresenceLabelAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.segmentPresenceLabelAnnotations: object expected");
+ message.segmentPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.segmentPresenceLabelAnnotations[i]);
+ }
+ }
+ if (object.shotLabelAnnotations) {
+ if (!Array.isArray(object.shotLabelAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotLabelAnnotations: array expected");
+ message.shotLabelAnnotations = [];
+ for (var i = 0; i < object.shotLabelAnnotations.length; ++i) {
+ if (typeof object.shotLabelAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotLabelAnnotations: object expected");
+ message.shotLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.shotLabelAnnotations[i]);
+ }
+ }
+ if (object.shotPresenceLabelAnnotations) {
+ if (!Array.isArray(object.shotPresenceLabelAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotPresenceLabelAnnotations: array expected");
+ message.shotPresenceLabelAnnotations = [];
+ for (var i = 0; i < object.shotPresenceLabelAnnotations.length; ++i) {
+ if (typeof object.shotPresenceLabelAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotPresenceLabelAnnotations: object expected");
+ message.shotPresenceLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.shotPresenceLabelAnnotations[i]);
+ }
+ }
+ if (object.frameLabelAnnotations) {
+ if (!Array.isArray(object.frameLabelAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.frameLabelAnnotations: array expected");
+ message.frameLabelAnnotations = [];
+ for (var i = 0; i < object.frameLabelAnnotations.length; ++i) {
+ if (typeof object.frameLabelAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.frameLabelAnnotations: object expected");
+ message.frameLabelAnnotations[i] = $root.google.cloud.videointelligence.v1.LabelAnnotation.fromObject(object.frameLabelAnnotations[i]);
+ }
+ }
+ if (object.faceAnnotations) {
+ if (!Array.isArray(object.faceAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceAnnotations: array expected");
+ message.faceAnnotations = [];
+ for (var i = 0; i < object.faceAnnotations.length; ++i) {
+ if (typeof object.faceAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceAnnotations: object expected");
+ message.faceAnnotations[i] = $root.google.cloud.videointelligence.v1.FaceAnnotation.fromObject(object.faceAnnotations[i]);
+ }
+ }
+ if (object.faceDetectionAnnotations) {
+ if (!Array.isArray(object.faceDetectionAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceDetectionAnnotations: array expected");
+ message.faceDetectionAnnotations = [];
+ for (var i = 0; i < object.faceDetectionAnnotations.length; ++i) {
+ if (typeof object.faceDetectionAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.faceDetectionAnnotations: object expected");
+ message.faceDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.fromObject(object.faceDetectionAnnotations[i]);
+ }
+ }
+ if (object.shotAnnotations) {
+ if (!Array.isArray(object.shotAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotAnnotations: array expected");
+ message.shotAnnotations = [];
+ for (var i = 0; i < object.shotAnnotations.length; ++i) {
+ if (typeof object.shotAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.shotAnnotations: object expected");
+ message.shotAnnotations[i] = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.shotAnnotations[i]);
+ }
+ }
+ if (object.explicitAnnotation != null) {
+ if (typeof object.explicitAnnotation !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.explicitAnnotation: object expected");
+ message.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.fromObject(object.explicitAnnotation);
+ }
+ if (object.speechTranscriptions) {
+ if (!Array.isArray(object.speechTranscriptions))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.speechTranscriptions: array expected");
+ message.speechTranscriptions = [];
+ for (var i = 0; i < object.speechTranscriptions.length; ++i) {
+ if (typeof object.speechTranscriptions[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.speechTranscriptions: object expected");
+ message.speechTranscriptions[i] = $root.google.cloud.videointelligence.v1.SpeechTranscription.fromObject(object.speechTranscriptions[i]);
+ }
+ }
+ if (object.textAnnotations) {
+ if (!Array.isArray(object.textAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.textAnnotations: array expected");
+ message.textAnnotations = [];
+ for (var i = 0; i < object.textAnnotations.length; ++i) {
+ if (typeof object.textAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.textAnnotations: object expected");
+ message.textAnnotations[i] = $root.google.cloud.videointelligence.v1.TextAnnotation.fromObject(object.textAnnotations[i]);
+ }
+ }
+ if (object.objectAnnotations) {
+ if (!Array.isArray(object.objectAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.objectAnnotations: array expected");
+ message.objectAnnotations = [];
+ for (var i = 0; i < object.objectAnnotations.length; ++i) {
+ if (typeof object.objectAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.objectAnnotations: object expected");
+ message.objectAnnotations[i] = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.fromObject(object.objectAnnotations[i]);
+ }
+ }
+ if (object.logoRecognitionAnnotations) {
+ if (!Array.isArray(object.logoRecognitionAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.logoRecognitionAnnotations: array expected");
+ message.logoRecognitionAnnotations = [];
+ for (var i = 0; i < object.logoRecognitionAnnotations.length; ++i) {
+ if (typeof object.logoRecognitionAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.logoRecognitionAnnotations: object expected");
+ message.logoRecognitionAnnotations[i] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.fromObject(object.logoRecognitionAnnotations[i]);
+ }
+ }
+ if (object.personDetectionAnnotations) {
+ if (!Array.isArray(object.personDetectionAnnotations))
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.personDetectionAnnotations: array expected");
+ message.personDetectionAnnotations = [];
+ for (var i = 0; i < object.personDetectionAnnotations.length; ++i) {
+ if (typeof object.personDetectionAnnotations[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.personDetectionAnnotations: object expected");
+ message.personDetectionAnnotations[i] = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.fromObject(object.personDetectionAnnotations[i]);
+ }
+ }
+ if (object.error != null) {
+ if (typeof object.error !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationResults.error: object expected");
+ message.error = $root.google.rpc.Status.fromObject(object.error);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoAnnotationResults message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {google.cloud.videointelligence.v1.VideoAnnotationResults} message VideoAnnotationResults
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoAnnotationResults.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.segmentLabelAnnotations = [];
+ object.shotLabelAnnotations = [];
+ object.frameLabelAnnotations = [];
+ object.faceAnnotations = [];
+ object.shotAnnotations = [];
+ object.speechTranscriptions = [];
+ object.textAnnotations = [];
+ object.faceDetectionAnnotations = [];
+ object.objectAnnotations = [];
+ object.logoRecognitionAnnotations = [];
+ object.personDetectionAnnotations = [];
+ object.segmentPresenceLabelAnnotations = [];
+ object.shotPresenceLabelAnnotations = [];
+ }
+ if (options.defaults) {
+ object.inputUri = "";
+ object.explicitAnnotation = null;
+ object.error = null;
+ object.segment = null;
+ }
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ object.inputUri = message.inputUri;
+ if (message.segmentLabelAnnotations && message.segmentLabelAnnotations.length) {
+ object.segmentLabelAnnotations = [];
+ for (var j = 0; j < message.segmentLabelAnnotations.length; ++j)
+ object.segmentLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.segmentLabelAnnotations[j], options);
+ }
+ if (message.shotLabelAnnotations && message.shotLabelAnnotations.length) {
+ object.shotLabelAnnotations = [];
+ for (var j = 0; j < message.shotLabelAnnotations.length; ++j)
+ object.shotLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.shotLabelAnnotations[j], options);
+ }
+ if (message.frameLabelAnnotations && message.frameLabelAnnotations.length) {
+ object.frameLabelAnnotations = [];
+ for (var j = 0; j < message.frameLabelAnnotations.length; ++j)
+ object.frameLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.frameLabelAnnotations[j], options);
+ }
+ if (message.faceAnnotations && message.faceAnnotations.length) {
+ object.faceAnnotations = [];
+ for (var j = 0; j < message.faceAnnotations.length; ++j)
+ object.faceAnnotations[j] = $root.google.cloud.videointelligence.v1.FaceAnnotation.toObject(message.faceAnnotations[j], options);
+ }
+ if (message.shotAnnotations && message.shotAnnotations.length) {
+ object.shotAnnotations = [];
+ for (var j = 0; j < message.shotAnnotations.length; ++j)
+ object.shotAnnotations[j] = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.shotAnnotations[j], options);
+ }
+ if (message.explicitAnnotation != null && message.hasOwnProperty("explicitAnnotation"))
+ object.explicitAnnotation = $root.google.cloud.videointelligence.v1.ExplicitContentAnnotation.toObject(message.explicitAnnotation, options);
+ if (message.error != null && message.hasOwnProperty("error"))
+ object.error = $root.google.rpc.Status.toObject(message.error, options);
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ if (message.speechTranscriptions && message.speechTranscriptions.length) {
+ object.speechTranscriptions = [];
+ for (var j = 0; j < message.speechTranscriptions.length; ++j)
+ object.speechTranscriptions[j] = $root.google.cloud.videointelligence.v1.SpeechTranscription.toObject(message.speechTranscriptions[j], options);
+ }
+ if (message.textAnnotations && message.textAnnotations.length) {
+ object.textAnnotations = [];
+ for (var j = 0; j < message.textAnnotations.length; ++j)
+ object.textAnnotations[j] = $root.google.cloud.videointelligence.v1.TextAnnotation.toObject(message.textAnnotations[j], options);
+ }
+ if (message.faceDetectionAnnotations && message.faceDetectionAnnotations.length) {
+ object.faceDetectionAnnotations = [];
+ for (var j = 0; j < message.faceDetectionAnnotations.length; ++j)
+ object.faceDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1.FaceDetectionAnnotation.toObject(message.faceDetectionAnnotations[j], options);
+ }
+ if (message.objectAnnotations && message.objectAnnotations.length) {
+ object.objectAnnotations = [];
+ for (var j = 0; j < message.objectAnnotations.length; ++j)
+ object.objectAnnotations[j] = $root.google.cloud.videointelligence.v1.ObjectTrackingAnnotation.toObject(message.objectAnnotations[j], options);
+ }
+ if (message.logoRecognitionAnnotations && message.logoRecognitionAnnotations.length) {
+ object.logoRecognitionAnnotations = [];
+ for (var j = 0; j < message.logoRecognitionAnnotations.length; ++j)
+ object.logoRecognitionAnnotations[j] = $root.google.cloud.videointelligence.v1.LogoRecognitionAnnotation.toObject(message.logoRecognitionAnnotations[j], options);
+ }
+ if (message.personDetectionAnnotations && message.personDetectionAnnotations.length) {
+ object.personDetectionAnnotations = [];
+ for (var j = 0; j < message.personDetectionAnnotations.length; ++j)
+ object.personDetectionAnnotations[j] = $root.google.cloud.videointelligence.v1.PersonDetectionAnnotation.toObject(message.personDetectionAnnotations[j], options);
+ }
+ if (message.segmentPresenceLabelAnnotations && message.segmentPresenceLabelAnnotations.length) {
+ object.segmentPresenceLabelAnnotations = [];
+ for (var j = 0; j < message.segmentPresenceLabelAnnotations.length; ++j)
+ object.segmentPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.segmentPresenceLabelAnnotations[j], options);
+ }
+ if (message.shotPresenceLabelAnnotations && message.shotPresenceLabelAnnotations.length) {
+ object.shotPresenceLabelAnnotations = [];
+ for (var j = 0; j < message.shotPresenceLabelAnnotations.length; ++j)
+ object.shotPresenceLabelAnnotations[j] = $root.google.cloud.videointelligence.v1.LabelAnnotation.toObject(message.shotPresenceLabelAnnotations[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this VideoAnnotationResults to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoAnnotationResults.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoAnnotationResults
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationResults
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoAnnotationResults.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoAnnotationResults";
+ };
+
+ return VideoAnnotationResults;
+ })();
+
+ v1.AnnotateVideoResponse = (function() {
+
+ /**
+ * Properties of an AnnotateVideoResponse.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IAnnotateVideoResponse
+ * @property {Array.|null} [annotationResults] AnnotateVideoResponse annotationResults
+ */
+
+ /**
+ * Constructs a new AnnotateVideoResponse.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an AnnotateVideoResponse.
+ * @implements IAnnotateVideoResponse
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse=} [properties] Properties to set
+ */
+ function AnnotateVideoResponse(properties) {
+ this.annotationResults = [];
+ 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]];
+ }
+
+ /**
+ * AnnotateVideoResponse annotationResults.
+ * @member {Array.} annotationResults
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @instance
+ */
+ AnnotateVideoResponse.prototype.annotationResults = $util.emptyArray;
+
+ /**
+ * Creates a new AnnotateVideoResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse instance
+ */
+ AnnotateVideoResponse.create = function create(properties) {
+ return new AnnotateVideoResponse(properties);
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.annotationResults != null && message.annotationResults.length)
+ for (var i = 0; i < message.annotationResults.length; ++i)
+ $root.google.cloud.videointelligence.v1.VideoAnnotationResults.encode(message.annotationResults[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoResponse message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoResponse} message AnnotateVideoResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoResponse.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.videointelligence.v1.AnnotateVideoResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.annotationResults && message.annotationResults.length))
+ message.annotationResults = [];
+ message.annotationResults.push($root.google.cloud.videointelligence.v1.VideoAnnotationResults.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnnotateVideoResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnnotateVideoResponse message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnnotateVideoResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.annotationResults != null && message.hasOwnProperty("annotationResults")) {
+ if (!Array.isArray(message.annotationResults))
+ return "annotationResults: array expected";
+ for (var i = 0; i < message.annotationResults.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.verify(message.annotationResults[i]);
+ if (error)
+ return "annotationResults." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AnnotateVideoResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoResponse} AnnotateVideoResponse
+ */
+ AnnotateVideoResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoResponse)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoResponse();
+ if (object.annotationResults) {
+ if (!Array.isArray(object.annotationResults))
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoResponse.annotationResults: array expected");
+ message.annotationResults = [];
+ for (var i = 0; i < object.annotationResults.length; ++i) {
+ if (typeof object.annotationResults[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoResponse.annotationResults: object expected");
+ message.annotationResults[i] = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.fromObject(object.annotationResults[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnnotateVideoResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {google.cloud.videointelligence.v1.AnnotateVideoResponse} message AnnotateVideoResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnnotateVideoResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.annotationResults = [];
+ if (message.annotationResults && message.annotationResults.length) {
+ object.annotationResults = [];
+ for (var j = 0; j < message.annotationResults.length; ++j)
+ object.annotationResults[j] = $root.google.cloud.videointelligence.v1.VideoAnnotationResults.toObject(message.annotationResults[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AnnotateVideoResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnnotateVideoResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnnotateVideoResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnnotateVideoResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoResponse";
+ };
+
+ return AnnotateVideoResponse;
+ })();
+
+ v1.VideoAnnotationProgress = (function() {
+
+ /**
+ * Properties of a VideoAnnotationProgress.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IVideoAnnotationProgress
+ * @property {string|null} [inputUri] VideoAnnotationProgress inputUri
+ * @property {number|null} [progressPercent] VideoAnnotationProgress progressPercent
+ * @property {google.protobuf.ITimestamp|null} [startTime] VideoAnnotationProgress startTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] VideoAnnotationProgress updateTime
+ * @property {google.cloud.videointelligence.v1.Feature|null} [feature] VideoAnnotationProgress feature
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] VideoAnnotationProgress segment
+ */
+
+ /**
+ * Constructs a new VideoAnnotationProgress.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a VideoAnnotationProgress.
+ * @implements IVideoAnnotationProgress
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress=} [properties] Properties to set
+ */
+ function VideoAnnotationProgress(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]];
+ }
+
+ /**
+ * VideoAnnotationProgress inputUri.
+ * @member {string} inputUri
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.inputUri = "";
+
+ /**
+ * VideoAnnotationProgress progressPercent.
+ * @member {number} progressPercent
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.progressPercent = 0;
+
+ /**
+ * VideoAnnotationProgress startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.startTime = null;
+
+ /**
+ * VideoAnnotationProgress updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.updateTime = null;
+
+ /**
+ * VideoAnnotationProgress feature.
+ * @member {google.cloud.videointelligence.v1.Feature} feature
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.feature = 0;
+
+ /**
+ * VideoAnnotationProgress segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ */
+ VideoAnnotationProgress.prototype.segment = null;
+
+ /**
+ * Creates a new VideoAnnotationProgress instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress instance
+ */
+ VideoAnnotationProgress.create = function create(properties) {
+ return new VideoAnnotationProgress(properties);
+ };
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoAnnotationProgress.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.inputUri != null && Object.hasOwnProperty.call(message, "inputUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.inputUri);
+ if (message.progressPercent != null && Object.hasOwnProperty.call(message, "progressPercent"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.progressPercent);
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.feature != null && Object.hasOwnProperty.call(message, "feature"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.feature);
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VideoAnnotationProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.VideoAnnotationProgress.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IVideoAnnotationProgress} message VideoAnnotationProgress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VideoAnnotationProgress.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoAnnotationProgress.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.videointelligence.v1.VideoAnnotationProgress();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.inputUri = reader.string();
+ break;
+ }
+ case 2: {
+ message.progressPercent = reader.int32();
+ break;
+ }
+ case 3: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.feature = reader.int32();
+ break;
+ }
+ case 6: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VideoAnnotationProgress message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VideoAnnotationProgress.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VideoAnnotationProgress message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VideoAnnotationProgress.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ if (!$util.isString(message.inputUri))
+ return "inputUri: string expected";
+ if (message.progressPercent != null && message.hasOwnProperty("progressPercent"))
+ if (!$util.isInteger(message.progressPercent))
+ return "progressPercent: integer expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.feature != null && message.hasOwnProperty("feature"))
+ switch (message.feature) {
+ default:
+ return "feature: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 6:
+ case 7:
+ case 9:
+ case 12:
+ case 14:
+ break;
+ }
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VideoAnnotationProgress message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.VideoAnnotationProgress} VideoAnnotationProgress
+ */
+ VideoAnnotationProgress.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.VideoAnnotationProgress)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.VideoAnnotationProgress();
+ if (object.inputUri != null)
+ message.inputUri = String(object.inputUri);
+ if (object.progressPercent != null)
+ message.progressPercent = object.progressPercent | 0;
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ switch (object.feature) {
+ default:
+ if (typeof object.feature === "number") {
+ message.feature = object.feature;
+ break;
+ }
+ break;
+ case "FEATURE_UNSPECIFIED":
+ case 0:
+ message.feature = 0;
+ break;
+ case "LABEL_DETECTION":
+ case 1:
+ message.feature = 1;
+ break;
+ case "SHOT_CHANGE_DETECTION":
+ case 2:
+ message.feature = 2;
+ break;
+ case "EXPLICIT_CONTENT_DETECTION":
+ case 3:
+ message.feature = 3;
+ break;
+ case "FACE_DETECTION":
+ case 4:
+ message.feature = 4;
+ break;
+ case "SPEECH_TRANSCRIPTION":
+ case 6:
+ message.feature = 6;
+ break;
+ case "TEXT_DETECTION":
+ case 7:
+ message.feature = 7;
+ break;
+ case "OBJECT_TRACKING":
+ case 9:
+ message.feature = 9;
+ break;
+ case "LOGO_RECOGNITION":
+ case 12:
+ message.feature = 12;
+ break;
+ case "PERSON_DETECTION":
+ case 14:
+ message.feature = 14;
+ break;
+ }
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.VideoAnnotationProgress.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VideoAnnotationProgress message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.VideoAnnotationProgress} message VideoAnnotationProgress
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VideoAnnotationProgress.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.inputUri = "";
+ object.progressPercent = 0;
+ object.startTime = null;
+ object.updateTime = null;
+ object.feature = options.enums === String ? "FEATURE_UNSPECIFIED" : 0;
+ object.segment = null;
+ }
+ if (message.inputUri != null && message.hasOwnProperty("inputUri"))
+ object.inputUri = message.inputUri;
+ if (message.progressPercent != null && message.hasOwnProperty("progressPercent"))
+ object.progressPercent = message.progressPercent;
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.feature != null && message.hasOwnProperty("feature"))
+ object.feature = options.enums === String ? $root.google.cloud.videointelligence.v1.Feature[message.feature] === undefined ? message.feature : $root.google.cloud.videointelligence.v1.Feature[message.feature] : message.feature;
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ return object;
+ };
+
+ /**
+ * Converts this VideoAnnotationProgress to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VideoAnnotationProgress.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VideoAnnotationProgress
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.VideoAnnotationProgress
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VideoAnnotationProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.VideoAnnotationProgress";
+ };
+
+ return VideoAnnotationProgress;
+ })();
+
+ v1.AnnotateVideoProgress = (function() {
+
+ /**
+ * Properties of an AnnotateVideoProgress.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IAnnotateVideoProgress
+ * @property {Array.|null} [annotationProgress] AnnotateVideoProgress annotationProgress
+ */
+
+ /**
+ * Constructs a new AnnotateVideoProgress.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an AnnotateVideoProgress.
+ * @implements IAnnotateVideoProgress
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress=} [properties] Properties to set
+ */
+ function AnnotateVideoProgress(properties) {
+ this.annotationProgress = [];
+ 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]];
+ }
+
+ /**
+ * AnnotateVideoProgress annotationProgress.
+ * @member {Array.} annotationProgress
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @instance
+ */
+ AnnotateVideoProgress.prototype.annotationProgress = $util.emptyArray;
+
+ /**
+ * Creates a new AnnotateVideoProgress instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress instance
+ */
+ AnnotateVideoProgress.create = function create(properties) {
+ return new AnnotateVideoProgress(properties);
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoProgress.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.annotationProgress != null && message.annotationProgress.length)
+ for (var i = 0; i < message.annotationProgress.length; ++i)
+ $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.encode(message.annotationProgress[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnnotateVideoProgress message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.AnnotateVideoProgress.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.IAnnotateVideoProgress} message AnnotateVideoProgress message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnnotateVideoProgress.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoProgress.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.videointelligence.v1.AnnotateVideoProgress();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.annotationProgress && message.annotationProgress.length))
+ message.annotationProgress = [];
+ message.annotationProgress.push($root.google.cloud.videointelligence.v1.VideoAnnotationProgress.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnnotateVideoProgress message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnnotateVideoProgress.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnnotateVideoProgress message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnnotateVideoProgress.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.annotationProgress != null && message.hasOwnProperty("annotationProgress")) {
+ if (!Array.isArray(message.annotationProgress))
+ return "annotationProgress: array expected";
+ for (var i = 0; i < message.annotationProgress.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.verify(message.annotationProgress[i]);
+ if (error)
+ return "annotationProgress." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AnnotateVideoProgress message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.AnnotateVideoProgress} AnnotateVideoProgress
+ */
+ AnnotateVideoProgress.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.AnnotateVideoProgress)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.AnnotateVideoProgress();
+ if (object.annotationProgress) {
+ if (!Array.isArray(object.annotationProgress))
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoProgress.annotationProgress: array expected");
+ message.annotationProgress = [];
+ for (var i = 0; i < object.annotationProgress.length; ++i) {
+ if (typeof object.annotationProgress[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.AnnotateVideoProgress.annotationProgress: object expected");
+ message.annotationProgress[i] = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.fromObject(object.annotationProgress[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnnotateVideoProgress message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {google.cloud.videointelligence.v1.AnnotateVideoProgress} message AnnotateVideoProgress
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnnotateVideoProgress.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.annotationProgress = [];
+ if (message.annotationProgress && message.annotationProgress.length) {
+ object.annotationProgress = [];
+ for (var j = 0; j < message.annotationProgress.length; ++j)
+ object.annotationProgress[j] = $root.google.cloud.videointelligence.v1.VideoAnnotationProgress.toObject(message.annotationProgress[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AnnotateVideoProgress to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnnotateVideoProgress.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnnotateVideoProgress
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.AnnotateVideoProgress
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnnotateVideoProgress.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.AnnotateVideoProgress";
+ };
+
+ return AnnotateVideoProgress;
+ })();
+
+ v1.SpeechTranscriptionConfig = (function() {
+
+ /**
+ * Properties of a SpeechTranscriptionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ISpeechTranscriptionConfig
+ * @property {string|null} [languageCode] SpeechTranscriptionConfig languageCode
+ * @property {number|null} [maxAlternatives] SpeechTranscriptionConfig maxAlternatives
+ * @property {boolean|null} [filterProfanity] SpeechTranscriptionConfig filterProfanity
+ * @property {Array.|null} [speechContexts] SpeechTranscriptionConfig speechContexts
+ * @property {boolean|null} [enableAutomaticPunctuation] SpeechTranscriptionConfig enableAutomaticPunctuation
+ * @property {Array.|null} [audioTracks] SpeechTranscriptionConfig audioTracks
+ * @property {boolean|null} [enableSpeakerDiarization] SpeechTranscriptionConfig enableSpeakerDiarization
+ * @property {number|null} [diarizationSpeakerCount] SpeechTranscriptionConfig diarizationSpeakerCount
+ * @property {boolean|null} [enableWordConfidence] SpeechTranscriptionConfig enableWordConfidence
+ */
+
+ /**
+ * Constructs a new SpeechTranscriptionConfig.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a SpeechTranscriptionConfig.
+ * @implements ISpeechTranscriptionConfig
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig=} [properties] Properties to set
+ */
+ function SpeechTranscriptionConfig(properties) {
+ this.speechContexts = [];
+ this.audioTracks = [];
+ 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]];
+ }
+
+ /**
+ * SpeechTranscriptionConfig languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.languageCode = "";
+
+ /**
+ * SpeechTranscriptionConfig maxAlternatives.
+ * @member {number} maxAlternatives
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.maxAlternatives = 0;
+
+ /**
+ * SpeechTranscriptionConfig filterProfanity.
+ * @member {boolean} filterProfanity
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.filterProfanity = false;
+
+ /**
+ * SpeechTranscriptionConfig speechContexts.
+ * @member {Array.} speechContexts
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.speechContexts = $util.emptyArray;
+
+ /**
+ * SpeechTranscriptionConfig enableAutomaticPunctuation.
+ * @member {boolean} enableAutomaticPunctuation
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.enableAutomaticPunctuation = false;
+
+ /**
+ * SpeechTranscriptionConfig audioTracks.
+ * @member {Array.} audioTracks
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.audioTracks = $util.emptyArray;
+
+ /**
+ * SpeechTranscriptionConfig enableSpeakerDiarization.
+ * @member {boolean} enableSpeakerDiarization
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.enableSpeakerDiarization = false;
+
+ /**
+ * SpeechTranscriptionConfig diarizationSpeakerCount.
+ * @member {number} diarizationSpeakerCount
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.diarizationSpeakerCount = 0;
+
+ /**
+ * SpeechTranscriptionConfig enableWordConfidence.
+ * @member {boolean} enableWordConfidence
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ */
+ SpeechTranscriptionConfig.prototype.enableWordConfidence = false;
+
+ /**
+ * Creates a new SpeechTranscriptionConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig instance
+ */
+ SpeechTranscriptionConfig.create = function create(properties) {
+ return new SpeechTranscriptionConfig(properties);
+ };
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechTranscriptionConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.languageCode);
+ if (message.maxAlternatives != null && Object.hasOwnProperty.call(message, "maxAlternatives"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxAlternatives);
+ if (message.filterProfanity != null && Object.hasOwnProperty.call(message, "filterProfanity"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.filterProfanity);
+ if (message.speechContexts != null && message.speechContexts.length)
+ for (var i = 0; i < message.speechContexts.length; ++i)
+ $root.google.cloud.videointelligence.v1.SpeechContext.encode(message.speechContexts[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.enableAutomaticPunctuation != null && Object.hasOwnProperty.call(message, "enableAutomaticPunctuation"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.enableAutomaticPunctuation);
+ if (message.audioTracks != null && message.audioTracks.length) {
+ writer.uint32(/* id 6, wireType 2 =*/50).fork();
+ for (var i = 0; i < message.audioTracks.length; ++i)
+ writer.int32(message.audioTracks[i]);
+ writer.ldelim();
+ }
+ if (message.enableSpeakerDiarization != null && Object.hasOwnProperty.call(message, "enableSpeakerDiarization"))
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.enableSpeakerDiarization);
+ if (message.diarizationSpeakerCount != null && Object.hasOwnProperty.call(message, "diarizationSpeakerCount"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.diarizationSpeakerCount);
+ if (message.enableWordConfidence != null && Object.hasOwnProperty.call(message, "enableWordConfidence"))
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.enableWordConfidence);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpeechTranscriptionConfig message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscriptionConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscriptionConfig} message SpeechTranscriptionConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechTranscriptionConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechTranscriptionConfig.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.videointelligence.v1.SpeechTranscriptionConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 2: {
+ message.maxAlternatives = reader.int32();
+ break;
+ }
+ case 3: {
+ message.filterProfanity = reader.bool();
+ break;
+ }
+ case 4: {
+ if (!(message.speechContexts && message.speechContexts.length))
+ message.speechContexts = [];
+ message.speechContexts.push($root.google.cloud.videointelligence.v1.SpeechContext.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.enableAutomaticPunctuation = reader.bool();
+ break;
+ }
+ case 6: {
+ if (!(message.audioTracks && message.audioTracks.length))
+ message.audioTracks = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.audioTracks.push(reader.int32());
+ } else
+ message.audioTracks.push(reader.int32());
+ break;
+ }
+ case 7: {
+ message.enableSpeakerDiarization = reader.bool();
+ break;
+ }
+ case 8: {
+ message.diarizationSpeakerCount = reader.int32();
+ break;
+ }
+ case 9: {
+ message.enableWordConfidence = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpeechTranscriptionConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechTranscriptionConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpeechTranscriptionConfig message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpeechTranscriptionConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.maxAlternatives != null && message.hasOwnProperty("maxAlternatives"))
+ if (!$util.isInteger(message.maxAlternatives))
+ return "maxAlternatives: integer expected";
+ if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity"))
+ if (typeof message.filterProfanity !== "boolean")
+ return "filterProfanity: boolean expected";
+ if (message.speechContexts != null && message.hasOwnProperty("speechContexts")) {
+ if (!Array.isArray(message.speechContexts))
+ return "speechContexts: array expected";
+ for (var i = 0; i < message.speechContexts.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.SpeechContext.verify(message.speechContexts[i]);
+ if (error)
+ return "speechContexts." + error;
+ }
+ }
+ if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation"))
+ if (typeof message.enableAutomaticPunctuation !== "boolean")
+ return "enableAutomaticPunctuation: boolean expected";
+ if (message.audioTracks != null && message.hasOwnProperty("audioTracks")) {
+ if (!Array.isArray(message.audioTracks))
+ return "audioTracks: array expected";
+ for (var i = 0; i < message.audioTracks.length; ++i)
+ if (!$util.isInteger(message.audioTracks[i]))
+ return "audioTracks: integer[] expected";
+ }
+ if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization"))
+ if (typeof message.enableSpeakerDiarization !== "boolean")
+ return "enableSpeakerDiarization: boolean expected";
+ if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount"))
+ if (!$util.isInteger(message.diarizationSpeakerCount))
+ return "diarizationSpeakerCount: integer expected";
+ if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence"))
+ if (typeof message.enableWordConfidence !== "boolean")
+ return "enableWordConfidence: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a SpeechTranscriptionConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} SpeechTranscriptionConfig
+ */
+ SpeechTranscriptionConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.SpeechTranscriptionConfig();
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.maxAlternatives != null)
+ message.maxAlternatives = object.maxAlternatives | 0;
+ if (object.filterProfanity != null)
+ message.filterProfanity = Boolean(object.filterProfanity);
+ if (object.speechContexts) {
+ if (!Array.isArray(object.speechContexts))
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.speechContexts: array expected");
+ message.speechContexts = [];
+ for (var i = 0; i < object.speechContexts.length; ++i) {
+ if (typeof object.speechContexts[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.speechContexts: object expected");
+ message.speechContexts[i] = $root.google.cloud.videointelligence.v1.SpeechContext.fromObject(object.speechContexts[i]);
+ }
+ }
+ if (object.enableAutomaticPunctuation != null)
+ message.enableAutomaticPunctuation = Boolean(object.enableAutomaticPunctuation);
+ if (object.audioTracks) {
+ if (!Array.isArray(object.audioTracks))
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscriptionConfig.audioTracks: array expected");
+ message.audioTracks = [];
+ for (var i = 0; i < object.audioTracks.length; ++i)
+ message.audioTracks[i] = object.audioTracks[i] | 0;
+ }
+ if (object.enableSpeakerDiarization != null)
+ message.enableSpeakerDiarization = Boolean(object.enableSpeakerDiarization);
+ if (object.diarizationSpeakerCount != null)
+ message.diarizationSpeakerCount = object.diarizationSpeakerCount | 0;
+ if (object.enableWordConfidence != null)
+ message.enableWordConfidence = Boolean(object.enableWordConfidence);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpeechTranscriptionConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {google.cloud.videointelligence.v1.SpeechTranscriptionConfig} message SpeechTranscriptionConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpeechTranscriptionConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.speechContexts = [];
+ object.audioTracks = [];
+ }
+ if (options.defaults) {
+ object.languageCode = "";
+ object.maxAlternatives = 0;
+ object.filterProfanity = false;
+ object.enableAutomaticPunctuation = false;
+ object.enableSpeakerDiarization = false;
+ object.diarizationSpeakerCount = 0;
+ object.enableWordConfidence = false;
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.maxAlternatives != null && message.hasOwnProperty("maxAlternatives"))
+ object.maxAlternatives = message.maxAlternatives;
+ if (message.filterProfanity != null && message.hasOwnProperty("filterProfanity"))
+ object.filterProfanity = message.filterProfanity;
+ if (message.speechContexts && message.speechContexts.length) {
+ object.speechContexts = [];
+ for (var j = 0; j < message.speechContexts.length; ++j)
+ object.speechContexts[j] = $root.google.cloud.videointelligence.v1.SpeechContext.toObject(message.speechContexts[j], options);
+ }
+ if (message.enableAutomaticPunctuation != null && message.hasOwnProperty("enableAutomaticPunctuation"))
+ object.enableAutomaticPunctuation = message.enableAutomaticPunctuation;
+ if (message.audioTracks && message.audioTracks.length) {
+ object.audioTracks = [];
+ for (var j = 0; j < message.audioTracks.length; ++j)
+ object.audioTracks[j] = message.audioTracks[j];
+ }
+ if (message.enableSpeakerDiarization != null && message.hasOwnProperty("enableSpeakerDiarization"))
+ object.enableSpeakerDiarization = message.enableSpeakerDiarization;
+ if (message.diarizationSpeakerCount != null && message.hasOwnProperty("diarizationSpeakerCount"))
+ object.diarizationSpeakerCount = message.diarizationSpeakerCount;
+ if (message.enableWordConfidence != null && message.hasOwnProperty("enableWordConfidence"))
+ object.enableWordConfidence = message.enableWordConfidence;
+ return object;
+ };
+
+ /**
+ * Converts this SpeechTranscriptionConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpeechTranscriptionConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpeechTranscriptionConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscriptionConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpeechTranscriptionConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechTranscriptionConfig";
+ };
+
+ return SpeechTranscriptionConfig;
+ })();
+
+ v1.SpeechContext = (function() {
+
+ /**
+ * Properties of a SpeechContext.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ISpeechContext
+ * @property {Array.|null} [phrases] SpeechContext phrases
+ */
+
+ /**
+ * Constructs a new SpeechContext.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a SpeechContext.
+ * @implements ISpeechContext
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ISpeechContext=} [properties] Properties to set
+ */
+ function SpeechContext(properties) {
+ this.phrases = [];
+ 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]];
+ }
+
+ /**
+ * SpeechContext phrases.
+ * @member {Array.} phrases
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @instance
+ */
+ SpeechContext.prototype.phrases = $util.emptyArray;
+
+ /**
+ * Creates a new SpeechContext instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechContext=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext instance
+ */
+ SpeechContext.create = function create(properties) {
+ return new SpeechContext(properties);
+ };
+
+ /**
+ * Encodes the specified SpeechContext message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechContext} message SpeechContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechContext.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.phrases != null && message.phrases.length)
+ for (var i = 0; i < message.phrases.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.phrases[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpeechContext message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechContext.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechContext} message SpeechContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechContext.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechContext.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.videointelligence.v1.SpeechContext();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.phrases && message.phrases.length))
+ message.phrases = [];
+ message.phrases.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpeechContext message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechContext.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpeechContext message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpeechContext.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.phrases != null && message.hasOwnProperty("phrases")) {
+ if (!Array.isArray(message.phrases))
+ return "phrases: array expected";
+ for (var i = 0; i < message.phrases.length; ++i)
+ if (!$util.isString(message.phrases[i]))
+ return "phrases: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SpeechContext message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.SpeechContext} SpeechContext
+ */
+ SpeechContext.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.SpeechContext)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.SpeechContext();
+ if (object.phrases) {
+ if (!Array.isArray(object.phrases))
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechContext.phrases: array expected");
+ message.phrases = [];
+ for (var i = 0; i < object.phrases.length; ++i)
+ message.phrases[i] = String(object.phrases[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpeechContext message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {google.cloud.videointelligence.v1.SpeechContext} message SpeechContext
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpeechContext.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.phrases = [];
+ if (message.phrases && message.phrases.length) {
+ object.phrases = [];
+ for (var j = 0; j < message.phrases.length; ++j)
+ object.phrases[j] = message.phrases[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SpeechContext to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpeechContext.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpeechContext
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.SpeechContext
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpeechContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechContext";
+ };
+
+ return SpeechContext;
+ })();
+
+ v1.SpeechTranscription = (function() {
+
+ /**
+ * Properties of a SpeechTranscription.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ISpeechTranscription
+ * @property {Array.|null} [alternatives] SpeechTranscription alternatives
+ * @property {string|null} [languageCode] SpeechTranscription languageCode
+ */
+
+ /**
+ * Constructs a new SpeechTranscription.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a SpeechTranscription.
+ * @implements ISpeechTranscription
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscription=} [properties] Properties to set
+ */
+ function SpeechTranscription(properties) {
+ this.alternatives = [];
+ 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]];
+ }
+
+ /**
+ * SpeechTranscription alternatives.
+ * @member {Array.} alternatives
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @instance
+ */
+ SpeechTranscription.prototype.alternatives = $util.emptyArray;
+
+ /**
+ * SpeechTranscription languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @instance
+ */
+ SpeechTranscription.prototype.languageCode = "";
+
+ /**
+ * Creates a new SpeechTranscription instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscription=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription instance
+ */
+ SpeechTranscription.create = function create(properties) {
+ return new SpeechTranscription(properties);
+ };
+
+ /**
+ * Encodes the specified SpeechTranscription message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscription} message SpeechTranscription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechTranscription.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.alternatives != null && message.alternatives.length)
+ for (var i = 0; i < message.alternatives.length; ++i)
+ $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.encode(message.alternatives[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpeechTranscription message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechTranscription.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechTranscription} message SpeechTranscription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechTranscription.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechTranscription.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.videointelligence.v1.SpeechTranscription();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.alternatives && message.alternatives.length))
+ message.alternatives = [];
+ message.alternatives.push($root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpeechTranscription message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechTranscription.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpeechTranscription message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpeechTranscription.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.alternatives != null && message.hasOwnProperty("alternatives")) {
+ if (!Array.isArray(message.alternatives))
+ return "alternatives: array expected";
+ for (var i = 0; i < message.alternatives.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify(message.alternatives[i]);
+ if (error)
+ return "alternatives." + error;
+ }
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SpeechTranscription message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.SpeechTranscription} SpeechTranscription
+ */
+ SpeechTranscription.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.SpeechTranscription)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.SpeechTranscription();
+ if (object.alternatives) {
+ if (!Array.isArray(object.alternatives))
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscription.alternatives: array expected");
+ message.alternatives = [];
+ for (var i = 0; i < object.alternatives.length; ++i) {
+ if (typeof object.alternatives[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechTranscription.alternatives: object expected");
+ message.alternatives[i] = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.fromObject(object.alternatives[i]);
+ }
+ }
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpeechTranscription message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {google.cloud.videointelligence.v1.SpeechTranscription} message SpeechTranscription
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpeechTranscription.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.alternatives = [];
+ if (options.defaults)
+ object.languageCode = "";
+ if (message.alternatives && message.alternatives.length) {
+ object.alternatives = [];
+ for (var j = 0; j < message.alternatives.length; ++j)
+ object.alternatives[j] = $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative.toObject(message.alternatives[j], options);
+ }
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this SpeechTranscription to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpeechTranscription.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpeechTranscription
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.SpeechTranscription
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpeechTranscription.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechTranscription";
+ };
+
+ return SpeechTranscription;
+ })();
+
+ v1.SpeechRecognitionAlternative = (function() {
+
+ /**
+ * Properties of a SpeechRecognitionAlternative.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ISpeechRecognitionAlternative
+ * @property {string|null} [transcript] SpeechRecognitionAlternative transcript
+ * @property {number|null} [confidence] SpeechRecognitionAlternative confidence
+ * @property {Array.|null} [words] SpeechRecognitionAlternative words
+ */
+
+ /**
+ * Constructs a new SpeechRecognitionAlternative.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a SpeechRecognitionAlternative.
+ * @implements ISpeechRecognitionAlternative
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative=} [properties] Properties to set
+ */
+ function SpeechRecognitionAlternative(properties) {
+ this.words = [];
+ 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]];
+ }
+
+ /**
+ * SpeechRecognitionAlternative transcript.
+ * @member {string} transcript
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @instance
+ */
+ SpeechRecognitionAlternative.prototype.transcript = "";
+
+ /**
+ * SpeechRecognitionAlternative confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @instance
+ */
+ SpeechRecognitionAlternative.prototype.confidence = 0;
+
+ /**
+ * SpeechRecognitionAlternative words.
+ * @member {Array.} words
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @instance
+ */
+ SpeechRecognitionAlternative.prototype.words = $util.emptyArray;
+
+ /**
+ * Creates a new SpeechRecognitionAlternative instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative instance
+ */
+ SpeechRecognitionAlternative.create = function create(properties) {
+ return new SpeechRecognitionAlternative(properties);
+ };
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechRecognitionAlternative.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.transcript != null && Object.hasOwnProperty.call(message, "transcript"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.transcript);
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence);
+ if (message.words != null && message.words.length)
+ for (var i = 0; i < message.words.length; ++i)
+ $root.google.cloud.videointelligence.v1.WordInfo.encode(message.words[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SpeechRecognitionAlternative message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.SpeechRecognitionAlternative.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {google.cloud.videointelligence.v1.ISpeechRecognitionAlternative} message SpeechRecognitionAlternative message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SpeechRecognitionAlternative.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechRecognitionAlternative.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.videointelligence.v1.SpeechRecognitionAlternative();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.transcript = reader.string();
+ break;
+ }
+ case 2: {
+ message.confidence = reader.float();
+ break;
+ }
+ case 3: {
+ if (!(message.words && message.words.length))
+ message.words = [];
+ message.words.push($root.google.cloud.videointelligence.v1.WordInfo.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SpeechRecognitionAlternative message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SpeechRecognitionAlternative.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SpeechRecognitionAlternative message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SpeechRecognitionAlternative.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.transcript != null && message.hasOwnProperty("transcript"))
+ if (!$util.isString(message.transcript))
+ return "transcript: string expected";
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ if (message.words != null && message.hasOwnProperty("words")) {
+ if (!Array.isArray(message.words))
+ return "words: array expected";
+ for (var i = 0; i < message.words.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.WordInfo.verify(message.words[i]);
+ if (error)
+ return "words." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SpeechRecognitionAlternative message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} SpeechRecognitionAlternative
+ */
+ SpeechRecognitionAlternative.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.SpeechRecognitionAlternative();
+ if (object.transcript != null)
+ message.transcript = String(object.transcript);
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ if (object.words) {
+ if (!Array.isArray(object.words))
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechRecognitionAlternative.words: array expected");
+ message.words = [];
+ for (var i = 0; i < object.words.length; ++i) {
+ if (typeof object.words[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.SpeechRecognitionAlternative.words: object expected");
+ message.words[i] = $root.google.cloud.videointelligence.v1.WordInfo.fromObject(object.words[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SpeechRecognitionAlternative message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {google.cloud.videointelligence.v1.SpeechRecognitionAlternative} message SpeechRecognitionAlternative
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SpeechRecognitionAlternative.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.words = [];
+ if (options.defaults) {
+ object.transcript = "";
+ object.confidence = 0;
+ }
+ if (message.transcript != null && message.hasOwnProperty("transcript"))
+ object.transcript = message.transcript;
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ if (message.words && message.words.length) {
+ object.words = [];
+ for (var j = 0; j < message.words.length; ++j)
+ object.words[j] = $root.google.cloud.videointelligence.v1.WordInfo.toObject(message.words[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SpeechRecognitionAlternative to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SpeechRecognitionAlternative.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SpeechRecognitionAlternative
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.SpeechRecognitionAlternative
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SpeechRecognitionAlternative.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.SpeechRecognitionAlternative";
+ };
+
+ return SpeechRecognitionAlternative;
+ })();
+
+ v1.WordInfo = (function() {
+
+ /**
+ * Properties of a WordInfo.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IWordInfo
+ * @property {google.protobuf.IDuration|null} [startTime] WordInfo startTime
+ * @property {google.protobuf.IDuration|null} [endTime] WordInfo endTime
+ * @property {string|null} [word] WordInfo word
+ * @property {number|null} [confidence] WordInfo confidence
+ * @property {number|null} [speakerTag] WordInfo speakerTag
+ */
+
+ /**
+ * Constructs a new WordInfo.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a WordInfo.
+ * @implements IWordInfo
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IWordInfo=} [properties] Properties to set
+ */
+ function WordInfo(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]];
+ }
+
+ /**
+ * WordInfo startTime.
+ * @member {google.protobuf.IDuration|null|undefined} startTime
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ */
+ WordInfo.prototype.startTime = null;
+
+ /**
+ * WordInfo endTime.
+ * @member {google.protobuf.IDuration|null|undefined} endTime
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ */
+ WordInfo.prototype.endTime = null;
+
+ /**
+ * WordInfo word.
+ * @member {string} word
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ */
+ WordInfo.prototype.word = "";
+
+ /**
+ * WordInfo confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ */
+ WordInfo.prototype.confidence = 0;
+
+ /**
+ * WordInfo speakerTag.
+ * @member {number} speakerTag
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ */
+ WordInfo.prototype.speakerTag = 0;
+
+ /**
+ * Creates a new WordInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {google.cloud.videointelligence.v1.IWordInfo=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo instance
+ */
+ WordInfo.create = function create(properties) {
+ return new WordInfo(properties);
+ };
+
+ /**
+ * Encodes the specified WordInfo message. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {google.cloud.videointelligence.v1.IWordInfo} message WordInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WordInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Duration.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Duration.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.word != null && Object.hasOwnProperty.call(message, "word"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.word);
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 4, wireType 5 =*/37).float(message.confidence);
+ if (message.speakerTag != null && Object.hasOwnProperty.call(message, "speakerTag"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.speakerTag);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified WordInfo message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.WordInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {google.cloud.videointelligence.v1.IWordInfo} message WordInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WordInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WordInfo.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.videointelligence.v1.WordInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.word = reader.string();
+ break;
+ }
+ case 4: {
+ message.confidence = reader.float();
+ break;
+ }
+ case 5: {
+ message.speakerTag = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a WordInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WordInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a WordInfo message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ WordInfo.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.Duration.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Duration.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.word != null && message.hasOwnProperty("word"))
+ if (!$util.isString(message.word))
+ return "word: string expected";
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ if (message.speakerTag != null && message.hasOwnProperty("speakerTag"))
+ if (!$util.isInteger(message.speakerTag))
+ return "speakerTag: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a WordInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.WordInfo} WordInfo
+ */
+ WordInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.WordInfo)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.WordInfo();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.WordInfo.startTime: object expected");
+ message.startTime = $root.google.protobuf.Duration.fromObject(object.startTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.WordInfo.endTime: object expected");
+ message.endTime = $root.google.protobuf.Duration.fromObject(object.endTime);
+ }
+ if (object.word != null)
+ message.word = String(object.word);
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ if (object.speakerTag != null)
+ message.speakerTag = object.speakerTag | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a WordInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {google.cloud.videointelligence.v1.WordInfo} message WordInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ WordInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ object.word = "";
+ object.confidence = 0;
+ object.speakerTag = 0;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Duration.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Duration.toObject(message.endTime, options);
+ if (message.word != null && message.hasOwnProperty("word"))
+ object.word = message.word;
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ if (message.speakerTag != null && message.hasOwnProperty("speakerTag"))
+ object.speakerTag = message.speakerTag;
+ return object;
+ };
+
+ /**
+ * Converts this WordInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ WordInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for WordInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.WordInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ WordInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.WordInfo";
+ };
+
+ return WordInfo;
+ })();
+
+ v1.NormalizedVertex = (function() {
+
+ /**
+ * Properties of a NormalizedVertex.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface INormalizedVertex
+ * @property {number|null} [x] NormalizedVertex x
+ * @property {number|null} [y] NormalizedVertex y
+ */
+
+ /**
+ * Constructs a new NormalizedVertex.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a NormalizedVertex.
+ * @implements INormalizedVertex
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.INormalizedVertex=} [properties] Properties to set
+ */
+ function NormalizedVertex(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]];
+ }
+
+ /**
+ * NormalizedVertex x.
+ * @member {number} x
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @instance
+ */
+ NormalizedVertex.prototype.x = 0;
+
+ /**
+ * NormalizedVertex y.
+ * @member {number} y
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @instance
+ */
+ NormalizedVertex.prototype.y = 0;
+
+ /**
+ * Creates a new NormalizedVertex instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedVertex=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex instance
+ */
+ NormalizedVertex.create = function create(properties) {
+ return new NormalizedVertex(properties);
+ };
+
+ /**
+ * Encodes the specified NormalizedVertex message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedVertex.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedVertex.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.x != null && Object.hasOwnProperty.call(message, "x"))
+ writer.uint32(/* id 1, wireType 5 =*/13).float(message.x);
+ if (message.y != null && Object.hasOwnProperty.call(message, "y"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.y);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NormalizedVertex message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedVertex.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedVertex} message NormalizedVertex message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedVertex.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedVertex.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.videointelligence.v1.NormalizedVertex();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.x = reader.float();
+ break;
+ }
+ case 2: {
+ message.y = reader.float();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NormalizedVertex message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedVertex.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NormalizedVertex message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NormalizedVertex.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.x != null && message.hasOwnProperty("x"))
+ if (typeof message.x !== "number")
+ return "x: number expected";
+ if (message.y != null && message.hasOwnProperty("y"))
+ if (typeof message.y !== "number")
+ return "y: number expected";
+ return null;
+ };
+
+ /**
+ * Creates a NormalizedVertex message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.NormalizedVertex} NormalizedVertex
+ */
+ NormalizedVertex.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedVertex)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.NormalizedVertex();
+ if (object.x != null)
+ message.x = Number(object.x);
+ if (object.y != null)
+ message.y = Number(object.y);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NormalizedVertex message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {google.cloud.videointelligence.v1.NormalizedVertex} message NormalizedVertex
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NormalizedVertex.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.x = 0;
+ object.y = 0;
+ }
+ if (message.x != null && message.hasOwnProperty("x"))
+ object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x;
+ if (message.y != null && message.hasOwnProperty("y"))
+ object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y;
+ return object;
+ };
+
+ /**
+ * Converts this NormalizedVertex to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NormalizedVertex.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NormalizedVertex
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.NormalizedVertex
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NormalizedVertex.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.NormalizedVertex";
+ };
+
+ return NormalizedVertex;
+ })();
+
+ v1.NormalizedBoundingPoly = (function() {
+
+ /**
+ * Properties of a NormalizedBoundingPoly.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface INormalizedBoundingPoly
+ * @property {Array.|null} [vertices] NormalizedBoundingPoly vertices
+ */
+
+ /**
+ * Constructs a new NormalizedBoundingPoly.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a NormalizedBoundingPoly.
+ * @implements INormalizedBoundingPoly
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingPoly=} [properties] Properties to set
+ */
+ function NormalizedBoundingPoly(properties) {
+ this.vertices = [];
+ 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]];
+ }
+
+ /**
+ * NormalizedBoundingPoly vertices.
+ * @member {Array.} vertices
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @instance
+ */
+ NormalizedBoundingPoly.prototype.vertices = $util.emptyArray;
+
+ /**
+ * Creates a new NormalizedBoundingPoly instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingPoly=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly instance
+ */
+ NormalizedBoundingPoly.create = function create(properties) {
+ return new NormalizedBoundingPoly(properties);
+ };
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedBoundingPoly.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.vertices != null && message.vertices.length)
+ for (var i = 0; i < message.vertices.length; ++i)
+ $root.google.cloud.videointelligence.v1.NormalizedVertex.encode(message.vertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NormalizedBoundingPoly message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {google.cloud.videointelligence.v1.INormalizedBoundingPoly} message NormalizedBoundingPoly message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NormalizedBoundingPoly.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedBoundingPoly.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.videointelligence.v1.NormalizedBoundingPoly();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.vertices && message.vertices.length))
+ message.vertices = [];
+ message.vertices.push($root.google.cloud.videointelligence.v1.NormalizedVertex.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NormalizedBoundingPoly message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NormalizedBoundingPoly.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NormalizedBoundingPoly message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NormalizedBoundingPoly.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.vertices != null && message.hasOwnProperty("vertices")) {
+ if (!Array.isArray(message.vertices))
+ return "vertices: array expected";
+ for (var i = 0; i < message.vertices.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedVertex.verify(message.vertices[i]);
+ if (error)
+ return "vertices." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a NormalizedBoundingPoly message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.NormalizedBoundingPoly} NormalizedBoundingPoly
+ */
+ NormalizedBoundingPoly.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly();
+ if (object.vertices) {
+ if (!Array.isArray(object.vertices))
+ throw TypeError(".google.cloud.videointelligence.v1.NormalizedBoundingPoly.vertices: array expected");
+ message.vertices = [];
+ for (var i = 0; i < object.vertices.length; ++i) {
+ if (typeof object.vertices[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.NormalizedBoundingPoly.vertices: object expected");
+ message.vertices[i] = $root.google.cloud.videointelligence.v1.NormalizedVertex.fromObject(object.vertices[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NormalizedBoundingPoly message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {google.cloud.videointelligence.v1.NormalizedBoundingPoly} message NormalizedBoundingPoly
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NormalizedBoundingPoly.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.vertices = [];
+ if (message.vertices && message.vertices.length) {
+ object.vertices = [];
+ for (var j = 0; j < message.vertices.length; ++j)
+ object.vertices[j] = $root.google.cloud.videointelligence.v1.NormalizedVertex.toObject(message.vertices[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this NormalizedBoundingPoly to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NormalizedBoundingPoly.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NormalizedBoundingPoly
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.NormalizedBoundingPoly
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NormalizedBoundingPoly.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.NormalizedBoundingPoly";
+ };
+
+ return NormalizedBoundingPoly;
+ })();
+
+ v1.TextSegment = (function() {
+
+ /**
+ * Properties of a TextSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITextSegment
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] TextSegment segment
+ * @property {number|null} [confidence] TextSegment confidence
+ * @property {Array.|null} [frames] TextSegment frames
+ */
+
+ /**
+ * Constructs a new TextSegment.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a TextSegment.
+ * @implements ITextSegment
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITextSegment=} [properties] Properties to set
+ */
+ function TextSegment(properties) {
+ this.frames = [];
+ 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]];
+ }
+
+ /**
+ * TextSegment segment.
+ * @member {google.cloud.videointelligence.v1.IVideoSegment|null|undefined} segment
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @instance
+ */
+ TextSegment.prototype.segment = null;
+
+ /**
+ * TextSegment confidence.
+ * @member {number} confidence
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @instance
+ */
+ TextSegment.prototype.confidence = 0;
+
+ /**
+ * TextSegment frames.
+ * @member {Array.} frames
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @instance
+ */
+ TextSegment.prototype.frames = $util.emptyArray;
+
+ /**
+ * Creates a new TextSegment instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextSegment=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment instance
+ */
+ TextSegment.create = function create(properties) {
+ return new TextSegment(properties);
+ };
+
+ /**
+ * Encodes the specified TextSegment message. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextSegment} message TextSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextSegment.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.segment != null && Object.hasOwnProperty.call(message, "segment"))
+ $root.google.cloud.videointelligence.v1.VideoSegment.encode(message.segment, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.confidence != null && Object.hasOwnProperty.call(message, "confidence"))
+ writer.uint32(/* id 2, wireType 5 =*/21).float(message.confidence);
+ if (message.frames != null && message.frames.length)
+ for (var i = 0; i < message.frames.length; ++i)
+ $root.google.cloud.videointelligence.v1.TextFrame.encode(message.frames[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextSegment message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextSegment.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextSegment} message TextSegment message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextSegment.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextSegment.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.videointelligence.v1.TextSegment();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.confidence = reader.float();
+ break;
+ }
+ case 3: {
+ if (!(message.frames && message.frames.length))
+ message.frames = [];
+ message.frames.push($root.google.cloud.videointelligence.v1.TextFrame.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextSegment message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextSegment.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextSegment message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextSegment.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.segment != null && message.hasOwnProperty("segment")) {
+ var error = $root.google.cloud.videointelligence.v1.VideoSegment.verify(message.segment);
+ if (error)
+ return "segment." + error;
+ }
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ if (typeof message.confidence !== "number")
+ return "confidence: number expected";
+ if (message.frames != null && message.hasOwnProperty("frames")) {
+ if (!Array.isArray(message.frames))
+ return "frames: array expected";
+ for (var i = 0; i < message.frames.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.TextFrame.verify(message.frames[i]);
+ if (error)
+ return "frames." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TextSegment message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.TextSegment} TextSegment
+ */
+ TextSegment.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.TextSegment)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.TextSegment();
+ if (object.segment != null) {
+ if (typeof object.segment !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TextSegment.segment: object expected");
+ message.segment = $root.google.cloud.videointelligence.v1.VideoSegment.fromObject(object.segment);
+ }
+ if (object.confidence != null)
+ message.confidence = Number(object.confidence);
+ if (object.frames) {
+ if (!Array.isArray(object.frames))
+ throw TypeError(".google.cloud.videointelligence.v1.TextSegment.frames: array expected");
+ message.frames = [];
+ for (var i = 0; i < object.frames.length; ++i) {
+ if (typeof object.frames[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TextSegment.frames: object expected");
+ message.frames[i] = $root.google.cloud.videointelligence.v1.TextFrame.fromObject(object.frames[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextSegment message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {google.cloud.videointelligence.v1.TextSegment} message TextSegment
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextSegment.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.frames = [];
+ if (options.defaults) {
+ object.segment = null;
+ object.confidence = 0;
+ }
+ if (message.segment != null && message.hasOwnProperty("segment"))
+ object.segment = $root.google.cloud.videointelligence.v1.VideoSegment.toObject(message.segment, options);
+ if (message.confidence != null && message.hasOwnProperty("confidence"))
+ object.confidence = options.json && !isFinite(message.confidence) ? String(message.confidence) : message.confidence;
+ if (message.frames && message.frames.length) {
+ object.frames = [];
+ for (var j = 0; j < message.frames.length; ++j)
+ object.frames[j] = $root.google.cloud.videointelligence.v1.TextFrame.toObject(message.frames[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TextSegment to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextSegment.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextSegment
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.TextSegment
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextSegment.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextSegment";
+ };
+
+ return TextSegment;
+ })();
+
+ v1.TextFrame = (function() {
+
+ /**
+ * Properties of a TextFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITextFrame
+ * @property {google.cloud.videointelligence.v1.INormalizedBoundingPoly|null} [rotatedBoundingBox] TextFrame rotatedBoundingBox
+ * @property {google.protobuf.IDuration|null} [timeOffset] TextFrame timeOffset
+ */
+
+ /**
+ * Constructs a new TextFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a TextFrame.
+ * @implements ITextFrame
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITextFrame=} [properties] Properties to set
+ */
+ function TextFrame(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]];
+ }
+
+ /**
+ * TextFrame rotatedBoundingBox.
+ * @member {google.cloud.videointelligence.v1.INormalizedBoundingPoly|null|undefined} rotatedBoundingBox
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @instance
+ */
+ TextFrame.prototype.rotatedBoundingBox = null;
+
+ /**
+ * TextFrame timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @instance
+ */
+ TextFrame.prototype.timeOffset = null;
+
+ /**
+ * Creates a new TextFrame instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextFrame=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame instance
+ */
+ TextFrame.create = function create(properties) {
+ return new TextFrame(properties);
+ };
+
+ /**
+ * Encodes the specified TextFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextFrame} message TextFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextFrame.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rotatedBoundingBox != null && Object.hasOwnProperty.call(message, "rotatedBoundingBox"))
+ $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.encode(message.rotatedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextFrame.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextFrame} message TextFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextFrame.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextFrame.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.videointelligence.v1.TextFrame();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextFrame message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextFrame.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextFrame message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextFrame.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox")) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.verify(message.rotatedBoundingBox);
+ if (error)
+ return "rotatedBoundingBox." + error;
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TextFrame message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.TextFrame} TextFrame
+ */
+ TextFrame.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.TextFrame)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.TextFrame();
+ if (object.rotatedBoundingBox != null) {
+ if (typeof object.rotatedBoundingBox !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TextFrame.rotatedBoundingBox: object expected");
+ message.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.fromObject(object.rotatedBoundingBox);
+ }
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TextFrame.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextFrame message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.TextFrame} message TextFrame
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextFrame.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.rotatedBoundingBox = null;
+ object.timeOffset = null;
+ }
+ if (message.rotatedBoundingBox != null && message.hasOwnProperty("rotatedBoundingBox"))
+ object.rotatedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingPoly.toObject(message.rotatedBoundingBox, options);
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ return object;
+ };
+
+ /**
+ * Converts this TextFrame to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextFrame.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextFrame
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.TextFrame
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextFrame";
+ };
+
+ return TextFrame;
+ })();
+
+ v1.TextAnnotation = (function() {
+
+ /**
+ * Properties of a TextAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface ITextAnnotation
+ * @property {string|null} [text] TextAnnotation text
+ * @property {Array.|null} [segments] TextAnnotation segments
+ * @property {string|null} [version] TextAnnotation version
+ */
+
+ /**
+ * Constructs a new TextAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents a TextAnnotation.
+ * @implements ITextAnnotation
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.ITextAnnotation=} [properties] Properties to set
+ */
+ function TextAnnotation(properties) {
+ this.segments = [];
+ 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]];
+ }
+
+ /**
+ * TextAnnotation text.
+ * @member {string} text
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @instance
+ */
+ TextAnnotation.prototype.text = "";
+
+ /**
+ * TextAnnotation segments.
+ * @member {Array.} segments
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @instance
+ */
+ TextAnnotation.prototype.segments = $util.emptyArray;
+
+ /**
+ * TextAnnotation version.
+ * @member {string} version
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @instance
+ */
+ TextAnnotation.prototype.version = "";
+
+ /**
+ * Creates a new TextAnnotation instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextAnnotation=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation instance
+ */
+ TextAnnotation.create = function create(properties) {
+ return new TextAnnotation(properties);
+ };
+
+ /**
+ * Encodes the specified TextAnnotation message. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextAnnotation} message TextAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextAnnotation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.text != null && Object.hasOwnProperty.call(message, "text"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.text);
+ if (message.segments != null && message.segments.length)
+ for (var i = 0; i < message.segments.length; ++i)
+ $root.google.cloud.videointelligence.v1.TextSegment.encode(message.segments[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.version != null && Object.hasOwnProperty.call(message, "version"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.version);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextAnnotation message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.TextAnnotation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.ITextAnnotation} message TextAnnotation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextAnnotation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextAnnotation.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.videointelligence.v1.TextAnnotation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.text = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.segments && message.segments.length))
+ message.segments = [];
+ message.segments.push($root.google.cloud.videointelligence.v1.TextSegment.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.version = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextAnnotation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextAnnotation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextAnnotation message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextAnnotation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.text != null && message.hasOwnProperty("text"))
+ if (!$util.isString(message.text))
+ return "text: string expected";
+ if (message.segments != null && message.hasOwnProperty("segments")) {
+ if (!Array.isArray(message.segments))
+ return "segments: array expected";
+ for (var i = 0; i < message.segments.length; ++i) {
+ var error = $root.google.cloud.videointelligence.v1.TextSegment.verify(message.segments[i]);
+ if (error)
+ return "segments." + error;
+ }
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ if (!$util.isString(message.version))
+ return "version: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TextAnnotation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.TextAnnotation} TextAnnotation
+ */
+ TextAnnotation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.TextAnnotation)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.TextAnnotation();
+ if (object.text != null)
+ message.text = String(object.text);
+ if (object.segments) {
+ if (!Array.isArray(object.segments))
+ throw TypeError(".google.cloud.videointelligence.v1.TextAnnotation.segments: array expected");
+ message.segments = [];
+ for (var i = 0; i < object.segments.length; ++i) {
+ if (typeof object.segments[i] !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.TextAnnotation.segments: object expected");
+ message.segments[i] = $root.google.cloud.videointelligence.v1.TextSegment.fromObject(object.segments[i]);
+ }
+ }
+ if (object.version != null)
+ message.version = String(object.version);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextAnnotation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {google.cloud.videointelligence.v1.TextAnnotation} message TextAnnotation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextAnnotation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.segments = [];
+ if (options.defaults) {
+ object.text = "";
+ object.version = "";
+ }
+ if (message.text != null && message.hasOwnProperty("text"))
+ object.text = message.text;
+ if (message.segments && message.segments.length) {
+ object.segments = [];
+ for (var j = 0; j < message.segments.length; ++j)
+ object.segments[j] = $root.google.cloud.videointelligence.v1.TextSegment.toObject(message.segments[j], options);
+ }
+ if (message.version != null && message.hasOwnProperty("version"))
+ object.version = message.version;
+ return object;
+ };
+
+ /**
+ * Converts this TextAnnotation to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextAnnotation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextAnnotation
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.TextAnnotation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextAnnotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.TextAnnotation";
+ };
+
+ return TextAnnotation;
+ })();
+
+ v1.ObjectTrackingFrame = (function() {
+
+ /**
+ * Properties of an ObjectTrackingFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IObjectTrackingFrame
+ * @property {google.cloud.videointelligence.v1.INormalizedBoundingBox|null} [normalizedBoundingBox] ObjectTrackingFrame normalizedBoundingBox
+ * @property {google.protobuf.IDuration|null} [timeOffset] ObjectTrackingFrame timeOffset
+ */
+
+ /**
+ * Constructs a new ObjectTrackingFrame.
+ * @memberof google.cloud.videointelligence.v1
+ * @classdesc Represents an ObjectTrackingFrame.
+ * @implements IObjectTrackingFrame
+ * @constructor
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame=} [properties] Properties to set
+ */
+ function ObjectTrackingFrame(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]];
+ }
+
+ /**
+ * ObjectTrackingFrame normalizedBoundingBox.
+ * @member {google.cloud.videointelligence.v1.INormalizedBoundingBox|null|undefined} normalizedBoundingBox
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @instance
+ */
+ ObjectTrackingFrame.prototype.normalizedBoundingBox = null;
+
+ /**
+ * ObjectTrackingFrame timeOffset.
+ * @member {google.protobuf.IDuration|null|undefined} timeOffset
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @instance
+ */
+ ObjectTrackingFrame.prototype.timeOffset = null;
+
+ /**
+ * Creates a new ObjectTrackingFrame instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame=} [properties] Properties to set
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame instance
+ */
+ ObjectTrackingFrame.create = function create(properties) {
+ return new ObjectTrackingFrame(properties);
+ };
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectTrackingFrame.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.normalizedBoundingBox != null && Object.hasOwnProperty.call(message, "normalizedBoundingBox"))
+ $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.encode(message.normalizedBoundingBox, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset"))
+ $root.google.protobuf.Duration.encode(message.timeOffset, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ObjectTrackingFrame message, length delimited. Does not implicitly {@link google.cloud.videointelligence.v1.ObjectTrackingFrame.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.IObjectTrackingFrame} message ObjectTrackingFrame message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectTrackingFrame.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectTrackingFrame.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.videointelligence.v1.ObjectTrackingFrame();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.timeOffset = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ObjectTrackingFrame message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectTrackingFrame.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ObjectTrackingFrame message.
+ * @function verify
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ObjectTrackingFrame.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox")) {
+ var error = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.verify(message.normalizedBoundingBox);
+ if (error)
+ return "normalizedBoundingBox." + error;
+ }
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeOffset);
+ if (error)
+ return "timeOffset." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ObjectTrackingFrame message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.videointelligence.v1.ObjectTrackingFrame} ObjectTrackingFrame
+ */
+ ObjectTrackingFrame.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.videointelligence.v1.ObjectTrackingFrame)
+ return object;
+ var message = new $root.google.cloud.videointelligence.v1.ObjectTrackingFrame();
+ if (object.normalizedBoundingBox != null) {
+ if (typeof object.normalizedBoundingBox !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingFrame.normalizedBoundingBox: object expected");
+ message.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.fromObject(object.normalizedBoundingBox);
+ }
+ if (object.timeOffset != null) {
+ if (typeof object.timeOffset !== "object")
+ throw TypeError(".google.cloud.videointelligence.v1.ObjectTrackingFrame.timeOffset: object expected");
+ message.timeOffset = $root.google.protobuf.Duration.fromObject(object.timeOffset);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ObjectTrackingFrame message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {google.cloud.videointelligence.v1.ObjectTrackingFrame} message ObjectTrackingFrame
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ObjectTrackingFrame.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.normalizedBoundingBox = null;
+ object.timeOffset = null;
+ }
+ if (message.normalizedBoundingBox != null && message.hasOwnProperty("normalizedBoundingBox"))
+ object.normalizedBoundingBox = $root.google.cloud.videointelligence.v1.NormalizedBoundingBox.toObject(message.normalizedBoundingBox, options);
+ if (message.timeOffset != null && message.hasOwnProperty("timeOffset"))
+ object.timeOffset = $root.google.protobuf.Duration.toObject(message.timeOffset, options);
+ return object;
+ };
+
+ /**
+ * Converts this ObjectTrackingFrame to JSON.
+ * @function toJSON
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ObjectTrackingFrame.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ObjectTrackingFrame
+ * @function getTypeUrl
+ * @memberof google.cloud.videointelligence.v1.ObjectTrackingFrame
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ObjectTrackingFrame.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.videointelligence.v1.ObjectTrackingFrame";
+ };
+
+ return ObjectTrackingFrame;
+ })();
+
+ v1.ObjectTrackingAnnotation = (function() {
+
+ /**
+ * Properties of an ObjectTrackingAnnotation.
+ * @memberof google.cloud.videointelligence.v1
+ * @interface IObjectTrackingAnnotation
+ * @property {google.cloud.videointelligence.v1.IVideoSegment|null} [segment] ObjectTrackingAnnotation segment
+ * @property {number|Long|null} [trackId] ObjectTrackingAnnotation trackId
+ * @property {google.cloud.videointelligence.v1.IEntity|null} [entity] ObjectTrackingAnnotation entity
+ * @property {number|null} [confidence] ObjectTrackingAnnotation confidence
+ * @property {Array.