diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 85df2987931f..0565d12951d6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -246,6 +246,7 @@ "packages/google-maps-fleetengine": "0.8.2", "packages/google-maps-fleetengine-delivery": "0.6.2", "packages/google-maps-geocode": "0.1.1", + "packages/google-maps-isochrones": "0.0.0", "packages/google-maps-mapmanagement": "0.1.1", "packages/google-maps-mapsplatformdatasets": "3.1.2", "packages/google-maps-navconnect": "0.1.1", diff --git a/librarian.yaml b/librarian.yaml index 16fdf422824d..1224149b756b 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -654,10 +654,10 @@ libraries: default_version: v1 package_name: '@google-cloud/procurement' - name: google-cloud-commerceproducer + version: 0.1.0 apis: - path: google/cloud/commerceproducer/v1beta copyright_year: "2026" - version: 0.1.0 - name: google-cloud-compute version: 6.14.0 apis: @@ -2015,6 +2015,10 @@ libraries: nodejs: default_version: v4 package_name: '@google-cloud/geocode' + - name: google-maps-isochrones + apis: + - path: google/maps/isochrones/v1 + copyright_year: "2026" - name: google-maps-mapmanagement version: 0.1.1 apis: diff --git a/packages/google-maps-isochrones/.gitignore b/packages/google-maps-isochrones/.gitignore new file mode 100644 index 000000000000..d4f03a0df2e8 --- /dev/null +++ b/packages/google-maps-isochrones/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +/.coverage +/coverage +/.nyc_output +/docs/ +/out/ +/build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/packages/google-maps-isochrones/.jsdoc.js b/packages/google-maps-isochrones/.jsdoc.js new file mode 100644 index 000000000000..c42a478ed607 --- /dev/null +++ b/packages/google-maps-isochrones/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2026 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-maps/isochrones', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/packages/google-maps-isochrones/.nycrc b/packages/google-maps-isochrones/.nycrc new file mode 100644 index 000000000000..81a95fc94b00 --- /dev/null +++ b/packages/google-maps-isochrones/.nycrc @@ -0,0 +1,24 @@ +{ + "report-dir": "./.coverage", + "reporter": ["text", "lcov"], + "exclude": [ + "**/*-test", + "**/.coverage", + "**/apis", + "**/benchmark", + "**/conformance", + "**/docs", + "**/samples", + "**/scripts", + "**/protos", + "**/test", + "**/*.d.ts", + ".jsdoc.js", + "**/.jsdoc.js", + "karma.conf.js", + "webpack-tests.config.js", + "webpack.config.js" + ], + "exclude-after-remap": false, + "all": true +} \ No newline at end of file diff --git a/packages/google-maps-isochrones/.repo-metadata.json b/packages/google-maps-isochrones/.repo-metadata.json new file mode 100644 index 000000000000..925fceb2a44a --- /dev/null +++ b/packages/google-maps-isochrones/.repo-metadata.json @@ -0,0 +1,15 @@ +{ + "api_description": "isochrones.googleapis.com API.", + "api_id": "isochrones.googleapis.com", + "api_shortname": "isochrones", + "default_version": "v1", + "distribution_name": "@google-maps/isochrones", + "issue_tracker": "https://issuetracker.google.com/issues/new?component=1950715&template=0", + "language": "nodejs", + "library_type": "GAPIC_AUTO", + "name": "isochrones", + "name_pretty": "Isochrones", + "product_documentation": "https://developers.google.com/maps/documentation/isochrones/overview", + "release_level": "stable", + "repo": "googleapis/google-cloud-node" +} \ No newline at end of file diff --git a/packages/google-maps-isochrones/README.md b/packages/google-maps-isochrones/README.md new file mode 100644 index 000000000000..2c0c18fc9407 --- /dev/null +++ b/packages/google-maps-isochrones/README.md @@ -0,0 +1,108 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "The comments you see below are used to generate those parts of the template in later states." +Google Cloud Platform logo + +# [Isochrones API: Nodejs Client][homepage] + +[//]: # "releaseLevel" + +[![npm version](https://img.shields.io/npm/v/@google-maps/isochrones.svg)](https://www.npmjs.org/package/@google-maps/isochrones) + +Isochrones API client for Node.js + +[//]: # "partials.introduction" + +A comprehensive list of changes in each version may be found in +[the CHANGELOG][homepage_changelog]. + +* [Isochrones API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/isochrones/latest) +* [Isochrones API Documentation](https://developers.google.com/maps/documentation/isochrones/overview) + +Read more about the client libraries for Cloud APIs, including the older +Google APIs Client Libraries, in [Client Libraries Explained][explained]. + +[explained]: https://cloud.google.com/apis/docs/client-libraries-explained + +**Table of contents:** + +* [Quickstart](#quickstart) + * [Before you begin](#before-you-begin) + * [Installing the client library](#installing-the-client-library) + +* [Versioning](#versioning) +* [Contributing](#contributing) +* [License](#license) + +## Quickstart +### Before you begin + +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Isochrones API API][enable_api]. +1. [Set up authentication][auth] so you can access the + API from your local workstation. +### Installing the client library + +```bash +npm install @google-maps/isochrones +``` + +[//]: # "partials.body" + +## Samples + +Samples are in the [`samples/`][homepage_samples] directory. Each sample's `README.md` has instructions for running its sample. + +[//]: # "samples" + +## Supported Node.js Versions + +Our client libraries follow the [Node.js release schedule](https://github.com/nodejs/release#release-schedule). +Libraries are compatible with all current _active_ and _maintenance_ versions of +Node.js. +If you are using an end-of-life version of Node.js, we recommend that you update +as soon as possible to an actively supported LTS version. + +Google's client libraries support legacy versions of Node.js runtimes on a +best-efforts basis with the following warnings: + +* Legacy versions are not tested in continuous integration. +* Some security patches and features cannot be backported. +* Dependencies cannot be kept up-to-date. + +Client libraries targeting some end-of-life versions of Node.js are available, and +can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). +The dist-tags follow the naming convention `legacy-(version)`. +For example, `npm install @google-maps/isochrones@legacy-8` installs client libraries +for versions compatible with Node.js 8. + +## Versioning + +This library follows [Semantic Versioning](http://semver.org/). + +More Information: [Google Cloud Platform Launch Stages][launch_stages] + +[launch_stages]: https://cloud.google.com/terms/launch-stages + +## Contributing + +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md). + +Please note that this `README.md` +and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`) +are generated from a central template. + +## License + +Apache Version 2.0 + +See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE) + +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png +[projects]: https://console.cloud.google.com/project +[billing]: https://support.google.com/cloud/answer/6293499#enable-billing +[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=isochrones.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/external/set-up-adc-local +[homepage_samples]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-isochrones/samples +[homepage_changelog]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-isochrones/CHANGELOG.md +[homepage]: https://github.com/googleapis/google-cloud-node/blob/main/packages/google-maps-isochrones diff --git a/packages/google-maps-isochrones/package.json b/packages/google-maps-isochrones/package.json new file mode 100644 index 000000000000..7f33d6f8549e --- /dev/null +++ b/packages/google-maps-isochrones/package.json @@ -0,0 +1,64 @@ +{ + "name": "@google-maps/isochrones", + "version": "0.1.0", + "description": "Isochrones client for Node.js", + "repository": { + "type": "git", + "directory": "packages/google-maps-isochrones", + "url": "https://github.com/googleapis/google-cloud-node.git" + }, + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-maps-isochrones", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google isochrones", + "isochrones", + "isochrone service" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha --config ../../.mocharc.cjs --no-parallel build/system-test", + "test": "c8 mocha --config ../../.mocharc.cjs build/test" + }, + "dependencies": { + "google-gax": "^5.0.0" + }, + "devDependencies": { + "@types/mocha": "^10.0.10", + "@types/node": "^22.18.12", + "@types/sinon": "^20.0.0", + "c8": "^10.1.3", + "gapic-tools": "^1.0.3", + "gts": "^6.0.2", + "jsdoc": "^4.0.5", + "jsdoc-fresh": "^5.0.2", + "jsdoc-region-tag": "^4.0.1", + "long": "^5.3.2", + "mocha": "^11.7.4", + "pack-n-play": "^4.2.1", + "typescript": "5.8.3", + "sinon": "^20.0.0" + }, + "engines": { + "node": ">=18" + } +} diff --git a/packages/google-maps-isochrones/protos/google/maps/isochrones/v1/isochrones_service.proto b/packages/google-maps-isochrones/protos/google/maps/isochrones/v1/isochrones_service.proto new file mode 100644 index 000000000000..b860d5399855 --- /dev/null +++ b/packages/google-maps-isochrones/protos/google/maps/isochrones/v1/isochrones_service.proto @@ -0,0 +1,175 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.maps.isochrones.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/type/latlng.proto"; + +option csharp_namespace = "Google.Maps.Isochrones.V1"; +option go_package = "cloud.google.com/go/maps/isochrones/apiv1/isochronespb;isochronespb"; +option java_multiple_files = true; +option java_outer_classname = "IsochronesServiceProto"; +option java_package = "com.google.maps.isochrones.v1"; +option objc_class_prefix = "GMPI"; +option php_namespace = "Google\\Maps\\Isochrones\\V1"; +option ruby_package = "Google::Maps::Isochrones::V1"; +option (google.api.resource_definition) = { + type: "places.googleapis.com/Place" + pattern: "places/{place_id}" +}; + +// Service for calculating isochrones. An isochrone is an area of reachability +// from a given origin point within a specified travel time. +service IsochroneService { + option (google.api.default_host) = "isochrones.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/maps-platform.isochrones"; + + // Calculates and returns a single isochrone for a given set of parameters. + rpc GenerateIsochrone(GenerateIsochroneRequest) + returns (GenerateIsochroneResponse) { + option (google.api.http) = { + post: "/v1/isochrones:generate" + body: "*" + }; + } +} + +// A request to generate a single isochrone. +message GenerateIsochroneRequest { + // Defines the mode of transportation for isochrone calculation. + enum TravelMode { + // No travel mode specified. + TRAVEL_MODE_UNSPECIFIED = 0; + + // Travel by passenger car. + DRIVE = 1; + + // Travel by bicycle. + BICYCLE = 2; + + // Travel by walking. + WALK = 3; + } + + // Specifies the direction of travel for the isochrone calculation. + enum TravelDirection { + // No travel direction specified. + TRAVEL_DIRECTION_UNSPECIFIED = 0; + + // Calculates the area reachable *from* the origin point. + // Example: "Where can I deliver to from my warehouse in 30 minutes?" + FROM = 1; + + // Calculates the area from which you can travel *to* the origin point. + // Example: "Where can my employees commute from to reach the office in 30 + // minutes?" + TO = 2; + } + + // Determines how traffic conditions are incorporated into the calculation. + enum RoutingPreference { + // No routing preference specified. The server will use its default, + // which is TRAFFIC_UNAWARE. + ROUTING_PREFERENCE_UNSPECIFIED = 0; + + // The calculation will not take traffic conditions into consideration. + // The isochrone will be based on the road network and static travel times. + // This is suitable for planning purposes where traffic is not a factor. + TRAFFIC_UNAWARE = 1; + + // The calculation will factor in live traffic conditions. + TRAFFIC_AWARE = 2; + } + + // Controls the level of detail in the isochrone polygon. + enum PolygonFidelity { + // No polygon fidelity specified. The server will use its default, which + // is based on the travel duration. + POLYGON_FIDELITY_UNSPECIFIED = 0; + + // Low precision. Good for covering large areas with fewer vertices. + LOW = 1; + + // Medium precision. A balance between detail and artifact size. + MEDIUM = 2; + + // High precision. High fidelity edges, but may produce holes in the polygon + // where the road network density is low. + HIGH = 3; + } + + // Required. The starting point for the isochrone calculation. + oneof origin { + // The origin as a latitude/longitude coordinate. + google.type.LatLng location = 1; + + // The resource name of a place, in the `places/{place_id}` format. + string place = 2 [ + (google.api.resource_reference) = { type: "places.googleapis.com/Place" } + ]; + } + + // Required. The travel time for the isochrone calculation. The value must + // be positive and is capped at 7200 seconds (120 minutes). + // For DRIVE mode, the maximum allowed duration is 3600 seconds (60 minutes). + google.protobuf.Duration travel_duration = 3 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The mode of transportation. + TravelMode travel_mode = 4 [(google.api.field_behavior) = REQUIRED]; + + // Required. The direction of travel. + TravelDirection travel_direction = 5 [(google.api.field_behavior) = REQUIRED]; + + // Optional. Specifies the preference for how to route. Defaults to + // TRAFFIC_UNAWARE. + RoutingPreference routing_preference = 6 + [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Specifies whether to smooth the edges of the resulting isochrone + // polygons. + bool enable_smoothing = 7 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Controls the precision of the generated polygon. + // Defaults to POLYGON_FIDELITY_UNSPECIFIED. + PolygonFidelity polygon_fidelity = 8 [(google.api.field_behavior) = OPTIONAL]; +} + +// A response containing the generated isochrone data. +message GenerateIsochroneResponse { + // Output only. The generated isochrone. + Isochrone isochrone = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// The result of an isochrone calculation, representing an area of reachability +// from an origin point within a specified travel time. +message Isochrone { + // The geometric representation of the isochrone. + oneof geometry { + // Output only. The isochrone geometry in GeoJSON format, using the RFC 7946 + // format: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6. + google.protobuf.Struct geo_json = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } +} diff --git a/packages/google-maps-isochrones/protos/protos.d.ts b/packages/google-maps-isochrones/protos/protos.d.ts new file mode 100644 index 000000000000..45c4d551c4fc --- /dev/null +++ b/packages/google-maps-isochrones/protos/protos.d.ts @@ -0,0 +1,7732 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); +/** Namespace google. */ +export namespace google { + + /** Namespace maps. */ + namespace maps { + + /** Namespace isochrones. */ + namespace isochrones { + + /** Namespace v1. */ + namespace v1 { + + /** Represents an IsochroneService */ + class IsochroneService extends $protobuf.rpc.Service { + + /** + * Constructs a new IsochroneService 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 IsochroneService 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): IsochroneService; + + /** + * Calls GenerateIsochrone. + * @param request GenerateIsochroneRequest message or plain object + * @param callback Node-style callback called with the error, if any, and GenerateIsochroneResponse + */ + public generateIsochrone(request: google.maps.isochrones.v1.IGenerateIsochroneRequest, callback: google.maps.isochrones.v1.IsochroneService.GenerateIsochroneCallback): void; + + /** + * Calls GenerateIsochrone. + * @param request GenerateIsochroneRequest message or plain object + * @returns Promise + */ + public generateIsochrone(request: google.maps.isochrones.v1.IGenerateIsochroneRequest): Promise; + } + + namespace IsochroneService { + + /** + * Callback as used by {@link google.maps.isochrones.v1.IsochroneService|generateIsochrone}. + * @param error Error, if any + * @param [response] GenerateIsochroneResponse + */ + type GenerateIsochroneCallback = (error: (Error|null), response?: google.maps.isochrones.v1.GenerateIsochroneResponse) => void; + } + + /** Properties of a GenerateIsochroneRequest. */ + interface IGenerateIsochroneRequest { + + /** GenerateIsochroneRequest location */ + location?: (google.type.ILatLng|null); + + /** GenerateIsochroneRequest place */ + place?: (string|null); + + /** GenerateIsochroneRequest travelDuration */ + travelDuration?: (google.protobuf.IDuration|null); + + /** GenerateIsochroneRequest travelMode */ + travelMode?: (google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode|null); + + /** GenerateIsochroneRequest travelDirection */ + travelDirection?: (google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection|null); + + /** GenerateIsochroneRequest routingPreference */ + routingPreference?: (google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference|null); + + /** GenerateIsochroneRequest enableSmoothing */ + enableSmoothing?: (boolean|null); + + /** GenerateIsochroneRequest polygonFidelity */ + polygonFidelity?: (google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity|null); + } + + /** Represents a GenerateIsochroneRequest. */ + class GenerateIsochroneRequest implements IGenerateIsochroneRequest { + + /** + * Constructs a new GenerateIsochroneRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.maps.isochrones.v1.IGenerateIsochroneRequest); + + /** GenerateIsochroneRequest location. */ + public location?: (google.type.ILatLng|null); + + /** GenerateIsochroneRequest place. */ + public place?: (string|null); + + /** GenerateIsochroneRequest travelDuration. */ + public travelDuration?: (google.protobuf.IDuration|null); + + /** GenerateIsochroneRequest travelMode. */ + public travelMode: (google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode); + + /** GenerateIsochroneRequest travelDirection. */ + public travelDirection: (google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection); + + /** GenerateIsochroneRequest routingPreference. */ + public routingPreference: (google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference); + + /** GenerateIsochroneRequest enableSmoothing. */ + public enableSmoothing: boolean; + + /** GenerateIsochroneRequest polygonFidelity. */ + public polygonFidelity: (google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity|keyof typeof google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity); + + /** GenerateIsochroneRequest origin. */ + public origin?: ("location"|"place"); + + /** + * Creates a new GenerateIsochroneRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateIsochroneRequest instance + */ + public static create(properties?: google.maps.isochrones.v1.IGenerateIsochroneRequest): google.maps.isochrones.v1.GenerateIsochroneRequest; + + /** + * Encodes the specified GenerateIsochroneRequest message. Does not implicitly {@link google.maps.isochrones.v1.GenerateIsochroneRequest.verify|verify} messages. + * @param message GenerateIsochroneRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.maps.isochrones.v1.IGenerateIsochroneRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateIsochroneRequest message, length delimited. Does not implicitly {@link google.maps.isochrones.v1.GenerateIsochroneRequest.verify|verify} messages. + * @param message GenerateIsochroneRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.maps.isochrones.v1.IGenerateIsochroneRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateIsochroneRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateIsochroneRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.maps.isochrones.v1.GenerateIsochroneRequest; + + /** + * Decodes a GenerateIsochroneRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateIsochroneRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.maps.isochrones.v1.GenerateIsochroneRequest; + + /** + * Verifies a GenerateIsochroneRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateIsochroneRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateIsochroneRequest + */ + public static fromObject(object: { [k: string]: any }): google.maps.isochrones.v1.GenerateIsochroneRequest; + + /** + * Creates a plain object from a GenerateIsochroneRequest message. Also converts values to other types if specified. + * @param message GenerateIsochroneRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.maps.isochrones.v1.GenerateIsochroneRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateIsochroneRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GenerateIsochroneRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GenerateIsochroneRequest { + + /** TravelMode enum. */ + enum TravelMode { + TRAVEL_MODE_UNSPECIFIED = 0, + DRIVE = 1, + BICYCLE = 2, + WALK = 3 + } + + /** TravelDirection enum. */ + enum TravelDirection { + TRAVEL_DIRECTION_UNSPECIFIED = 0, + FROM = 1, + TO = 2 + } + + /** RoutingPreference enum. */ + enum RoutingPreference { + ROUTING_PREFERENCE_UNSPECIFIED = 0, + TRAFFIC_UNAWARE = 1, + TRAFFIC_AWARE = 2 + } + + /** PolygonFidelity enum. */ + enum PolygonFidelity { + POLYGON_FIDELITY_UNSPECIFIED = 0, + LOW = 1, + MEDIUM = 2, + HIGH = 3 + } + } + + /** Properties of a GenerateIsochroneResponse. */ + interface IGenerateIsochroneResponse { + + /** GenerateIsochroneResponse isochrone */ + isochrone?: (google.maps.isochrones.v1.IIsochrone|null); + } + + /** Represents a GenerateIsochroneResponse. */ + class GenerateIsochroneResponse implements IGenerateIsochroneResponse { + + /** + * Constructs a new GenerateIsochroneResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.maps.isochrones.v1.IGenerateIsochroneResponse); + + /** GenerateIsochroneResponse isochrone. */ + public isochrone?: (google.maps.isochrones.v1.IIsochrone|null); + + /** + * Creates a new GenerateIsochroneResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateIsochroneResponse instance + */ + public static create(properties?: google.maps.isochrones.v1.IGenerateIsochroneResponse): google.maps.isochrones.v1.GenerateIsochroneResponse; + + /** + * Encodes the specified GenerateIsochroneResponse message. Does not implicitly {@link google.maps.isochrones.v1.GenerateIsochroneResponse.verify|verify} messages. + * @param message GenerateIsochroneResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.maps.isochrones.v1.IGenerateIsochroneResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateIsochroneResponse message, length delimited. Does not implicitly {@link google.maps.isochrones.v1.GenerateIsochroneResponse.verify|verify} messages. + * @param message GenerateIsochroneResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.maps.isochrones.v1.IGenerateIsochroneResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateIsochroneResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateIsochroneResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.maps.isochrones.v1.GenerateIsochroneResponse; + + /** + * Decodes a GenerateIsochroneResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateIsochroneResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.maps.isochrones.v1.GenerateIsochroneResponse; + + /** + * Verifies a GenerateIsochroneResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateIsochroneResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateIsochroneResponse + */ + public static fromObject(object: { [k: string]: any }): google.maps.isochrones.v1.GenerateIsochroneResponse; + + /** + * Creates a plain object from a GenerateIsochroneResponse message. Also converts values to other types if specified. + * @param message GenerateIsochroneResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.maps.isochrones.v1.GenerateIsochroneResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateIsochroneResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GenerateIsochroneResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Isochrone. */ + interface IIsochrone { + + /** Isochrone geoJson */ + geoJson?: (google.protobuf.IStruct|null); + } + + /** Represents an Isochrone. */ + class Isochrone implements IIsochrone { + + /** + * Constructs a new Isochrone. + * @param [properties] Properties to set + */ + constructor(properties?: google.maps.isochrones.v1.IIsochrone); + + /** Isochrone geoJson. */ + public geoJson?: (google.protobuf.IStruct|null); + + /** Isochrone geometry. */ + public geometry?: "geoJson"; + + /** + * Creates a new Isochrone instance using the specified properties. + * @param [properties] Properties to set + * @returns Isochrone instance + */ + public static create(properties?: google.maps.isochrones.v1.IIsochrone): google.maps.isochrones.v1.Isochrone; + + /** + * Encodes the specified Isochrone message. Does not implicitly {@link google.maps.isochrones.v1.Isochrone.verify|verify} messages. + * @param message Isochrone message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.maps.isochrones.v1.IIsochrone, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Isochrone message, length delimited. Does not implicitly {@link google.maps.isochrones.v1.Isochrone.verify|verify} messages. + * @param message Isochrone message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.maps.isochrones.v1.IIsochrone, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Isochrone message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Isochrone + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.maps.isochrones.v1.Isochrone; + + /** + * Decodes an Isochrone message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Isochrone + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.maps.isochrones.v1.Isochrone; + + /** + * Verifies an Isochrone message. + * @param message Plain 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 Isochrone message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Isochrone + */ + public static fromObject(object: { [k: string]: any }): google.maps.isochrones.v1.Isochrone; + + /** + * Creates a plain object from an Isochrone message. Also converts values to other types if specified. + * @param message Isochrone + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.maps.isochrones.v1.Isochrone, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Isochrone to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Isochrone + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + } + } + + /** Namespace api. */ + namespace api { + + /** Properties of a Http. */ + interface IHttp { + + /** Http rules */ + rules?: (google.api.IHttpRule[]|null); + + /** Http fullyDecodeReservedExpansion */ + fullyDecodeReservedExpansion?: (boolean|null); + } + + /** Represents a Http. */ + class Http implements IHttp { + + /** + * Constructs a new Http. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttp); + + /** Http rules. */ + public rules: google.api.IHttpRule[]; + + /** Http fullyDecodeReservedExpansion. */ + public fullyDecodeReservedExpansion: boolean; + + /** + * Creates a new Http instance using the specified properties. + * @param [properties] Properties to set + * @returns Http instance + */ + public static create(properties?: google.api.IHttp): google.api.Http; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Http message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http; + + /** + * Verifies a Http message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Http + */ + public static fromObject(object: { [k: string]: any }): google.api.Http; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @param message Http + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Http to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Http + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a HttpRule. */ + interface IHttpRule { + + /** HttpRule selector */ + selector?: (string|null); + + /** HttpRule get */ + get?: (string|null); + + /** HttpRule put */ + put?: (string|null); + + /** HttpRule post */ + post?: (string|null); + + /** HttpRule delete */ + "delete"?: (string|null); + + /** HttpRule patch */ + patch?: (string|null); + + /** HttpRule custom */ + custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body */ + body?: (string|null); + + /** HttpRule responseBody */ + responseBody?: (string|null); + + /** HttpRule additionalBindings */ + additionalBindings?: (google.api.IHttpRule[]|null); + } + + /** Represents a HttpRule. */ + class HttpRule implements IHttpRule { + + /** + * Constructs a new HttpRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttpRule); + + /** HttpRule selector. */ + public selector: string; + + /** HttpRule get. */ + public get?: (string|null); + + /** HttpRule put. */ + public put?: (string|null); + + /** HttpRule post. */ + public post?: (string|null); + + /** HttpRule delete. */ + public delete?: (string|null); + + /** HttpRule patch. */ + public patch?: (string|null); + + /** HttpRule custom. */ + public custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body. */ + public body: string; + + /** HttpRule responseBody. */ + public responseBody: string; + + /** HttpRule additionalBindings. */ + public additionalBindings: google.api.IHttpRule[]; + + /** HttpRule pattern. */ + public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom"); + + /** + * Creates a new HttpRule instance using the specified properties. + * @param [properties] Properties to set + * @returns HttpRule instance + */ + public static create(properties?: google.api.IHttpRule): google.api.HttpRule; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule; + + /** + * Verifies a HttpRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HttpRule + */ + public static fromObject(object: { [k: string]: any }): google.api.HttpRule; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @param message HttpRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HttpRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HttpRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CustomHttpPattern. */ + interface ICustomHttpPattern { + + /** CustomHttpPattern kind */ + kind?: (string|null); + + /** CustomHttpPattern path */ + path?: (string|null); + } + + /** Represents a CustomHttpPattern. */ + class CustomHttpPattern implements ICustomHttpPattern { + + /** + * Constructs a new CustomHttpPattern. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICustomHttpPattern); + + /** CustomHttpPattern kind. */ + public kind: string; + + /** CustomHttpPattern path. */ + public path: string; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomHttpPattern instance + */ + public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern; + + /** + * Verifies a CustomHttpPattern message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomHttpPattern + */ + public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @param message CustomHttpPattern + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomHttpPattern to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomHttpPattern + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CommonLanguageSettings. */ + interface ICommonLanguageSettings { + + /** CommonLanguageSettings referenceDocsUri */ + referenceDocsUri?: (string|null); + + /** CommonLanguageSettings destinations */ + destinations?: (google.api.ClientLibraryDestination[]|null); + + /** CommonLanguageSettings selectiveGapicGeneration */ + selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + } + + /** Represents a CommonLanguageSettings. */ + class CommonLanguageSettings implements ICommonLanguageSettings { + + /** + * Constructs a new CommonLanguageSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICommonLanguageSettings); + + /** CommonLanguageSettings referenceDocsUri. */ + public referenceDocsUri: string; + + /** CommonLanguageSettings destinations. */ + public destinations: google.api.ClientLibraryDestination[]; + + /** CommonLanguageSettings selectiveGapicGeneration. */ + public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null); + + /** + * Creates a new CommonLanguageSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns CommonLanguageSettings instance + */ + public static create(properties?: google.api.ICommonLanguageSettings): google.api.CommonLanguageSettings; + + /** + * Encodes the specified CommonLanguageSettings message. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @param message CommonLanguageSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CommonLanguageSettings message, length delimited. Does not implicitly {@link google.api.CommonLanguageSettings.verify|verify} messages. + * @param message CommonLanguageSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICommonLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CommonLanguageSettings; + + /** + * Decodes a CommonLanguageSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CommonLanguageSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CommonLanguageSettings; + + /** + * Verifies a CommonLanguageSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CommonLanguageSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CommonLanguageSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.CommonLanguageSettings; + + /** + * Creates a plain object from a CommonLanguageSettings message. Also converts values to other types if specified. + * @param message CommonLanguageSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CommonLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CommonLanguageSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CommonLanguageSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ClientLibrarySettings. */ + interface IClientLibrarySettings { + + /** ClientLibrarySettings version */ + version?: (string|null); + + /** ClientLibrarySettings launchStage */ + launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null); + + /** ClientLibrarySettings restNumericEnums */ + restNumericEnums?: (boolean|null); + + /** ClientLibrarySettings javaSettings */ + javaSettings?: (google.api.IJavaSettings|null); + + /** ClientLibrarySettings cppSettings */ + cppSettings?: (google.api.ICppSettings|null); + + /** ClientLibrarySettings phpSettings */ + phpSettings?: (google.api.IPhpSettings|null); + + /** ClientLibrarySettings pythonSettings */ + pythonSettings?: (google.api.IPythonSettings|null); + + /** ClientLibrarySettings nodeSettings */ + nodeSettings?: (google.api.INodeSettings|null); + + /** ClientLibrarySettings dotnetSettings */ + dotnetSettings?: (google.api.IDotnetSettings|null); + + /** ClientLibrarySettings rubySettings */ + rubySettings?: (google.api.IRubySettings|null); + + /** ClientLibrarySettings goSettings */ + goSettings?: (google.api.IGoSettings|null); + } + + /** Represents a ClientLibrarySettings. */ + class ClientLibrarySettings implements IClientLibrarySettings { + + /** + * Constructs a new ClientLibrarySettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IClientLibrarySettings); + + /** ClientLibrarySettings version. */ + public version: string; + + /** ClientLibrarySettings launchStage. */ + public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage); + + /** ClientLibrarySettings restNumericEnums. */ + public restNumericEnums: boolean; + + /** ClientLibrarySettings javaSettings. */ + public javaSettings?: (google.api.IJavaSettings|null); + + /** ClientLibrarySettings cppSettings. */ + public cppSettings?: (google.api.ICppSettings|null); + + /** ClientLibrarySettings phpSettings. */ + public phpSettings?: (google.api.IPhpSettings|null); + + /** ClientLibrarySettings pythonSettings. */ + public pythonSettings?: (google.api.IPythonSettings|null); + + /** ClientLibrarySettings nodeSettings. */ + public nodeSettings?: (google.api.INodeSettings|null); + + /** ClientLibrarySettings dotnetSettings. */ + public dotnetSettings?: (google.api.IDotnetSettings|null); + + /** ClientLibrarySettings rubySettings. */ + public rubySettings?: (google.api.IRubySettings|null); + + /** ClientLibrarySettings goSettings. */ + public goSettings?: (google.api.IGoSettings|null); + + /** + * Creates a new ClientLibrarySettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ClientLibrarySettings instance + */ + public static create(properties?: google.api.IClientLibrarySettings): google.api.ClientLibrarySettings; + + /** + * Encodes the specified ClientLibrarySettings message. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @param message ClientLibrarySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ClientLibrarySettings message, length delimited. Does not implicitly {@link google.api.ClientLibrarySettings.verify|verify} messages. + * @param message ClientLibrarySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IClientLibrarySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ClientLibrarySettings; + + /** + * Decodes a ClientLibrarySettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ClientLibrarySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ClientLibrarySettings; + + /** + * Verifies a ClientLibrarySettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ClientLibrarySettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ClientLibrarySettings + */ + public static fromObject(object: { [k: string]: any }): google.api.ClientLibrarySettings; + + /** + * Creates a plain object from a ClientLibrarySettings message. Also converts values to other types if specified. + * @param message ClientLibrarySettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ClientLibrarySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ClientLibrarySettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ClientLibrarySettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Publishing. */ + interface IPublishing { + + /** Publishing methodSettings */ + methodSettings?: (google.api.IMethodSettings[]|null); + + /** Publishing newIssueUri */ + newIssueUri?: (string|null); + + /** Publishing documentationUri */ + documentationUri?: (string|null); + + /** Publishing apiShortName */ + apiShortName?: (string|null); + + /** Publishing githubLabel */ + githubLabel?: (string|null); + + /** Publishing codeownerGithubTeams */ + codeownerGithubTeams?: (string[]|null); + + /** Publishing docTagPrefix */ + docTagPrefix?: (string|null); + + /** Publishing organization */ + organization?: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization|null); + + /** Publishing librarySettings */ + librarySettings?: (google.api.IClientLibrarySettings[]|null); + + /** Publishing protoReferenceDocumentationUri */ + protoReferenceDocumentationUri?: (string|null); + + /** Publishing restReferenceDocumentationUri */ + restReferenceDocumentationUri?: (string|null); + } + + /** Represents a Publishing. */ + class Publishing implements IPublishing { + + /** + * Constructs a new Publishing. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPublishing); + + /** Publishing methodSettings. */ + public methodSettings: google.api.IMethodSettings[]; + + /** Publishing newIssueUri. */ + public newIssueUri: string; + + /** Publishing documentationUri. */ + public documentationUri: string; + + /** Publishing apiShortName. */ + public apiShortName: string; + + /** Publishing githubLabel. */ + public githubLabel: string; + + /** Publishing codeownerGithubTeams. */ + public codeownerGithubTeams: string[]; + + /** Publishing docTagPrefix. */ + public docTagPrefix: string; + + /** Publishing organization. */ + public organization: (google.api.ClientLibraryOrganization|keyof typeof google.api.ClientLibraryOrganization); + + /** Publishing librarySettings. */ + public librarySettings: google.api.IClientLibrarySettings[]; + + /** Publishing protoReferenceDocumentationUri. */ + public protoReferenceDocumentationUri: string; + + /** Publishing restReferenceDocumentationUri. */ + public restReferenceDocumentationUri: string; + + /** + * Creates a new Publishing instance using the specified properties. + * @param [properties] Properties to set + * @returns Publishing instance + */ + public static create(properties?: google.api.IPublishing): google.api.Publishing; + + /** + * Encodes the specified Publishing message. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @param message Publishing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Publishing message, length delimited. Does not implicitly {@link google.api.Publishing.verify|verify} messages. + * @param message Publishing message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPublishing, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Publishing message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Publishing; + + /** + * Decodes a Publishing message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Publishing + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Publishing; + + /** + * Verifies a Publishing message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Publishing message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Publishing + */ + public static fromObject(object: { [k: string]: any }): google.api.Publishing; + + /** + * Creates a plain object from a Publishing message. Also converts values to other types if specified. + * @param message Publishing + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Publishing, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Publishing to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Publishing + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a JavaSettings. */ + interface IJavaSettings { + + /** JavaSettings libraryPackage */ + libraryPackage?: (string|null); + + /** JavaSettings serviceClassNames */ + serviceClassNames?: ({ [k: string]: string }|null); + + /** JavaSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a JavaSettings. */ + class JavaSettings implements IJavaSettings { + + /** + * Constructs a new JavaSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IJavaSettings); + + /** JavaSettings libraryPackage. */ + public libraryPackage: string; + + /** JavaSettings serviceClassNames. */ + public serviceClassNames: { [k: string]: string }; + + /** JavaSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new JavaSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns JavaSettings instance + */ + public static create(properties?: google.api.IJavaSettings): google.api.JavaSettings; + + /** + * Encodes the specified JavaSettings message. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @param message JavaSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified JavaSettings message, length delimited. Does not implicitly {@link google.api.JavaSettings.verify|verify} messages. + * @param message JavaSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IJavaSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a JavaSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.JavaSettings; + + /** + * Decodes a JavaSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns JavaSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.JavaSettings; + + /** + * Verifies a JavaSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a JavaSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns JavaSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.JavaSettings; + + /** + * Creates a plain object from a JavaSettings message. Also converts values to other types if specified. + * @param message JavaSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.JavaSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this JavaSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for JavaSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CppSettings. */ + interface ICppSettings { + + /** CppSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a CppSettings. */ + class CppSettings implements ICppSettings { + + /** + * Constructs a new CppSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICppSettings); + + /** CppSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new CppSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns CppSettings instance + */ + public static create(properties?: google.api.ICppSettings): google.api.CppSettings; + + /** + * Encodes the specified CppSettings message. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @param message CppSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CppSettings message, length delimited. Does not implicitly {@link google.api.CppSettings.verify|verify} messages. + * @param message CppSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICppSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CppSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CppSettings; + + /** + * Decodes a CppSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CppSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CppSettings; + + /** + * Verifies a CppSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CppSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CppSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.CppSettings; + + /** + * Creates a plain object from a CppSettings message. Also converts values to other types if specified. + * @param message CppSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CppSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CppSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CppSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PhpSettings. */ + interface IPhpSettings { + + /** PhpSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a PhpSettings. */ + class PhpSettings implements IPhpSettings { + + /** + * Constructs a new PhpSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPhpSettings); + + /** PhpSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new PhpSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns PhpSettings instance + */ + public static create(properties?: google.api.IPhpSettings): google.api.PhpSettings; + + /** + * Encodes the specified PhpSettings message. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @param message PhpSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PhpSettings message, length delimited. Does not implicitly {@link google.api.PhpSettings.verify|verify} messages. + * @param message PhpSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPhpSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PhpSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PhpSettings; + + /** + * Decodes a PhpSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PhpSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PhpSettings; + + /** + * Verifies a PhpSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PhpSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PhpSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.PhpSettings; + + /** + * Creates a plain object from a PhpSettings message. Also converts values to other types if specified. + * @param message PhpSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PhpSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PhpSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PhpSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PythonSettings. */ + interface IPythonSettings { + + /** PythonSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures */ + experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + } + + /** Represents a PythonSettings. */ + class PythonSettings implements IPythonSettings { + + /** + * Constructs a new PythonSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPythonSettings); + + /** PythonSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** PythonSettings experimentalFeatures. */ + public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null); + + /** + * Creates a new PythonSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns PythonSettings instance + */ + public static create(properties?: google.api.IPythonSettings): google.api.PythonSettings; + + /** + * Encodes the specified PythonSettings message. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @param message PythonSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PythonSettings message, length delimited. Does not implicitly {@link google.api.PythonSettings.verify|verify} messages. + * @param message PythonSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPythonSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PythonSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings; + + /** + * Decodes a PythonSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PythonSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings; + + /** + * Verifies a PythonSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PythonSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PythonSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings; + + /** + * Creates a plain object from a PythonSettings message. Also converts values to other types if specified. + * @param message PythonSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PythonSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PythonSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace PythonSettings { + + /** Properties of an ExperimentalFeatures. */ + interface IExperimentalFeatures { + + /** ExperimentalFeatures restAsyncIoEnabled */ + restAsyncIoEnabled?: (boolean|null); + + /** ExperimentalFeatures protobufPythonicTypesEnabled */ + protobufPythonicTypesEnabled?: (boolean|null); + + /** ExperimentalFeatures unversionedPackageDisabled */ + unversionedPackageDisabled?: (boolean|null); + } + + /** Represents an ExperimentalFeatures. */ + class ExperimentalFeatures implements IExperimentalFeatures { + + /** + * Constructs a new ExperimentalFeatures. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.PythonSettings.IExperimentalFeatures); + + /** ExperimentalFeatures restAsyncIoEnabled. */ + public restAsyncIoEnabled: boolean; + + /** ExperimentalFeatures protobufPythonicTypesEnabled. */ + public protobufPythonicTypesEnabled: boolean; + + /** ExperimentalFeatures unversionedPackageDisabled. */ + public unversionedPackageDisabled: boolean; + + /** + * Creates a new ExperimentalFeatures instance using the specified properties. + * @param [properties] Properties to set + * @returns ExperimentalFeatures instance + */ + public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages. + * @param message ExperimentalFeatures message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExperimentalFeatures + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Verifies an ExperimentalFeatures message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExperimentalFeatures + */ + public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures; + + /** + * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified. + * @param message ExperimentalFeatures + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExperimentalFeatures to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExperimentalFeatures + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a NodeSettings. */ + interface INodeSettings { + + /** NodeSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a NodeSettings. */ + class NodeSettings implements INodeSettings { + + /** + * Constructs a new NodeSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.INodeSettings); + + /** NodeSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new NodeSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns NodeSettings instance + */ + public static create(properties?: google.api.INodeSettings): google.api.NodeSettings; + + /** + * Encodes the specified NodeSettings message. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @param message NodeSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NodeSettings message, length delimited. Does not implicitly {@link google.api.NodeSettings.verify|verify} messages. + * @param message NodeSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.INodeSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NodeSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.NodeSettings; + + /** + * Decodes a NodeSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NodeSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.NodeSettings; + + /** + * Verifies a NodeSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NodeSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NodeSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.NodeSettings; + + /** + * Creates a plain object from a NodeSettings message. Also converts values to other types if specified. + * @param message NodeSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.NodeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NodeSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NodeSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DotnetSettings. */ + interface IDotnetSettings { + + /** DotnetSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + + /** DotnetSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); + + /** DotnetSettings renamedResources */ + renamedResources?: ({ [k: string]: string }|null); + + /** DotnetSettings ignoredResources */ + ignoredResources?: (string[]|null); + + /** DotnetSettings forcedNamespaceAliases */ + forcedNamespaceAliases?: (string[]|null); + + /** DotnetSettings handwrittenSignatures */ + handwrittenSignatures?: (string[]|null); + } + + /** Represents a DotnetSettings. */ + class DotnetSettings implements IDotnetSettings { + + /** + * Constructs a new DotnetSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IDotnetSettings); + + /** DotnetSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** DotnetSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + + /** DotnetSettings renamedResources. */ + public renamedResources: { [k: string]: string }; + + /** DotnetSettings ignoredResources. */ + public ignoredResources: string[]; + + /** DotnetSettings forcedNamespaceAliases. */ + public forcedNamespaceAliases: string[]; + + /** DotnetSettings handwrittenSignatures. */ + public handwrittenSignatures: string[]; + + /** + * Creates a new DotnetSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DotnetSettings instance + */ + public static create(properties?: google.api.IDotnetSettings): google.api.DotnetSettings; + + /** + * Encodes the specified DotnetSettings message. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @param message DotnetSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DotnetSettings message, length delimited. Does not implicitly {@link google.api.DotnetSettings.verify|verify} messages. + * @param message DotnetSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IDotnetSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.DotnetSettings; + + /** + * Decodes a DotnetSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DotnetSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.DotnetSettings; + + /** + * Verifies a DotnetSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DotnetSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DotnetSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.DotnetSettings; + + /** + * Creates a plain object from a DotnetSettings message. Also converts values to other types if specified. + * @param message DotnetSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.DotnetSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DotnetSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DotnetSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RubySettings. */ + interface IRubySettings { + + /** RubySettings common */ + common?: (google.api.ICommonLanguageSettings|null); + } + + /** Represents a RubySettings. */ + class RubySettings implements IRubySettings { + + /** + * Constructs a new RubySettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IRubySettings); + + /** RubySettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** + * Creates a new RubySettings instance using the specified properties. + * @param [properties] Properties to set + * @returns RubySettings instance + */ + public static create(properties?: google.api.IRubySettings): google.api.RubySettings; + + /** + * Encodes the specified RubySettings message. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @param message RubySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RubySettings message, length delimited. Does not implicitly {@link google.api.RubySettings.verify|verify} messages. + * @param message RubySettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IRubySettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RubySettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.RubySettings; + + /** + * Decodes a RubySettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RubySettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.RubySettings; + + /** + * Verifies a RubySettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RubySettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RubySettings + */ + public static fromObject(object: { [k: string]: any }): google.api.RubySettings; + + /** + * Creates a plain object from a RubySettings message. Also converts values to other types if specified. + * @param message RubySettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.RubySettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RubySettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RubySettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GoSettings. */ + interface IGoSettings { + + /** GoSettings common */ + common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices */ + renamedServices?: ({ [k: string]: string }|null); + } + + /** Represents a GoSettings. */ + class GoSettings implements IGoSettings { + + /** + * Constructs a new GoSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IGoSettings); + + /** GoSettings common. */ + public common?: (google.api.ICommonLanguageSettings|null); + + /** GoSettings renamedServices. */ + public renamedServices: { [k: string]: string }; + + /** + * Creates a new GoSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns GoSettings instance + */ + public static create(properties?: google.api.IGoSettings): google.api.GoSettings; + + /** + * Encodes the specified GoSettings message. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @param message GoSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GoSettings message, length delimited. Does not implicitly {@link google.api.GoSettings.verify|verify} messages. + * @param message GoSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IGoSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GoSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.GoSettings; + + /** + * Decodes a GoSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GoSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.GoSettings; + + /** + * Verifies a GoSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GoSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GoSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.GoSettings; + + /** + * Creates a plain object from a GoSettings message. Also converts values to other types if specified. + * @param message GoSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.GoSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GoSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GoSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodSettings. */ + interface IMethodSettings { + + /** MethodSettings selector */ + selector?: (string|null); + + /** MethodSettings longRunning */ + longRunning?: (google.api.MethodSettings.ILongRunning|null); + + /** MethodSettings autoPopulatedFields */ + autoPopulatedFields?: (string[]|null); + } + + /** Represents a MethodSettings. */ + class MethodSettings implements IMethodSettings { + + /** + * Constructs a new MethodSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMethodSettings); + + /** MethodSettings selector. */ + public selector: string; + + /** MethodSettings longRunning. */ + public longRunning?: (google.api.MethodSettings.ILongRunning|null); + + /** MethodSettings autoPopulatedFields. */ + public autoPopulatedFields: string[]; + + /** + * Creates a new MethodSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodSettings instance + */ + public static create(properties?: google.api.IMethodSettings): google.api.MethodSettings; + + /** + * Encodes the specified MethodSettings message. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @param message MethodSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodSettings message, length delimited. Does not implicitly {@link google.api.MethodSettings.verify|verify} messages. + * @param message MethodSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMethodSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings; + + /** + * Decodes a MethodSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings; + + /** + * Verifies a MethodSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodSettings + */ + public static fromObject(object: { [k: string]: any }): google.api.MethodSettings; + + /** + * Creates a plain object from a MethodSettings message. Also converts values to other types if specified. + * @param message MethodSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MethodSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodSettings { + + /** Properties of a LongRunning. */ + interface ILongRunning { + + /** LongRunning initialPollDelay */ + initialPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning pollDelayMultiplier */ + pollDelayMultiplier?: (number|null); + + /** LongRunning maxPollDelay */ + maxPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning totalPollTimeout */ + totalPollTimeout?: (google.protobuf.IDuration|null); + } + + /** Represents a LongRunning. */ + class LongRunning implements ILongRunning { + + /** + * Constructs a new LongRunning. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.MethodSettings.ILongRunning); + + /** LongRunning initialPollDelay. */ + public initialPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning pollDelayMultiplier. */ + public pollDelayMultiplier: number; + + /** LongRunning maxPollDelay. */ + public maxPollDelay?: (google.protobuf.IDuration|null); + + /** LongRunning totalPollTimeout. */ + public totalPollTimeout?: (google.protobuf.IDuration|null); + + /** + * Creates a new LongRunning instance using the specified properties. + * @param [properties] Properties to set + * @returns LongRunning instance + */ + public static create(properties?: google.api.MethodSettings.ILongRunning): google.api.MethodSettings.LongRunning; + + /** + * Encodes the specified LongRunning message. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @param message LongRunning message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LongRunning message, length delimited. Does not implicitly {@link google.api.MethodSettings.LongRunning.verify|verify} messages. + * @param message LongRunning message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.MethodSettings.ILongRunning, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LongRunning message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MethodSettings.LongRunning; + + /** + * Decodes a LongRunning message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LongRunning + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MethodSettings.LongRunning; + + /** + * Verifies a LongRunning message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LongRunning message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LongRunning + */ + public static fromObject(object: { [k: string]: any }): google.api.MethodSettings.LongRunning; + + /** + * Creates a plain object from a LongRunning message. Also converts values to other types if specified. + * @param message LongRunning + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MethodSettings.LongRunning, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LongRunning to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LongRunning + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** ClientLibraryOrganization enum. */ + enum ClientLibraryOrganization { + CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED = 0, + CLOUD = 1, + ADS = 2, + PHOTOS = 3, + STREET_VIEW = 4, + SHOPPING = 5, + GEO = 6, + GENERATIVE_AI = 7 + } + + /** ClientLibraryDestination enum. */ + enum ClientLibraryDestination { + CLIENT_LIBRARY_DESTINATION_UNSPECIFIED = 0, + GITHUB = 10, + PACKAGE_MANAGER = 20 + } + + /** Properties of a SelectiveGapicGeneration. */ + interface ISelectiveGapicGeneration { + + /** SelectiveGapicGeneration methods */ + methods?: (string[]|null); + + /** SelectiveGapicGeneration generateOmittedAsInternal */ + generateOmittedAsInternal?: (boolean|null); + } + + /** Represents a SelectiveGapicGeneration. */ + class SelectiveGapicGeneration implements ISelectiveGapicGeneration { + + /** + * Constructs a new SelectiveGapicGeneration. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ISelectiveGapicGeneration); + + /** SelectiveGapicGeneration methods. */ + public methods: string[]; + + /** SelectiveGapicGeneration generateOmittedAsInternal. */ + public generateOmittedAsInternal: boolean; + + /** + * Creates a new SelectiveGapicGeneration instance using the specified properties. + * @param [properties] Properties to set + * @returns SelectiveGapicGeneration instance + */ + public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration; + + /** + * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages. + * @param message SelectiveGapicGeneration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration; + + /** + * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SelectiveGapicGeneration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration; + + /** + * Verifies a SelectiveGapicGeneration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SelectiveGapicGeneration + */ + public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration; + + /** + * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified. + * @param message SelectiveGapicGeneration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SelectiveGapicGeneration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SelectiveGapicGeneration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** LaunchStage enum. */ + enum LaunchStage { + LAUNCH_STAGE_UNSPECIFIED = 0, + UNIMPLEMENTED = 6, + PRELAUNCH = 7, + EARLY_ACCESS = 1, + ALPHA = 2, + BETA = 3, + GA = 4, + DEPRECATED = 5 + } + + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7, + IDENTIFIER = 8 + } + + /** Properties of a ResourceDescriptor. */ + interface IResourceDescriptor { + + /** ResourceDescriptor type */ + type?: (string|null); + + /** ResourceDescriptor pattern */ + pattern?: (string[]|null); + + /** ResourceDescriptor nameField */ + nameField?: (string|null); + + /** ResourceDescriptor history */ + history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null); + + /** ResourceDescriptor plural */ + plural?: (string|null); + + /** ResourceDescriptor singular */ + singular?: (string|null); + + /** ResourceDescriptor style */ + style?: (google.api.ResourceDescriptor.Style[]|null); + } + + /** Represents a ResourceDescriptor. */ + class ResourceDescriptor implements IResourceDescriptor { + + /** + * Constructs a new ResourceDescriptor. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceDescriptor); + + /** ResourceDescriptor type. */ + public type: string; + + /** ResourceDescriptor pattern. */ + public pattern: string[]; + + /** ResourceDescriptor nameField. */ + public nameField: string; + + /** ResourceDescriptor history. */ + public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History); + + /** ResourceDescriptor plural. */ + public plural: string; + + /** ResourceDescriptor singular. */ + public singular: string; + + /** ResourceDescriptor style. */ + public style: google.api.ResourceDescriptor.Style[]; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceDescriptor instance + */ + public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor; + + /** + * Verifies a ResourceDescriptor message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceDescriptor + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @param message ResourceDescriptor + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceDescriptor to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceDescriptor + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ResourceDescriptor { + + /** History enum. */ + enum History { + HISTORY_UNSPECIFIED = 0, + ORIGINALLY_SINGLE_PATTERN = 1, + FUTURE_MULTI_PATTERN = 2 + } + + /** Style enum. */ + enum Style { + STYLE_UNSPECIFIED = 0, + DECLARATIVE_FRIENDLY = 1 + } + } + + /** Properties of a ResourceReference. */ + interface IResourceReference { + + /** ResourceReference type */ + type?: (string|null); + + /** ResourceReference childType */ + childType?: (string|null); + } + + /** Represents a ResourceReference. */ + class ResourceReference implements IResourceReference { + + /** + * Constructs a new ResourceReference. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceReference); + + /** ResourceReference type. */ + public type: string; + + /** ResourceReference childType. */ + public childType: string; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceReference instance + */ + public static create(properties?: google.api.IResourceReference): google.api.ResourceReference; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference; + + /** + * Verifies a ResourceReference message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceReference + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceReference; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @param message ResourceReference + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceReference to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceReference + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a FileDescriptorSet. */ + interface IFileDescriptorSet { + + /** FileDescriptorSet file */ + file?: (google.protobuf.IFileDescriptorProto[]|null); + } + + /** Represents a FileDescriptorSet. */ + class FileDescriptorSet implements IFileDescriptorSet { + + /** + * Constructs a new FileDescriptorSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorSet); + + /** FileDescriptorSet file. */ + public file: google.protobuf.IFileDescriptorProto[]; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorSet instance + */ + public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + + /** + * Verifies a FileDescriptorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @param message FileDescriptorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Edition enum. */ + enum Edition { + EDITION_UNKNOWN = 0, + EDITION_LEGACY = 900, + EDITION_PROTO2 = 998, + EDITION_PROTO3 = 999, + EDITION_2023 = 1000, + EDITION_2024 = 1001, + EDITION_1_TEST_ONLY = 1, + EDITION_2_TEST_ONLY = 2, + EDITION_99997_TEST_ONLY = 99997, + EDITION_99998_TEST_ONLY = 99998, + EDITION_99999_TEST_ONLY = 99999, + EDITION_MAX = 2147483647 + } + + /** Properties of a FileDescriptorProto. */ + interface IFileDescriptorProto { + + /** FileDescriptorProto name */ + name?: (string|null); + + /** FileDescriptorProto package */ + "package"?: (string|null); + + /** FileDescriptorProto dependency */ + dependency?: (string[]|null); + + /** FileDescriptorProto publicDependency */ + publicDependency?: (number[]|null); + + /** FileDescriptorProto weakDependency */ + weakDependency?: (number[]|null); + + /** FileDescriptorProto optionDependency */ + optionDependency?: (string[]|null); + + /** FileDescriptorProto messageType */ + messageType?: (google.protobuf.IDescriptorProto[]|null); + + /** FileDescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** FileDescriptorProto service */ + service?: (google.protobuf.IServiceDescriptorProto[]|null); + + /** FileDescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** FileDescriptorProto options */ + options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo */ + sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax */ + syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FileDescriptorProto. */ + class FileDescriptorProto implements IFileDescriptorProto { + + /** + * Constructs a new FileDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorProto); + + /** FileDescriptorProto name. */ + public name: string; + + /** FileDescriptorProto package. */ + public package: string; + + /** FileDescriptorProto dependency. */ + public dependency: string[]; + + /** FileDescriptorProto publicDependency. */ + public publicDependency: number[]; + + /** FileDescriptorProto weakDependency. */ + public weakDependency: number[]; + + /** FileDescriptorProto optionDependency. */ + public optionDependency: string[]; + + /** FileDescriptorProto messageType. */ + public messageType: google.protobuf.IDescriptorProto[]; + + /** FileDescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** FileDescriptorProto service. */ + public service: google.protobuf.IServiceDescriptorProto[]; + + /** FileDescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** FileDescriptorProto options. */ + public options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo. */ + public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax. */ + public syntax: string; + + /** FileDescriptorProto edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + + /** + * Verifies a FileDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @param message FileDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DescriptorProto. */ + interface IDescriptorProto { + + /** DescriptorProto name */ + name?: (string|null); + + /** DescriptorProto field */ + field?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto nestedType */ + nestedType?: (google.protobuf.IDescriptorProto[]|null); + + /** DescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** DescriptorProto extensionRange */ + extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); + + /** DescriptorProto oneofDecl */ + oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + + /** DescriptorProto options */ + options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange */ + reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + + /** DescriptorProto reservedName */ + reservedName?: (string[]|null); + + /** DescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); + } + + /** Represents a DescriptorProto. */ + class DescriptorProto implements IDescriptorProto { + + /** + * Constructs a new DescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDescriptorProto); + + /** DescriptorProto name. */ + public name: string; + + /** DescriptorProto field. */ + public field: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto nestedType. */ + public nestedType: google.protobuf.IDescriptorProto[]; + + /** DescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** DescriptorProto extensionRange. */ + public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + + /** DescriptorProto oneofDecl. */ + public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + + /** DescriptorProto options. */ + public options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange. */ + public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + + /** DescriptorProto reservedName. */ + public reservedName: string[]; + + /** DescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns DescriptorProto instance + */ + public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + + /** + * Verifies a DescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @param message DescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DescriptorProto { + + /** Properties of an ExtensionRange. */ + interface IExtensionRange { + + /** ExtensionRange start */ + start?: (number|null); + + /** ExtensionRange end */ + end?: (number|null); + + /** ExtensionRange options */ + options?: (google.protobuf.IExtensionRangeOptions|null); + } + + /** Represents an ExtensionRange. */ + class ExtensionRange implements IExtensionRange { + + /** + * Constructs a new ExtensionRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); + + /** ExtensionRange start. */ + public start: number; + + /** ExtensionRange end. */ + public end: number; + + /** ExtensionRange options. */ + public options?: (google.protobuf.IExtensionRangeOptions|null); + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Verifies an ExtensionRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @param message ExtensionRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ReservedRange. */ + interface IReservedRange { + + /** ReservedRange start */ + start?: (number|null); + + /** ReservedRange end */ + end?: (number|null); + } + + /** Represents a ReservedRange. */ + class ReservedRange implements IReservedRange { + + /** + * Constructs a new ReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); + + /** ReservedRange start. */ + public start: number; + + /** ReservedRange end. */ + public end: number; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ReservedRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Verifies a ReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @param message ReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ExtensionRangeOptions declaration */ + declaration?: (google.protobuf.ExtensionRangeOptions.IDeclaration[]|null); + + /** ExtensionRangeOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** ExtensionRangeOptions verification */ + verification?: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState|null); + } + + /** Represents an ExtensionRangeOptions. */ + class ExtensionRangeOptions implements IExtensionRangeOptions { + + /** + * Constructs a new ExtensionRangeOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IExtensionRangeOptions); + + /** ExtensionRangeOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** ExtensionRangeOptions declaration. */ + public declaration: google.protobuf.ExtensionRangeOptions.IDeclaration[]; + + /** ExtensionRangeOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** ExtensionRangeOptions verification. */ + public verification: (google.protobuf.ExtensionRangeOptions.VerificationState|keyof typeof google.protobuf.ExtensionRangeOptions.VerificationState); + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRangeOptions instance + */ + public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + + /** + * Verifies an ExtensionRangeOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRangeOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @param message ExtensionRangeOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ExtensionRangeOptions { + + /** Properties of a Declaration. */ + interface IDeclaration { + + /** Declaration number */ + number?: (number|null); + + /** Declaration fullName */ + fullName?: (string|null); + + /** Declaration type */ + type?: (string|null); + + /** Declaration reserved */ + reserved?: (boolean|null); + + /** Declaration repeated */ + repeated?: (boolean|null); + } + + /** Represents a Declaration. */ + class Declaration implements IDeclaration { + + /** + * Constructs a new Declaration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration); + + /** Declaration number. */ + public number: number; + + /** Declaration fullName. */ + public fullName: string; + + /** Declaration type. */ + public type: string; + + /** Declaration reserved. */ + public reserved: boolean; + + /** Declaration repeated. */ + public repeated: boolean; + + /** + * Creates a new Declaration instance using the specified properties. + * @param [properties] Properties to set + * @returns Declaration instance + */ + public static create(properties?: google.protobuf.ExtensionRangeOptions.IDeclaration): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Encodes the specified Declaration message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @param message Declaration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Declaration message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.Declaration.verify|verify} messages. + * @param message Declaration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ExtensionRangeOptions.IDeclaration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Declaration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Decodes a Declaration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Declaration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Verifies a Declaration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Declaration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Declaration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions.Declaration; + + /** + * Creates a plain object from a Declaration message. Also converts values to other types if specified. + * @param message Declaration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions.Declaration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Declaration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Declaration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** VerificationState enum. */ + enum VerificationState { + DECLARATION = 0, + UNVERIFIED = 1 + } + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); + + /** FieldDescriptorProto typeName */ + typeName?: (string|null); + + /** FieldDescriptorProto extendee */ + extendee?: (string|null); + + /** FieldDescriptorProto defaultValue */ + defaultValue?: (string|null); + + /** FieldDescriptorProto oneofIndex */ + oneofIndex?: (number|null); + + /** FieldDescriptorProto jsonName */ + jsonName?: (string|null); + + /** FieldDescriptorProto options */ + options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); + } + + /** Represents a FieldDescriptorProto. */ + class FieldDescriptorProto implements IFieldDescriptorProto { + + /** + * Constructs a new FieldDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldDescriptorProto); + + /** FieldDescriptorProto name. */ + public name: string; + + /** FieldDescriptorProto number. */ + public number: number; + + /** FieldDescriptorProto label. */ + public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); + + /** FieldDescriptorProto type. */ + public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); + + /** FieldDescriptorProto typeName. */ + public typeName: string; + + /** FieldDescriptorProto extendee. */ + public extendee: string; + + /** FieldDescriptorProto defaultValue. */ + public defaultValue: string; + + /** FieldDescriptorProto oneofIndex. */ + public oneofIndex: number; + + /** FieldDescriptorProto jsonName. */ + public jsonName: string; + + /** FieldDescriptorProto options. */ + public options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional. */ + public proto3Optional: boolean; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + + /** + * Verifies a FieldDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @param message FieldDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldDescriptorProto { + + /** Type enum. */ + enum Type { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Label enum. */ + enum Label { + LABEL_OPTIONAL = 1, + LABEL_REPEATED = 3, + LABEL_REQUIRED = 2 + } + } + + /** Properties of an OneofDescriptorProto. */ + interface IOneofDescriptorProto { + + /** OneofDescriptorProto name */ + name?: (string|null); + + /** OneofDescriptorProto options */ + options?: (google.protobuf.IOneofOptions|null); + } + + /** Represents an OneofDescriptorProto. */ + class OneofDescriptorProto implements IOneofDescriptorProto { + + /** + * Constructs a new OneofDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofDescriptorProto); + + /** OneofDescriptorProto name. */ + public name: string; + + /** OneofDescriptorProto options. */ + public options?: (google.protobuf.IOneofOptions|null); + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofDescriptorProto instance + */ + public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + + /** + * Verifies an OneofDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @param message OneofDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumDescriptorProto. */ + interface IEnumDescriptorProto { + + /** EnumDescriptorProto name */ + name?: (string|null); + + /** EnumDescriptorProto value */ + value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + + /** EnumDescriptorProto options */ + options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange */ + reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + + /** EnumDescriptorProto reservedName */ + reservedName?: (string[]|null); + + /** EnumDescriptorProto visibility */ + visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null); + } + + /** Represents an EnumDescriptorProto. */ + class EnumDescriptorProto implements IEnumDescriptorProto { + + /** + * Constructs a new EnumDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumDescriptorProto); + + /** EnumDescriptorProto name. */ + public name: string; + + /** EnumDescriptorProto value. */ + public value: google.protobuf.IEnumValueDescriptorProto[]; + + /** EnumDescriptorProto options. */ + public options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange. */ + public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + + /** EnumDescriptorProto reservedName. */ + public reservedName: string[]; + + /** EnumDescriptorProto visibility. */ + public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility); + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + + /** + * Verifies an EnumDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @param message EnumDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace EnumDescriptorProto { + + /** Properties of an EnumReservedRange. */ + interface IEnumReservedRange { + + /** EnumReservedRange start */ + start?: (number|null); + + /** EnumReservedRange end */ + end?: (number|null); + } + + /** Represents an EnumReservedRange. */ + class EnumReservedRange implements IEnumReservedRange { + + /** + * Constructs a new EnumReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + + /** EnumReservedRange start. */ + public start: number; + + /** EnumReservedRange end. */ + public end: number; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumReservedRange instance + */ + public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Verifies an EnumReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @param message EnumReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an EnumValueDescriptorProto. */ + interface IEnumValueDescriptorProto { + + /** EnumValueDescriptorProto name */ + name?: (string|null); + + /** EnumValueDescriptorProto number */ + number?: (number|null); + + /** EnumValueDescriptorProto options */ + options?: (google.protobuf.IEnumValueOptions|null); + } + + /** Represents an EnumValueDescriptorProto. */ + class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + + /** + * Constructs a new EnumValueDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueDescriptorProto); + + /** EnumValueDescriptorProto name. */ + public name: string; + + /** EnumValueDescriptorProto number. */ + public number: number; + + /** EnumValueDescriptorProto options. */ + public options?: (google.protobuf.IEnumValueOptions|null); + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + + /** + * Verifies an EnumValueDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @param message EnumValueDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceDescriptorProto. */ + interface IServiceDescriptorProto { + + /** ServiceDescriptorProto name */ + name?: (string|null); + + /** ServiceDescriptorProto method */ + method?: (google.protobuf.IMethodDescriptorProto[]|null); + + /** ServiceDescriptorProto options */ + options?: (google.protobuf.IServiceOptions|null); + } + + /** Represents a ServiceDescriptorProto. */ + class ServiceDescriptorProto implements IServiceDescriptorProto { + + /** + * Constructs a new ServiceDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceDescriptorProto); + + /** ServiceDescriptorProto name. */ + public name: string; + + /** ServiceDescriptorProto method. */ + public method: google.protobuf.IMethodDescriptorProto[]; + + /** ServiceDescriptorProto options. */ + public options?: (google.protobuf.IServiceOptions|null); + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceDescriptorProto instance + */ + public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + + /** + * Verifies a ServiceDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @param message ServiceDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodDescriptorProto. */ + interface IMethodDescriptorProto { + + /** MethodDescriptorProto name */ + name?: (string|null); + + /** MethodDescriptorProto inputType */ + inputType?: (string|null); + + /** MethodDescriptorProto outputType */ + outputType?: (string|null); + + /** MethodDescriptorProto options */ + options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming */ + clientStreaming?: (boolean|null); + + /** MethodDescriptorProto serverStreaming */ + serverStreaming?: (boolean|null); + } + + /** Represents a MethodDescriptorProto. */ + class MethodDescriptorProto implements IMethodDescriptorProto { + + /** + * Constructs a new MethodDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodDescriptorProto); + + /** MethodDescriptorProto name. */ + public name: string; + + /** MethodDescriptorProto inputType. */ + public inputType: string; + + /** MethodDescriptorProto outputType. */ + public outputType: string; + + /** MethodDescriptorProto options. */ + public options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming. */ + public clientStreaming: boolean; + + /** MethodDescriptorProto serverStreaming. */ + public serverStreaming: boolean; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodDescriptorProto instance + */ + public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + + /** + * Verifies a MethodDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @param message MethodDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileOptions. */ + interface IFileOptions { + + /** FileOptions javaPackage */ + javaPackage?: (string|null); + + /** FileOptions javaOuterClassname */ + javaOuterClassname?: (string|null); + + /** FileOptions javaMultipleFiles */ + javaMultipleFiles?: (boolean|null); + + /** FileOptions javaGenerateEqualsAndHash */ + javaGenerateEqualsAndHash?: (boolean|null); + + /** FileOptions javaStringCheckUtf8 */ + javaStringCheckUtf8?: (boolean|null); + + /** FileOptions optimizeFor */ + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions deprecated */ + deprecated?: (boolean|null); + + /** FileOptions ccEnableArenas */ + ccEnableArenas?: (boolean|null); + + /** FileOptions objcClassPrefix */ + objcClassPrefix?: (string|null); + + /** FileOptions csharpNamespace */ + csharpNamespace?: (string|null); + + /** FileOptions swiftPrefix */ + swiftPrefix?: (string|null); + + /** FileOptions phpClassPrefix */ + phpClassPrefix?: (string|null); + + /** FileOptions phpNamespace */ + phpNamespace?: (string|null); + + /** FileOptions phpMetadataNamespace */ + phpMetadataNamespace?: (string|null); + + /** FileOptions rubyPackage */ + rubyPackage?: (string|null); + + /** FileOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** FileOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FileOptions .google.api.resourceDefinition */ + ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null); + } + + /** Represents a FileOptions. */ + class FileOptions implements IFileOptions { + + /** + * Constructs a new FileOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileOptions); + + /** FileOptions javaPackage. */ + public javaPackage: string; + + /** FileOptions javaOuterClassname. */ + public javaOuterClassname: string; + + /** FileOptions javaMultipleFiles. */ + public javaMultipleFiles: boolean; + + /** FileOptions javaGenerateEqualsAndHash. */ + public javaGenerateEqualsAndHash: boolean; + + /** FileOptions javaStringCheckUtf8. */ + public javaStringCheckUtf8: boolean; + + /** FileOptions optimizeFor. */ + public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions deprecated. */ + public deprecated: boolean; + + /** FileOptions ccEnableArenas. */ + public ccEnableArenas: boolean; + + /** FileOptions objcClassPrefix. */ + public objcClassPrefix: string; + + /** FileOptions csharpNamespace. */ + public csharpNamespace: string; + + /** FileOptions swiftPrefix. */ + public swiftPrefix: string; + + /** FileOptions phpClassPrefix. */ + public phpClassPrefix: string; + + /** FileOptions phpNamespace. */ + public phpNamespace: string; + + /** FileOptions phpMetadataNamespace. */ + public phpMetadataNamespace: string; + + /** FileOptions rubyPackage. */ + public rubyPackage: string; + + /** FileOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** FileOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FileOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FileOptions instance + */ + public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; + + /** + * Verifies a FileOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @param message FileOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FileOptions { + + /** OptimizeMode enum. */ + enum OptimizeMode { + SPEED = 1, + CODE_SIZE = 2, + LITE_RUNTIME = 3 + } + } + + /** Properties of a MessageOptions. */ + interface IMessageOptions { + + /** MessageOptions messageSetWireFormat */ + messageSetWireFormat?: (boolean|null); + + /** MessageOptions noStandardDescriptorAccessor */ + noStandardDescriptorAccessor?: (boolean|null); + + /** MessageOptions deprecated */ + deprecated?: (boolean|null); + + /** MessageOptions mapEntry */ + mapEntry?: (boolean|null); + + /** MessageOptions deprecatedLegacyJsonFieldConflicts */ + deprecatedLegacyJsonFieldConflicts?: (boolean|null); + + /** MessageOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** MessageOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MessageOptions .google.api.resource */ + ".google.api.resource"?: (google.api.IResourceDescriptor|null); + } + + /** Represents a MessageOptions. */ + class MessageOptions implements IMessageOptions { + + /** + * Constructs a new MessageOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMessageOptions); + + /** MessageOptions messageSetWireFormat. */ + public messageSetWireFormat: boolean; + + /** MessageOptions noStandardDescriptorAccessor. */ + public noStandardDescriptorAccessor: boolean; + + /** MessageOptions deprecated. */ + public deprecated: boolean; + + /** MessageOptions mapEntry. */ + public mapEntry: boolean; + + /** MessageOptions deprecatedLegacyJsonFieldConflicts. */ + public deprecatedLegacyJsonFieldConflicts: boolean; + + /** MessageOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** MessageOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageOptions instance + */ + public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; + + /** + * Verifies a MessageOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @param message MessageOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MessageOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldOptions. */ + interface IFieldOptions { + + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); + + /** FieldOptions packed */ + packed?: (boolean|null); + + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); + + /** FieldOptions lazy */ + lazy?: (boolean|null); + + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + + /** FieldOptions deprecated */ + deprecated?: (boolean|null); + + /** FieldOptions weak */ + weak?: (boolean|null); + + /** FieldOptions debugRedact */ + debugRedact?: (boolean|null); + + /** FieldOptions retention */ + retention?: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention|null); + + /** FieldOptions targets */ + targets?: (google.protobuf.FieldOptions.OptionTargetType[]|null); + + /** FieldOptions editionDefaults */ + editionDefaults?: (google.protobuf.FieldOptions.IEditionDefault[]|null); + + /** FieldOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** FieldOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + + /** FieldOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FieldOptions .google.api.fieldBehavior */ + ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null); + + /** FieldOptions .google.api.resourceReference */ + ".google.api.resourceReference"?: (google.api.IResourceReference|null); + } + + /** Represents a FieldOptions. */ + class FieldOptions implements IFieldOptions { + + /** + * Constructs a new FieldOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldOptions); + + /** FieldOptions ctype. */ + public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType); + + /** FieldOptions packed. */ + public packed: boolean; + + /** FieldOptions jstype. */ + public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); + + /** FieldOptions lazy. */ + public lazy: boolean; + + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + + /** FieldOptions deprecated. */ + public deprecated: boolean; + + /** FieldOptions weak. */ + public weak: boolean; + + /** FieldOptions debugRedact. */ + public debugRedact: boolean; + + /** FieldOptions retention. */ + public retention: (google.protobuf.FieldOptions.OptionRetention|keyof typeof google.protobuf.FieldOptions.OptionRetention); + + /** FieldOptions targets. */ + public targets: google.protobuf.FieldOptions.OptionTargetType[]; + + /** FieldOptions editionDefaults. */ + public editionDefaults: google.protobuf.FieldOptions.IEditionDefault[]; + + /** FieldOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** FieldOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + + /** FieldOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldOptions instance + */ + public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; + + /** + * Verifies a FieldOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @param message FieldOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldOptions { + + /** CType enum. */ + enum CType { + STRING = 0, + CORD = 1, + STRING_PIECE = 2 + } + + /** JSType enum. */ + enum JSType { + JS_NORMAL = 0, + JS_STRING = 1, + JS_NUMBER = 2 + } + + /** OptionRetention enum. */ + enum OptionRetention { + RETENTION_UNKNOWN = 0, + RETENTION_RUNTIME = 1, + RETENTION_SOURCE = 2 + } + + /** OptionTargetType enum. */ + enum OptionTargetType { + TARGET_TYPE_UNKNOWN = 0, + TARGET_TYPE_FILE = 1, + TARGET_TYPE_EXTENSION_RANGE = 2, + TARGET_TYPE_MESSAGE = 3, + TARGET_TYPE_FIELD = 4, + TARGET_TYPE_ONEOF = 5, + TARGET_TYPE_ENUM = 6, + TARGET_TYPE_ENUM_ENTRY = 7, + TARGET_TYPE_SERVICE = 8, + TARGET_TYPE_METHOD = 9 + } + + /** Properties of an EditionDefault. */ + interface IEditionDefault { + + /** EditionDefault edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** EditionDefault value */ + value?: (string|null); + } + + /** Represents an EditionDefault. */ + class EditionDefault implements IEditionDefault { + + /** + * Constructs a new EditionDefault. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IEditionDefault); + + /** EditionDefault edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** EditionDefault value. */ + public value: string; + + /** + * Creates a new EditionDefault instance using the specified properties. + * @param [properties] Properties to set + * @returns EditionDefault instance + */ + public static create(properties?: google.protobuf.FieldOptions.IEditionDefault): google.protobuf.FieldOptions.EditionDefault; + + /** + * Encodes the specified EditionDefault message. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @param message EditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.EditionDefault.verify|verify} messages. + * @param message EditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EditionDefault message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.EditionDefault; + + /** + * Decodes an EditionDefault message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.EditionDefault; + + /** + * Verifies an EditionDefault message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EditionDefault message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EditionDefault + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.EditionDefault; + + /** + * Creates a plain object from an EditionDefault message. Also converts values to other types if specified. + * @param message EditionDefault + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.EditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EditionDefault to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EditionDefault + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FeatureSupport. */ + interface IFeatureSupport { + + /** FeatureSupport editionIntroduced */ + editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport editionDeprecated */ + editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSupport deprecationWarning */ + deprecationWarning?: (string|null); + + /** FeatureSupport editionRemoved */ + editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSupport. */ + class FeatureSupport implements IFeatureSupport { + + /** + * Constructs a new FeatureSupport. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport); + + /** FeatureSupport editionIntroduced. */ + public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport editionDeprecated. */ + public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSupport deprecationWarning. */ + public deprecationWarning: string; + + /** FeatureSupport editionRemoved. */ + public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSupport instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSupport instance + */ + public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages. + * @param message FeatureSupport message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Decodes a FeatureSupport message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSupport + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Verifies a FeatureSupport message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSupport + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport; + + /** + * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified. + * @param message FeatureSupport + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSupport to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSupport + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an OneofOptions. */ + interface IOneofOptions { + + /** OneofOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** OneofOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an OneofOptions. */ + class OneofOptions implements IOneofOptions { + + /** + * Constructs a new OneofOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofOptions); + + /** OneofOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** OneofOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofOptions instance + */ + public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; + + /** + * Verifies an OneofOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @param message OneofOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumOptions. */ + interface IEnumOptions { + + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); + + /** EnumOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumOptions deprecatedLegacyJsonFieldConflicts */ + deprecatedLegacyJsonFieldConflicts?: (boolean|null); + + /** EnumOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** EnumOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumOptions. */ + class EnumOptions implements IEnumOptions { + + /** + * Constructs a new EnumOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumOptions); + + /** EnumOptions allowAlias. */ + public allowAlias: boolean; + + /** EnumOptions deprecated. */ + public deprecated: boolean; + + /** EnumOptions deprecatedLegacyJsonFieldConflicts. */ + public deprecatedLegacyJsonFieldConflicts: boolean; + + /** EnumOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** EnumOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumOptions instance + */ + public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; + + /** + * Verifies an EnumOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @param message EnumOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { + + /** EnumValueOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumValueOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** EnumValueOptions debugRedact */ + debugRedact?: (boolean|null); + + /** EnumValueOptions featureSupport */ + featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + + /** EnumValueOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumValueOptions. */ + class EnumValueOptions implements IEnumValueOptions { + + /** + * Constructs a new EnumValueOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueOptions); + + /** EnumValueOptions deprecated. */ + public deprecated: boolean; + + /** EnumValueOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** EnumValueOptions debugRedact. */ + public debugRedact: boolean; + + /** EnumValueOptions featureSupport. */ + public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null); + + /** EnumValueOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueOptions instance + */ + public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; + + /** + * Verifies an EnumValueOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @param message EnumValueOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceOptions. */ + interface IServiceOptions { + + /** ServiceOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** ServiceOptions deprecated */ + deprecated?: (boolean|null); + + /** ServiceOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ServiceOptions .google.api.defaultHost */ + ".google.api.defaultHost"?: (string|null); + + /** ServiceOptions .google.api.oauthScopes */ + ".google.api.oauthScopes"?: (string|null); + + /** ServiceOptions .google.api.apiVersion */ + ".google.api.apiVersion"?: (string|null); + } + + /** Represents a ServiceOptions. */ + class ServiceOptions implements IServiceOptions { + + /** + * Constructs a new ServiceOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceOptions); + + /** ServiceOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** ServiceOptions deprecated. */ + public deprecated: boolean; + + /** ServiceOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceOptions instance + */ + public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; + + /** + * Verifies a ServiceOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @param message ServiceOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodOptions. */ + interface IMethodOptions { + + /** MethodOptions deprecated */ + deprecated?: (boolean|null); + + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); + + /** MethodOptions features */ + features?: (google.protobuf.IFeatureSet|null); + + /** MethodOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MethodOptions .google.api.http */ + ".google.api.http"?: (google.api.IHttpRule|null); + + /** MethodOptions .google.api.methodSignature */ + ".google.api.methodSignature"?: (string[]|null); + } + + /** Represents a MethodOptions. */ + class MethodOptions implements IMethodOptions { + + /** + * Constructs a new MethodOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodOptions); + + /** MethodOptions deprecated. */ + public deprecated: boolean; + + /** MethodOptions idempotencyLevel. */ + public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); + + /** MethodOptions features. */ + public features?: (google.protobuf.IFeatureSet|null); + + /** MethodOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodOptions instance + */ + public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; + + /** + * Verifies a MethodOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @param message MethodOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodOptions { + + /** IdempotencyLevel enum. */ + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2 + } + } + + /** Properties of an UninterpretedOption. */ + interface IUninterpretedOption { + + /** UninterpretedOption name */ + name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + + /** UninterpretedOption identifierValue */ + identifierValue?: (string|null); + + /** UninterpretedOption positiveIntValue */ + positiveIntValue?: (number|Long|string|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|string|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|Buffer|string|null); + + /** UninterpretedOption aggregateValue */ + aggregateValue?: (string|null); + } + + /** Represents an UninterpretedOption. */ + class UninterpretedOption implements IUninterpretedOption { + + /** + * Constructs a new UninterpretedOption. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUninterpretedOption); + + /** UninterpretedOption name. */ + public name: google.protobuf.UninterpretedOption.INamePart[]; + + /** UninterpretedOption identifierValue. */ + public identifierValue: string; + + /** UninterpretedOption positiveIntValue. */ + public positiveIntValue: (number|Long|string); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long|string); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: (Uint8Array|Buffer|string); + + /** UninterpretedOption aggregateValue. */ + public aggregateValue: string; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @param [properties] Properties to set + * @returns UninterpretedOption instance + */ + public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; + + /** + * Verifies an UninterpretedOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UninterpretedOption + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @param message UninterpretedOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UninterpretedOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UninterpretedOption + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace UninterpretedOption { + + /** Properties of a NamePart. */ + interface INamePart { + + /** NamePart namePart */ + namePart: string; + + /** NamePart isExtension */ + isExtension: boolean; + } + + /** Represents a NamePart. */ + class NamePart implements INamePart { + + /** + * Constructs a new NamePart. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.UninterpretedOption.INamePart); + + /** NamePart namePart. */ + public namePart: string; + + /** NamePart isExtension. */ + public isExtension: boolean; + + /** + * Creates a new NamePart instance using the specified properties. + * @param [properties] Properties to set + * @returns NamePart instance + */ + public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; + + /** + * Verifies a NamePart message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NamePart + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @param message NamePart + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NamePart to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NamePart + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a FeatureSet. */ + interface IFeatureSet { + + /** FeatureSet fieldPresence */ + fieldPresence?: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence|null); + + /** FeatureSet enumType */ + enumType?: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType|null); + + /** FeatureSet repeatedFieldEncoding */ + repeatedFieldEncoding?: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding|null); + + /** FeatureSet utf8Validation */ + utf8Validation?: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation|null); + + /** FeatureSet messageEncoding */ + messageEncoding?: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding|null); + + /** FeatureSet jsonFormat */ + jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null); + + /** FeatureSet enforceNamingStyle */ + enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null); + + /** FeatureSet defaultSymbolVisibility */ + defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null); + } + + /** Represents a FeatureSet. */ + class FeatureSet implements IFeatureSet { + + /** + * Constructs a new FeatureSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFeatureSet); + + /** FeatureSet fieldPresence. */ + public fieldPresence: (google.protobuf.FeatureSet.FieldPresence|keyof typeof google.protobuf.FeatureSet.FieldPresence); + + /** FeatureSet enumType. */ + public enumType: (google.protobuf.FeatureSet.EnumType|keyof typeof google.protobuf.FeatureSet.EnumType); + + /** FeatureSet repeatedFieldEncoding. */ + public repeatedFieldEncoding: (google.protobuf.FeatureSet.RepeatedFieldEncoding|keyof typeof google.protobuf.FeatureSet.RepeatedFieldEncoding); + + /** FeatureSet utf8Validation. */ + public utf8Validation: (google.protobuf.FeatureSet.Utf8Validation|keyof typeof google.protobuf.FeatureSet.Utf8Validation); + + /** FeatureSet messageEncoding. */ + public messageEncoding: (google.protobuf.FeatureSet.MessageEncoding|keyof typeof google.protobuf.FeatureSet.MessageEncoding); + + /** FeatureSet jsonFormat. */ + public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat); + + /** FeatureSet enforceNamingStyle. */ + public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle); + + /** FeatureSet defaultSymbolVisibility. */ + public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility); + + /** + * Creates a new FeatureSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSet instance + */ + public static create(properties?: google.protobuf.IFeatureSet): google.protobuf.FeatureSet; + + /** + * Encodes the specified FeatureSet message. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @param message FeatureSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSet message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.verify|verify} messages. + * @param message FeatureSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFeatureSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet; + + /** + * Decodes a FeatureSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet; + + /** + * Verifies a FeatureSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet; + + /** + * Creates a plain object from a FeatureSet message. Also converts values to other types if specified. + * @param message FeatureSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FeatureSet { + + /** FieldPresence enum. */ + enum FieldPresence { + FIELD_PRESENCE_UNKNOWN = 0, + EXPLICIT = 1, + IMPLICIT = 2, + LEGACY_REQUIRED = 3 + } + + /** EnumType enum. */ + enum EnumType { + ENUM_TYPE_UNKNOWN = 0, + OPEN = 1, + CLOSED = 2 + } + + /** RepeatedFieldEncoding enum. */ + enum RepeatedFieldEncoding { + REPEATED_FIELD_ENCODING_UNKNOWN = 0, + PACKED = 1, + EXPANDED = 2 + } + + /** Utf8Validation enum. */ + enum Utf8Validation { + UTF8_VALIDATION_UNKNOWN = 0, + VERIFY = 2, + NONE = 3 + } + + /** MessageEncoding enum. */ + enum MessageEncoding { + MESSAGE_ENCODING_UNKNOWN = 0, + LENGTH_PREFIXED = 1, + DELIMITED = 2 + } + + /** JsonFormat enum. */ + enum JsonFormat { + JSON_FORMAT_UNKNOWN = 0, + ALLOW = 1, + LEGACY_BEST_EFFORT = 2 + } + + /** EnforceNamingStyle enum. */ + enum EnforceNamingStyle { + ENFORCE_NAMING_STYLE_UNKNOWN = 0, + STYLE2024 = 1, + STYLE_LEGACY = 2 + } + + /** Properties of a VisibilityFeature. */ + interface IVisibilityFeature { + } + + /** Represents a VisibilityFeature. */ + class VisibilityFeature implements IVisibilityFeature { + + /** + * Constructs a new VisibilityFeature. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature); + + /** + * Creates a new VisibilityFeature instance using the specified properties. + * @param [properties] Properties to set + * @returns VisibilityFeature instance + */ + public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages. + * @param message VisibilityFeature message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns VisibilityFeature + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Verifies a VisibilityFeature message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns VisibilityFeature + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature; + + /** + * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified. + * @param message VisibilityFeature + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this VisibilityFeature to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for VisibilityFeature + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace VisibilityFeature { + + /** DefaultSymbolVisibility enum. */ + enum DefaultSymbolVisibility { + DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0, + EXPORT_ALL = 1, + EXPORT_TOP_LEVEL = 2, + LOCAL_ALL = 3, + STRICT = 4 + } + } + } + + /** Properties of a FeatureSetDefaults. */ + interface IFeatureSetDefaults { + + /** FeatureSetDefaults defaults */ + defaults?: (google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]|null); + + /** FeatureSetDefaults minimumEdition */ + minimumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSetDefaults maximumEdition */ + maximumEdition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + } + + /** Represents a FeatureSetDefaults. */ + class FeatureSetDefaults implements IFeatureSetDefaults { + + /** + * Constructs a new FeatureSetDefaults. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFeatureSetDefaults); + + /** FeatureSetDefaults defaults. */ + public defaults: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault[]; + + /** FeatureSetDefaults minimumEdition. */ + public minimumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSetDefaults maximumEdition. */ + public maximumEdition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** + * Creates a new FeatureSetDefaults instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSetDefaults instance + */ + public static create(properties?: google.protobuf.IFeatureSetDefaults): google.protobuf.FeatureSetDefaults; + + /** + * Encodes the specified FeatureSetDefaults message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @param message FeatureSetDefaults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSetDefaults message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.verify|verify} messages. + * @param message FeatureSetDefaults message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFeatureSetDefaults, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults; + + /** + * Decodes a FeatureSetDefaults message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSetDefaults + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults; + + /** + * Verifies a FeatureSetDefaults message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSetDefaults message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSetDefaults + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults; + + /** + * Creates a plain object from a FeatureSetDefaults message. Also converts values to other types if specified. + * @param message FeatureSetDefaults + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSetDefaults, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSetDefaults to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSetDefaults + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FeatureSetDefaults { + + /** Properties of a FeatureSetEditionDefault. */ + interface IFeatureSetEditionDefault { + + /** FeatureSetEditionDefault edition */ + edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null); + + /** FeatureSetEditionDefault overridableFeatures */ + overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures */ + fixedFeatures?: (google.protobuf.IFeatureSet|null); + } + + /** Represents a FeatureSetEditionDefault. */ + class FeatureSetEditionDefault implements IFeatureSetEditionDefault { + + /** + * Constructs a new FeatureSetEditionDefault. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault); + + /** FeatureSetEditionDefault edition. */ + public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition); + + /** FeatureSetEditionDefault overridableFeatures. */ + public overridableFeatures?: (google.protobuf.IFeatureSet|null); + + /** FeatureSetEditionDefault fixedFeatures. */ + public fixedFeatures?: (google.protobuf.IFeatureSet|null); + + /** + * Creates a new FeatureSetEditionDefault instance using the specified properties. + * @param [properties] Properties to set + * @returns FeatureSetEditionDefault instance + */ + public static create(properties?: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Encodes the specified FeatureSetEditionDefault message. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @param message FeatureSetEditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FeatureSetEditionDefault message, length delimited. Does not implicitly {@link google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify|verify} messages. + * @param message FeatureSetEditionDefault message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.FeatureSetDefaults.IFeatureSetEditionDefault, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Decodes a FeatureSetEditionDefault message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FeatureSetEditionDefault + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Verifies a FeatureSetEditionDefault message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FeatureSetEditionDefault + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault; + + /** + * Creates a plain object from a FeatureSetEditionDefault message. Also converts values to other types if specified. + * @param message FeatureSetEditionDefault + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FeatureSetEditionDefault to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FeatureSetEditionDefault + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SourceCodeInfo. */ + interface ISourceCodeInfo { + + /** SourceCodeInfo location */ + location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + } + + /** Represents a SourceCodeInfo. */ + class SourceCodeInfo implements ISourceCodeInfo { + + /** + * Constructs a new SourceCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceCodeInfo); + + /** SourceCodeInfo location. */ + public location: google.protobuf.SourceCodeInfo.ILocation[]; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceCodeInfo instance + */ + public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; + + /** + * Verifies a SourceCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @param message SourceCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SourceCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SourceCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace SourceCodeInfo { + + /** Properties of a Location. */ + interface ILocation { + + /** Location path */ + path?: (number[]|null); + + /** Location span */ + span?: (number[]|null); + + /** Location leadingComments */ + leadingComments?: (string|null); + + /** Location trailingComments */ + trailingComments?: (string|null); + + /** Location leadingDetachedComments */ + leadingDetachedComments?: (string[]|null); + } + + /** Represents a Location. */ + class Location implements ILocation { + + /** + * Constructs a new Location. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); + + /** Location path. */ + public path: number[]; + + /** Location span. */ + public span: number[]; + + /** Location leadingComments. */ + public leadingComments: string; + + /** Location trailingComments. */ + public trailingComments: string; + + /** Location leadingDetachedComments. */ + public leadingDetachedComments: string[]; + + /** + * Creates a new Location instance using the specified properties. + * @param [properties] Properties to set + * @returns Location instance + */ + public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Location message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; + + /** + * Verifies a Location message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Location + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Location to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Location + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a GeneratedCodeInfo. */ + interface IGeneratedCodeInfo { + + /** GeneratedCodeInfo annotation */ + annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + } + + /** Represents a GeneratedCodeInfo. */ + class GeneratedCodeInfo implements IGeneratedCodeInfo { + + /** + * Constructs a new GeneratedCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IGeneratedCodeInfo); + + /** GeneratedCodeInfo annotation. */ + public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GeneratedCodeInfo instance + */ + public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + + /** + * Verifies a GeneratedCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GeneratedCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @param message GeneratedCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GeneratedCodeInfo { + + /** Properties of an Annotation. */ + interface IAnnotation { + + /** Annotation path */ + path?: (number[]|null); + + /** Annotation sourceFile */ + sourceFile?: (string|null); + + /** Annotation begin */ + begin?: (number|null); + + /** Annotation end */ + end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); + } + + /** Represents an Annotation. */ + class Annotation implements IAnnotation { + + /** + * Constructs a new Annotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); + + /** Annotation path. */ + public path: number[]; + + /** Annotation sourceFile. */ + public sourceFile: string; + + /** Annotation begin. */ + public begin: number; + + /** Annotation end. */ + public end: number; + + /** Annotation semantic. */ + public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic); + + /** + * Creates a new Annotation instance using the specified properties. + * @param [properties] Properties to set + * @returns Annotation instance + */ + public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Verifies an Annotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Annotation + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @param message Annotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Annotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Annotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Annotation { + + /** Semantic enum. */ + enum Semantic { + NONE = 0, + SET = 1, + ALIAS = 2 + } + } + } + + /** SymbolVisibility enum. */ + enum SymbolVisibility { + VISIBILITY_UNSET = 0, + VISIBILITY_LOCAL = 1, + VISIBILITY_EXPORT = 2 + } + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|string|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long|string); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Duration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Struct. */ + interface IStruct { + + /** Struct fields */ + fields?: ({ [k: string]: google.protobuf.IValue }|null); + } + + /** Represents a Struct. */ + class Struct implements IStruct { + + /** + * Constructs a new Struct. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IStruct); + + /** Struct fields. */ + public fields: { [k: string]: google.protobuf.IValue }; + + /** + * Creates a new Struct instance using the specified properties. + * @param [properties] Properties to set + * @returns Struct instance + */ + public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct; + + /** + * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @param message Struct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @param message Struct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Struct message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Struct; + + /** + * Decodes a Struct message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Struct; + + /** + * Verifies a Struct message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Struct message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Struct + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Struct; + + /** + * Creates a plain object from a Struct message. Also converts values to other types if specified. + * @param message Struct + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Struct to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Struct + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Value. */ + interface IValue { + + /** Value nullValue */ + nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null); + + /** Value numberValue */ + numberValue?: (number|null); + + /** Value stringValue */ + stringValue?: (string|null); + + /** Value boolValue */ + boolValue?: (boolean|null); + + /** Value structValue */ + structValue?: (google.protobuf.IStruct|null); + + /** Value listValue */ + listValue?: (google.protobuf.IListValue|null); + } + + /** Represents a Value. */ + class Value implements IValue { + + /** + * Constructs a new Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IValue); + + /** Value nullValue. */ + public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null); + + /** Value numberValue. */ + public numberValue?: (number|null); + + /** Value stringValue. */ + public stringValue?: (string|null); + + /** Value boolValue. */ + public boolValue?: (boolean|null); + + /** Value structValue. */ + public structValue?: (google.protobuf.IStruct|null); + + /** Value listValue. */ + public listValue?: (google.protobuf.IListValue|null); + + /** Value kind. */ + public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue"); + + /** + * Creates a new Value instance using the specified properties. + * @param [properties] Properties to set + * @returns Value instance + */ + public static create(properties?: google.protobuf.IValue): google.protobuf.Value; + + /** + * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @param message Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @param message Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Value; + + /** + * Decodes a Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Value; + + /** + * Verifies a Value message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Value; + + /** + * Creates a plain object from a Value message. Also converts values to other types if specified. + * @param message Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** NullValue enum. */ + enum NullValue { + NULL_VALUE = 0 + } + + /** Properties of a ListValue. */ + interface IListValue { + + /** ListValue values */ + values?: (google.protobuf.IValue[]|null); + } + + /** Represents a ListValue. */ + class ListValue implements IListValue { + + /** + * Constructs a new ListValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IListValue); + + /** ListValue values. */ + public values: google.protobuf.IValue[]; + + /** + * Creates a new ListValue instance using the specified properties. + * @param [properties] Properties to set + * @returns ListValue instance + */ + public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue; + + /** + * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @param message ListValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @param message ListValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ListValue; + + /** + * Decodes a ListValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ListValue; + + /** + * Verifies a ListValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue; + + /** + * Creates a plain object from a ListValue message. Also converts values to other types if specified. + * @param message ListValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace type. */ + namespace type { + + /** Properties of a LatLng. */ + interface ILatLng { + + /** LatLng latitude */ + latitude?: (number|null); + + /** LatLng longitude */ + longitude?: (number|null); + } + + /** Represents a LatLng. */ + class LatLng implements ILatLng { + + /** + * Constructs a new LatLng. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.ILatLng); + + /** LatLng latitude. */ + public latitude: number; + + /** LatLng longitude. */ + public longitude: number; + + /** + * Creates a new LatLng instance using the specified properties. + * @param [properties] Properties to set + * @returns LatLng instance + */ + public static create(properties?: google.type.ILatLng): google.type.LatLng; + + /** + * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @param message LatLng message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages. + * @param message LatLng message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LatLng message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.LatLng; + + /** + * Decodes a LatLng message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LatLng + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.LatLng; + + /** + * Verifies a LatLng message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LatLng message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LatLng + */ + public static fromObject(object: { [k: string]: any }): google.type.LatLng; + + /** + * Creates a plain object from a LatLng message. Also converts values to other types if specified. + * @param message LatLng + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.LatLng, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LatLng to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LatLng + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } +} diff --git a/packages/google-maps-isochrones/protos/protos.js b/packages/google-maps-isochrones/protos/protos.js new file mode 100644 index 000000000000..12414859c056 --- /dev/null +++ b/packages/google-maps-isochrones/protos/protos.js @@ -0,0 +1 @@ +(function(global,factory){if(typeof define==="function"&&define.amd)define(["protobufjs/minimal"],factory);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";var $Reader=$protobuf.Reader,$Writer=$protobuf.Writer,$util=$protobuf.util;var $root=$protobuf.roots._google_maps_isochrones_protos||($protobuf.roots._google_maps_isochrones_protos={});$root.google=function(){var google={};google.maps=function(){var maps={};maps.isochrones=function(){var isochrones={};isochrones.v1=function(){var v1={};v1.IsochroneService=function(){function IsochroneService(rpcImpl,requestDelimited,responseDelimited){$protobuf.rpc.Service.call(this,rpcImpl,requestDelimited,responseDelimited)}(IsochroneService.prototype=Object.create($protobuf.rpc.Service.prototype)).constructor=IsochroneService;IsochroneService.create=function create(rpcImpl,requestDelimited,responseDelimited){return new this(rpcImpl,requestDelimited,responseDelimited)};Object.defineProperty(IsochroneService.prototype.generateIsochrone=function generateIsochrone(request,callback){return this.rpcCall(generateIsochrone,$root.google.maps.isochrones.v1.GenerateIsochroneRequest,$root.google.maps.isochrones.v1.GenerateIsochroneResponse,request,callback)},"name",{value:"GenerateIsochrone"});return IsochroneService}();v1.GenerateIsochroneRequest=function(){function GenerateIsochroneRequest(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.isochrones.v1.GenerateIsochroneRequest;while(reader.pos>>3){case 1:{message.location=$root.google.type.LatLng.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.place=reader.string();break}case 3:{message.travelDuration=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.travelMode=reader.int32();break}case 5:{message.travelDirection=reader.int32();break}case 6:{message.routingPreference=reader.int32();break}case 7:{message.enableSmoothing=reader.bool();break}case 8:{message.polygonFidelity=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};GenerateIsochroneRequest.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GenerateIsochroneRequest.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.location!=null&&message.hasOwnProperty("location")){properties.origin=1;{var error=$root.google.type.LatLng.verify(message.location,long+1);if(error)return"location."+error}}if(message.place!=null&&message.hasOwnProperty("place")){if(properties.origin===1)return"origin: multiple values";properties.origin=1;if(!$util.isString(message.place))return"place: string expected"}if(message.travelDuration!=null&&message.hasOwnProperty("travelDuration")){var error=$root.google.protobuf.Duration.verify(message.travelDuration,long+1);if(error)return"travelDuration."+error}if(message.travelMode!=null&&message.hasOwnProperty("travelMode"))switch(message.travelMode){default:return"travelMode: enum value expected";case 0:case 1:case 2:case 3:break}if(message.travelDirection!=null&&message.hasOwnProperty("travelDirection"))switch(message.travelDirection){default:return"travelDirection: enum value expected";case 0:case 1:case 2:break}if(message.routingPreference!=null&&message.hasOwnProperty("routingPreference"))switch(message.routingPreference){default:return"routingPreference: enum value expected";case 0:case 1:case 2:break}if(message.enableSmoothing!=null&&message.hasOwnProperty("enableSmoothing"))if(typeof message.enableSmoothing!=="boolean")return"enableSmoothing: boolean expected";if(message.polygonFidelity!=null&&message.hasOwnProperty("polygonFidelity"))switch(message.polygonFidelity){default:return"polygonFidelity: enum value expected";case 0:case 1:case 2:case 3:break}return null};GenerateIsochroneRequest.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.isochrones.v1.GenerateIsochroneRequest)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.isochrones.v1.GenerateIsochroneRequest;if(object.location!=null){if(typeof object.location!=="object")throw TypeError(".google.maps.isochrones.v1.GenerateIsochroneRequest.location: object expected");message.location=$root.google.type.LatLng.fromObject(object.location,long+1)}if(object.place!=null)message.place=String(object.place);if(object.travelDuration!=null){if(typeof object.travelDuration!=="object")throw TypeError(".google.maps.isochrones.v1.GenerateIsochroneRequest.travelDuration: object expected");message.travelDuration=$root.google.protobuf.Duration.fromObject(object.travelDuration,long+1)}switch(object.travelMode){default:if(typeof object.travelMode==="number"){message.travelMode=object.travelMode;break}break;case"TRAVEL_MODE_UNSPECIFIED":case 0:message.travelMode=0;break;case"DRIVE":case 1:message.travelMode=1;break;case"BICYCLE":case 2:message.travelMode=2;break;case"WALK":case 3:message.travelMode=3;break}switch(object.travelDirection){default:if(typeof object.travelDirection==="number"){message.travelDirection=object.travelDirection;break}break;case"TRAVEL_DIRECTION_UNSPECIFIED":case 0:message.travelDirection=0;break;case"FROM":case 1:message.travelDirection=1;break;case"TO":case 2:message.travelDirection=2;break}switch(object.routingPreference){default:if(typeof object.routingPreference==="number"){message.routingPreference=object.routingPreference;break}break;case"ROUTING_PREFERENCE_UNSPECIFIED":case 0:message.routingPreference=0;break;case"TRAFFIC_UNAWARE":case 1:message.routingPreference=1;break;case"TRAFFIC_AWARE":case 2:message.routingPreference=2;break}if(object.enableSmoothing!=null)message.enableSmoothing=Boolean(object.enableSmoothing);switch(object.polygonFidelity){default:if(typeof object.polygonFidelity==="number"){message.polygonFidelity=object.polygonFidelity;break}break;case"POLYGON_FIDELITY_UNSPECIFIED":case 0:message.polygonFidelity=0;break;case"LOW":case 1:message.polygonFidelity=1;break;case"MEDIUM":case 2:message.polygonFidelity=2;break;case"HIGH":case 3:message.polygonFidelity=3;break}return message};GenerateIsochroneRequest.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.travelDuration=null;object.travelMode=options.enums===String?"TRAVEL_MODE_UNSPECIFIED":0;object.travelDirection=options.enums===String?"TRAVEL_DIRECTION_UNSPECIFIED":0;object.routingPreference=options.enums===String?"ROUTING_PREFERENCE_UNSPECIFIED":0;object.enableSmoothing=false;object.polygonFidelity=options.enums===String?"POLYGON_FIDELITY_UNSPECIFIED":0}if(message.location!=null&&message.hasOwnProperty("location")){object.location=$root.google.type.LatLng.toObject(message.location,options);if(options.oneofs)object.origin="location"}if(message.place!=null&&message.hasOwnProperty("place")){object.place=message.place;if(options.oneofs)object.origin="place"}if(message.travelDuration!=null&&message.hasOwnProperty("travelDuration"))object.travelDuration=$root.google.protobuf.Duration.toObject(message.travelDuration,options);if(message.travelMode!=null&&message.hasOwnProperty("travelMode"))object.travelMode=options.enums===String?$root.google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode[message.travelMode]===undefined?message.travelMode:$root.google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode[message.travelMode]:message.travelMode;if(message.travelDirection!=null&&message.hasOwnProperty("travelDirection"))object.travelDirection=options.enums===String?$root.google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection[message.travelDirection]===undefined?message.travelDirection:$root.google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection[message.travelDirection]:message.travelDirection;if(message.routingPreference!=null&&message.hasOwnProperty("routingPreference"))object.routingPreference=options.enums===String?$root.google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference[message.routingPreference]===undefined?message.routingPreference:$root.google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference[message.routingPreference]:message.routingPreference;if(message.enableSmoothing!=null&&message.hasOwnProperty("enableSmoothing"))object.enableSmoothing=message.enableSmoothing;if(message.polygonFidelity!=null&&message.hasOwnProperty("polygonFidelity"))object.polygonFidelity=options.enums===String?$root.google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity[message.polygonFidelity]===undefined?message.polygonFidelity:$root.google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity[message.polygonFidelity]:message.polygonFidelity;return object};GenerateIsochroneRequest.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GenerateIsochroneRequest.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.isochrones.v1.GenerateIsochroneRequest"};GenerateIsochroneRequest.TravelMode=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="TRAVEL_MODE_UNSPECIFIED"]=0;values[valuesById[1]="DRIVE"]=1;values[valuesById[2]="BICYCLE"]=2;values[valuesById[3]="WALK"]=3;return values}();GenerateIsochroneRequest.TravelDirection=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="TRAVEL_DIRECTION_UNSPECIFIED"]=0;values[valuesById[1]="FROM"]=1;values[valuesById[2]="TO"]=2;return values}();GenerateIsochroneRequest.RoutingPreference=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ROUTING_PREFERENCE_UNSPECIFIED"]=0;values[valuesById[1]="TRAFFIC_UNAWARE"]=1;values[valuesById[2]="TRAFFIC_AWARE"]=2;return values}();GenerateIsochroneRequest.PolygonFidelity=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="POLYGON_FIDELITY_UNSPECIFIED"]=0;values[valuesById[1]="LOW"]=1;values[valuesById[2]="MEDIUM"]=2;values[valuesById[3]="HIGH"]=3;return values}();return GenerateIsochroneRequest}();v1.GenerateIsochroneResponse=function(){function GenerateIsochroneResponse(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.isochrones.v1.GenerateIsochroneResponse;while(reader.pos>>3){case 1:{message.isochrone=$root.google.maps.isochrones.v1.Isochrone.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};GenerateIsochroneResponse.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GenerateIsochroneResponse.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.isochrone!=null&&message.hasOwnProperty("isochrone")){var error=$root.google.maps.isochrones.v1.Isochrone.verify(message.isochrone,long+1);if(error)return"isochrone."+error}return null};GenerateIsochroneResponse.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.isochrones.v1.GenerateIsochroneResponse)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.isochrones.v1.GenerateIsochroneResponse;if(object.isochrone!=null){if(typeof object.isochrone!=="object")throw TypeError(".google.maps.isochrones.v1.GenerateIsochroneResponse.isochrone: object expected");message.isochrone=$root.google.maps.isochrones.v1.Isochrone.fromObject(object.isochrone,long+1)}return message};GenerateIsochroneResponse.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.isochrone=null;if(message.isochrone!=null&&message.hasOwnProperty("isochrone"))object.isochrone=$root.google.maps.isochrones.v1.Isochrone.toObject(message.isochrone,options);return object};GenerateIsochroneResponse.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};GenerateIsochroneResponse.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.isochrones.v1.GenerateIsochroneResponse"};return GenerateIsochroneResponse}();v1.Isochrone=function(){function Isochrone(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.maps.isochrones.v1.Isochrone;while(reader.pos>>3){case 1:{message.geoJson=$root.google.protobuf.Struct.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};Isochrone.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Isochrone.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.geoJson!=null&&message.hasOwnProperty("geoJson")){properties.geometry=1;{var error=$root.google.protobuf.Struct.verify(message.geoJson,long+1);if(error)return"geoJson."+error}}return null};Isochrone.fromObject=function fromObject(object,long){if(object instanceof $root.google.maps.isochrones.v1.Isochrone)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.maps.isochrones.v1.Isochrone;if(object.geoJson!=null){if(typeof object.geoJson!=="object")throw TypeError(".google.maps.isochrones.v1.Isochrone.geoJson: object expected");message.geoJson=$root.google.protobuf.Struct.fromObject(object.geoJson,long+1)}return message};Isochrone.toObject=function toObject(message,options){if(!options)options={};var object={};if(message.geoJson!=null&&message.hasOwnProperty("geoJson")){object.geoJson=$root.google.protobuf.Struct.toObject(message.geoJson,options);if(options.oneofs)object.geometry="geoJson"}return object};Isochrone.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Isochrone.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.maps.isochrones.v1.Isochrone"};return Isochrone}();return v1}();return isochrones}();return maps}();google.api=function(){var api={};api.Http=function(){function Http(properties){this.rules=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Http;while(reader.pos>>3){case 1:{if(!(message.rules&&message.rules.length))message.rules=[];message.rules.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{message.fullyDecodeReservedExpansion=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Http.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Http.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.rules!=null&&message.hasOwnProperty("rules")){if(!Array.isArray(message.rules))return"rules: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Http;if(object.rules){if(!Array.isArray(object.rules))throw TypeError(".google.api.Http.rules: array expected");message.rules=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.HttpRule;while(reader.pos>>3){case 1:{message.selector=reader.string();break}case 2:{message.get=reader.string();break}case 3:{message.put=reader.string();break}case 4:{message.post=reader.string();break}case 5:{message["delete"]=reader.string();break}case 6:{message.patch=reader.string();break}case 8:{message.custom=$root.google.api.CustomHttpPattern.decode(reader,reader.uint32(),undefined,long+1);break}case 7:{message.body=reader.string();break}case 12:{message.responseBody=reader.string();break}case 11:{if(!(message.additionalBindings&&message.additionalBindings.length))message.additionalBindings=[];message.additionalBindings.push($root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};HttpRule.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};HttpRule.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.get!=null&&message.hasOwnProperty("get")){properties.pattern=1;if(!$util.isString(message.get))return"get: string expected"}if(message.put!=null&&message.hasOwnProperty("put")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.put))return"put: string expected"}if(message.post!=null&&message.hasOwnProperty("post")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.post))return"post: string expected"}if(message["delete"]!=null&&message.hasOwnProperty("delete")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message["delete"]))return"delete: string expected"}if(message.patch!=null&&message.hasOwnProperty("patch")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;if(!$util.isString(message.patch))return"patch: string expected"}if(message.custom!=null&&message.hasOwnProperty("custom")){if(properties.pattern===1)return"pattern: multiple values";properties.pattern=1;{var error=$root.google.api.CustomHttpPattern.verify(message.custom,long+1);if(error)return"custom."+error}}if(message.body!=null&&message.hasOwnProperty("body"))if(!$util.isString(message.body))return"body: string expected";if(message.responseBody!=null&&message.hasOwnProperty("responseBody"))if(!$util.isString(message.responseBody))return"responseBody: string expected";if(message.additionalBindings!=null&&message.hasOwnProperty("additionalBindings")){if(!Array.isArray(message.additionalBindings))return"additionalBindings: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.HttpRule;if(object.selector!=null)message.selector=String(object.selector);if(object.get!=null)message.get=String(object.get);if(object.put!=null)message.put=String(object.put);if(object.post!=null)message.post=String(object.post);if(object["delete"]!=null)message["delete"]=String(object["delete"]);if(object.patch!=null)message.patch=String(object.patch);if(object.custom!=null){if(typeof object.custom!=="object")throw TypeError(".google.api.HttpRule.custom: object expected");message.custom=$root.google.api.CustomHttpPattern.fromObject(object.custom,long+1)}if(object.body!=null)message.body=String(object.body);if(object.responseBody!=null)message.responseBody=String(object.responseBody);if(object.additionalBindings){if(!Array.isArray(object.additionalBindings))throw TypeError(".google.api.HttpRule.additionalBindings: array expected");message.additionalBindings=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CustomHttpPattern;while(reader.pos>>3){case 1:{message.kind=reader.string();break}case 2:{message.path=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};CustomHttpPattern.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CustomHttpPattern.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.kind!=null&&message.hasOwnProperty("kind"))if(!$util.isString(message.kind))return"kind: string expected";if(message.path!=null&&message.hasOwnProperty("path"))if(!$util.isString(message.path))return"path: string expected";return null};CustomHttpPattern.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CustomHttpPattern)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CustomHttpPattern;if(object.kind!=null)message.kind=String(object.kind);if(object.path!=null)message.path=String(object.path);return message};CustomHttpPattern.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.kind="";object.path=""}if(message.kind!=null&&message.hasOwnProperty("kind"))object.kind=message.kind;if(message.path!=null&&message.hasOwnProperty("path"))object.path=message.path;return object};CustomHttpPattern.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CustomHttpPattern.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CustomHttpPattern"};return CustomHttpPattern}();api.CommonLanguageSettings=function(){function CommonLanguageSettings(properties){this.destinations=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CommonLanguageSettings;while(reader.pos>>3){case 1:{message.referenceDocsUri=reader.string();break}case 2:{if(!(message.destinations&&message.destinations.length))message.destinations=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.referenceDocsUri!=null&&message.hasOwnProperty("referenceDocsUri"))if(!$util.isString(message.referenceDocsUri))return"referenceDocsUri: string expected";if(message.destinations!=null&&message.hasOwnProperty("destinations")){if(!Array.isArray(message.destinations))return"destinations: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CommonLanguageSettings;if(object.referenceDocsUri!=null)message.referenceDocsUri=String(object.referenceDocsUri);if(object.destinations){if(!Array.isArray(object.destinations))throw TypeError(".google.api.CommonLanguageSettings.destinations: array expected");message.destinations=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.ClientLibrarySettings;while(reader.pos>>3){case 1:{message.version=reader.string();break}case 2:{message.launchStage=reader.int32();break}case 3:{message.restNumericEnums=reader.bool();break}case 21:{message.javaSettings=$root.google.api.JavaSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 22:{message.cppSettings=$root.google.api.CppSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 23:{message.phpSettings=$root.google.api.PhpSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 24:{message.pythonSettings=$root.google.api.PythonSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 25:{message.nodeSettings=$root.google.api.NodeSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 26:{message.dotnetSettings=$root.google.api.DotnetSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 27:{message.rubySettings=$root.google.api.RubySettings.decode(reader,reader.uint32(),undefined,long+1);break}case 28:{message.goSettings=$root.google.api.GoSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ClientLibrarySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ClientLibrarySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.version!=null&&message.hasOwnProperty("version"))if(!$util.isString(message.version))return"version: string expected";if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))switch(message.launchStage){default:return"launchStage: enum value expected";case 0:case 6:case 7:case 1:case 2:case 3:case 4:case 5:break}if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))if(typeof message.restNumericEnums!=="boolean")return"restNumericEnums: boolean expected";if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings")){var error=$root.google.api.JavaSettings.verify(message.javaSettings,long+1);if(error)return"javaSettings."+error}if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings")){var error=$root.google.api.CppSettings.verify(message.cppSettings,long+1);if(error)return"cppSettings."+error}if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings")){var error=$root.google.api.PhpSettings.verify(message.phpSettings,long+1);if(error)return"phpSettings."+error}if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings")){var error=$root.google.api.PythonSettings.verify(message.pythonSettings,long+1);if(error)return"pythonSettings."+error}if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings")){var error=$root.google.api.NodeSettings.verify(message.nodeSettings,long+1);if(error)return"nodeSettings."+error}if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings")){var error=$root.google.api.DotnetSettings.verify(message.dotnetSettings,long+1);if(error)return"dotnetSettings."+error}if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings")){var error=$root.google.api.RubySettings.verify(message.rubySettings,long+1);if(error)return"rubySettings."+error}if(message.goSettings!=null&&message.hasOwnProperty("goSettings")){var error=$root.google.api.GoSettings.verify(message.goSettings,long+1);if(error)return"goSettings."+error}return null};ClientLibrarySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.ClientLibrarySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.ClientLibrarySettings;if(object.version!=null)message.version=String(object.version);switch(object.launchStage){default:if(typeof object.launchStage==="number"){message.launchStage=object.launchStage;break}break;case"LAUNCH_STAGE_UNSPECIFIED":case 0:message.launchStage=0;break;case"UNIMPLEMENTED":case 6:message.launchStage=6;break;case"PRELAUNCH":case 7:message.launchStage=7;break;case"EARLY_ACCESS":case 1:message.launchStage=1;break;case"ALPHA":case 2:message.launchStage=2;break;case"BETA":case 3:message.launchStage=3;break;case"GA":case 4:message.launchStage=4;break;case"DEPRECATED":case 5:message.launchStage=5;break}if(object.restNumericEnums!=null)message.restNumericEnums=Boolean(object.restNumericEnums);if(object.javaSettings!=null){if(typeof object.javaSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");message.javaSettings=$root.google.api.JavaSettings.fromObject(object.javaSettings,long+1)}if(object.cppSettings!=null){if(typeof object.cppSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");message.cppSettings=$root.google.api.CppSettings.fromObject(object.cppSettings,long+1)}if(object.phpSettings!=null){if(typeof object.phpSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");message.phpSettings=$root.google.api.PhpSettings.fromObject(object.phpSettings,long+1)}if(object.pythonSettings!=null){if(typeof object.pythonSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");message.pythonSettings=$root.google.api.PythonSettings.fromObject(object.pythonSettings,long+1)}if(object.nodeSettings!=null){if(typeof object.nodeSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");message.nodeSettings=$root.google.api.NodeSettings.fromObject(object.nodeSettings,long+1)}if(object.dotnetSettings!=null){if(typeof object.dotnetSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");message.dotnetSettings=$root.google.api.DotnetSettings.fromObject(object.dotnetSettings,long+1)}if(object.rubySettings!=null){if(typeof object.rubySettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");message.rubySettings=$root.google.api.RubySettings.fromObject(object.rubySettings,long+1)}if(object.goSettings!=null){if(typeof object.goSettings!=="object")throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");message.goSettings=$root.google.api.GoSettings.fromObject(object.goSettings,long+1)}return message};ClientLibrarySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.version="";object.launchStage=options.enums===String?"LAUNCH_STAGE_UNSPECIFIED":0;object.restNumericEnums=false;object.javaSettings=null;object.cppSettings=null;object.phpSettings=null;object.pythonSettings=null;object.nodeSettings=null;object.dotnetSettings=null;object.rubySettings=null;object.goSettings=null}if(message.version!=null&&message.hasOwnProperty("version"))object.version=message.version;if(message.launchStage!=null&&message.hasOwnProperty("launchStage"))object.launchStage=options.enums===String?$root.google.api.LaunchStage[message.launchStage]===undefined?message.launchStage:$root.google.api.LaunchStage[message.launchStage]:message.launchStage;if(message.restNumericEnums!=null&&message.hasOwnProperty("restNumericEnums"))object.restNumericEnums=message.restNumericEnums;if(message.javaSettings!=null&&message.hasOwnProperty("javaSettings"))object.javaSettings=$root.google.api.JavaSettings.toObject(message.javaSettings,options);if(message.cppSettings!=null&&message.hasOwnProperty("cppSettings"))object.cppSettings=$root.google.api.CppSettings.toObject(message.cppSettings,options);if(message.phpSettings!=null&&message.hasOwnProperty("phpSettings"))object.phpSettings=$root.google.api.PhpSettings.toObject(message.phpSettings,options);if(message.pythonSettings!=null&&message.hasOwnProperty("pythonSettings"))object.pythonSettings=$root.google.api.PythonSettings.toObject(message.pythonSettings,options);if(message.nodeSettings!=null&&message.hasOwnProperty("nodeSettings"))object.nodeSettings=$root.google.api.NodeSettings.toObject(message.nodeSettings,options);if(message.dotnetSettings!=null&&message.hasOwnProperty("dotnetSettings"))object.dotnetSettings=$root.google.api.DotnetSettings.toObject(message.dotnetSettings,options);if(message.rubySettings!=null&&message.hasOwnProperty("rubySettings"))object.rubySettings=$root.google.api.RubySettings.toObject(message.rubySettings,options);if(message.goSettings!=null&&message.hasOwnProperty("goSettings"))object.goSettings=$root.google.api.GoSettings.toObject(message.goSettings,options);return object};ClientLibrarySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ClientLibrarySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.ClientLibrarySettings"};return ClientLibrarySettings}();api.Publishing=function(){function Publishing(properties){this.methodSettings=[];this.codeownerGithubTeams=[];this.librarySettings=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.Publishing;while(reader.pos>>3){case 2:{if(!(message.methodSettings&&message.methodSettings.length))message.methodSettings=[];message.methodSettings.push($root.google.api.MethodSettings.decode(reader,reader.uint32(),undefined,long+1));break}case 101:{message.newIssueUri=reader.string();break}case 102:{message.documentationUri=reader.string();break}case 103:{message.apiShortName=reader.string();break}case 104:{message.githubLabel=reader.string();break}case 105:{if(!(message.codeownerGithubTeams&&message.codeownerGithubTeams.length))message.codeownerGithubTeams=[];message.codeownerGithubTeams.push(reader.string());break}case 106:{message.docTagPrefix=reader.string();break}case 107:{message.organization=reader.int32();break}case 109:{if(!(message.librarySettings&&message.librarySettings.length))message.librarySettings=[];message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader,reader.uint32(),undefined,long+1));break}case 110:{message.protoReferenceDocumentationUri=reader.string();break}case 111:{message.restReferenceDocumentationUri=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};Publishing.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Publishing.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methodSettings!=null&&message.hasOwnProperty("methodSettings")){if(!Array.isArray(message.methodSettings))return"methodSettings: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.Publishing;if(object.methodSettings){if(!Array.isArray(object.methodSettings))throw TypeError(".google.api.Publishing.methodSettings: array expected");message.methodSettings=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.JavaSettings,key,value;while(reader.pos>>3){case 1:{message.libraryPackage=reader.string();break}case 2:{if(message.serviceClassNames===$util.emptyObject)message.serviceClassNames={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.serviceClassNames,key);message.serviceClassNames[key]=value;break}case 3:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};JavaSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};JavaSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.libraryPackage!=null&&message.hasOwnProperty("libraryPackage"))if(!$util.isString(message.libraryPackage))return"libraryPackage: string expected";if(message.serviceClassNames!=null&&message.hasOwnProperty("serviceClassNames")){if(!$util.isObject(message.serviceClassNames))return"serviceClassNames: object expected";var key=Object.keys(message.serviceClassNames);for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.JavaSettings;if(object.libraryPackage!=null)message.libraryPackage=String(object.libraryPackage);if(object.serviceClassNames){if(typeof object.serviceClassNames!=="object")throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");message.serviceClassNames={};for(var keys=Object.keys(object.serviceClassNames),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.CppSettings;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};CppSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};CppSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};CppSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.CppSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.CppSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.CppSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};CppSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};CppSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};CppSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.CppSettings"};return CppSettings}();api.PhpSettings=function(){function PhpSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PhpSettings;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};PhpSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PhpSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};PhpSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PhpSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PhpSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PhpSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};PhpSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};PhpSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PhpSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PhpSettings"};return PhpSettings}();api.PythonSettings=function(){function PythonSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};PythonSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};PythonSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures")){var error=$root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures,long+1);if(error)return"experimentalFeatures."+error}return null};PythonSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.PythonSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.experimentalFeatures!=null){if(typeof object.experimentalFeatures!=="object")throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected");message.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures,long+1)}return message};PythonSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.common=null;object.experimentalFeatures=null}if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);if(message.experimentalFeatures!=null&&message.hasOwnProperty("experimentalFeatures"))object.experimentalFeatures=$root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures,options);return object};PythonSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};PythonSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings"};PythonSettings.ExperimentalFeatures=function(){function ExperimentalFeatures(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.PythonSettings.ExperimentalFeatures;while(reader.pos>>3){case 1:{message.restAsyncIoEnabled=reader.bool();break}case 2:{message.protobufPythonicTypesEnabled=reader.bool();break}case 3:{message.unversionedPackageDisabled=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};ExperimentalFeatures.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExperimentalFeatures.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))if(typeof message.restAsyncIoEnabled!=="boolean")return"restAsyncIoEnabled: boolean expected";if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))if(typeof message.protobufPythonicTypesEnabled!=="boolean")return"protobufPythonicTypesEnabled: boolean expected";if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))if(typeof message.unversionedPackageDisabled!=="boolean")return"unversionedPackageDisabled: boolean expected";return null};ExperimentalFeatures.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.PythonSettings.ExperimentalFeatures)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.PythonSettings.ExperimentalFeatures;if(object.restAsyncIoEnabled!=null)message.restAsyncIoEnabled=Boolean(object.restAsyncIoEnabled);if(object.protobufPythonicTypesEnabled!=null)message.protobufPythonicTypesEnabled=Boolean(object.protobufPythonicTypesEnabled);if(object.unversionedPackageDisabled!=null)message.unversionedPackageDisabled=Boolean(object.unversionedPackageDisabled);return message};ExperimentalFeatures.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.restAsyncIoEnabled=false;object.protobufPythonicTypesEnabled=false;object.unversionedPackageDisabled=false}if(message.restAsyncIoEnabled!=null&&message.hasOwnProperty("restAsyncIoEnabled"))object.restAsyncIoEnabled=message.restAsyncIoEnabled;if(message.protobufPythonicTypesEnabled!=null&&message.hasOwnProperty("protobufPythonicTypesEnabled"))object.protobufPythonicTypesEnabled=message.protobufPythonicTypesEnabled;if(message.unversionedPackageDisabled!=null&&message.hasOwnProperty("unversionedPackageDisabled"))object.unversionedPackageDisabled=message.unversionedPackageDisabled;return object};ExperimentalFeatures.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExperimentalFeatures.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.PythonSettings.ExperimentalFeatures"};return ExperimentalFeatures}();return PythonSettings}();api.NodeSettings=function(){function NodeSettings(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.NodeSettings;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};NodeSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NodeSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};NodeSettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.NodeSettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.NodeSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.NodeSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};NodeSettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};NodeSettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NodeSettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.NodeSettings"};return NodeSettings}();api.DotnetSettings=function(){function DotnetSettings(properties){this.renamedServices={};this.renamedResources={};this.ignoredResources=[];this.forcedNamespaceAliases=[];this.handwrittenSignatures=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.DotnetSettings,key,value;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}case 3:{if(message.renamedResources===$util.emptyObject)message.renamedResources={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedResources,key);message.renamedResources[key]=value;break}case 4:{if(!(message.ignoredResources&&message.ignoredResources.length))message.ignoredResources=[];message.ignoredResources.push(reader.string());break}case 5:{if(!(message.forcedNamespaceAliases&&message.forcedNamespaceAliases.length))message.forcedNamespaceAliases=[];message.forcedNamespaceAliases.push(reader.string());break}case 6:{if(!(message.handwrittenSignatures&&message.handwrittenSignatures.length))message.handwrittenSignatures=[];message.handwrittenSignatures.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};DotnetSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DotnetSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.DotnetSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.DotnetSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.RubySettings;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};RubySettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};RubySettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}return null};RubySettings.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.RubySettings)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.RubySettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.RubySettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}return message};RubySettings.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults)object.common=null;if(message.common!=null&&message.hasOwnProperty("common"))object.common=$root.google.api.CommonLanguageSettings.toObject(message.common,options);return object};RubySettings.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};RubySettings.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.RubySettings"};return RubySettings}();api.GoSettings=function(){function GoSettings(properties){this.renamedServices={};if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.GoSettings,key,value;while(reader.pos>>3){case 1:{message.common=$root.google.api.CommonLanguageSettings.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{if(message.renamedServices===$util.emptyObject)message.renamedServices={};var end2=reader.uint32()+reader.pos;key="";value="";while(reader.pos>>3){case 1:key=reader.string();break;case 2:value=reader.string();break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.renamedServices,key);message.renamedServices[key]=value;break}default:reader.skipType(tag&7,long);break}}return message};GoSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GoSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.common!=null&&message.hasOwnProperty("common")){var error=$root.google.api.CommonLanguageSettings.verify(message.common,long+1);if(error)return"common."+error}if(message.renamedServices!=null&&message.hasOwnProperty("renamedServices")){if(!$util.isObject(message.renamedServices))return"renamedServices: object expected";var key=Object.keys(message.renamedServices);for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.GoSettings;if(object.common!=null){if(typeof object.common!=="object")throw TypeError(".google.api.GoSettings.common: object expected");message.common=$root.google.api.CommonLanguageSettings.fromObject(object.common,long+1)}if(object.renamedServices){if(typeof object.renamedServices!=="object")throw TypeError(".google.api.GoSettings.renamedServices: object expected");message.renamedServices={};for(var keys=Object.keys(object.renamedServices),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings;while(reader.pos>>3){case 1:{message.selector=reader.string();break}case 2:{message.longRunning=$root.google.api.MethodSettings.LongRunning.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{if(!(message.autoPopulatedFields&&message.autoPopulatedFields.length))message.autoPopulatedFields=[];message.autoPopulatedFields.push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};MethodSettings.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodSettings.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.selector!=null&&message.hasOwnProperty("selector"))if(!$util.isString(message.selector))return"selector: string expected";if(message.longRunning!=null&&message.hasOwnProperty("longRunning")){var error=$root.google.api.MethodSettings.LongRunning.verify(message.longRunning,long+1);if(error)return"longRunning."+error}if(message.autoPopulatedFields!=null&&message.hasOwnProperty("autoPopulatedFields")){if(!Array.isArray(message.autoPopulatedFields))return"autoPopulatedFields: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings;if(object.selector!=null)message.selector=String(object.selector);if(object.longRunning!=null){if(typeof object.longRunning!=="object")throw TypeError(".google.api.MethodSettings.longRunning: object expected");message.longRunning=$root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning,long+1)}if(object.autoPopulatedFields){if(!Array.isArray(object.autoPopulatedFields))throw TypeError(".google.api.MethodSettings.autoPopulatedFields: array expected");message.autoPopulatedFields=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.MethodSettings.LongRunning;while(reader.pos>>3){case 1:{message.initialPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 2:{message.pollDelayMultiplier=reader.float();break}case 3:{message.maxPollDelay=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{message.totalPollTimeout=$root.google.protobuf.Duration.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};LongRunning.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LongRunning.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay")){var error=$root.google.protobuf.Duration.verify(message.initialPollDelay,long+1);if(error)return"initialPollDelay."+error}if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))if(typeof message.pollDelayMultiplier!=="number")return"pollDelayMultiplier: number expected";if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay")){var error=$root.google.protobuf.Duration.verify(message.maxPollDelay,long+1);if(error)return"maxPollDelay."+error}if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout")){var error=$root.google.protobuf.Duration.verify(message.totalPollTimeout,long+1);if(error)return"totalPollTimeout."+error}return null};LongRunning.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.MethodSettings.LongRunning)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.MethodSettings.LongRunning;if(object.initialPollDelay!=null){if(typeof object.initialPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");message.initialPollDelay=$root.google.protobuf.Duration.fromObject(object.initialPollDelay,long+1)}if(object.pollDelayMultiplier!=null)message.pollDelayMultiplier=Number(object.pollDelayMultiplier);if(object.maxPollDelay!=null){if(typeof object.maxPollDelay!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");message.maxPollDelay=$root.google.protobuf.Duration.fromObject(object.maxPollDelay,long+1)}if(object.totalPollTimeout!=null){if(typeof object.totalPollTimeout!=="object")throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");message.totalPollTimeout=$root.google.protobuf.Duration.fromObject(object.totalPollTimeout,long+1)}return message};LongRunning.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.initialPollDelay=null;object.pollDelayMultiplier=0;object.maxPollDelay=null;object.totalPollTimeout=null}if(message.initialPollDelay!=null&&message.hasOwnProperty("initialPollDelay"))object.initialPollDelay=$root.google.protobuf.Duration.toObject(message.initialPollDelay,options);if(message.pollDelayMultiplier!=null&&message.hasOwnProperty("pollDelayMultiplier"))object.pollDelayMultiplier=options.json&&!isFinite(message.pollDelayMultiplier)?String(message.pollDelayMultiplier):message.pollDelayMultiplier;if(message.maxPollDelay!=null&&message.hasOwnProperty("maxPollDelay"))object.maxPollDelay=$root.google.protobuf.Duration.toObject(message.maxPollDelay,options);if(message.totalPollTimeout!=null&&message.hasOwnProperty("totalPollTimeout"))object.totalPollTimeout=$root.google.protobuf.Duration.toObject(message.totalPollTimeout,options);return object};LongRunning.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LongRunning.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.MethodSettings.LongRunning"};return LongRunning}();return MethodSettings}();api.ClientLibraryOrganization=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED"]=0;values[valuesById[1]="CLOUD"]=1;values[valuesById[2]="ADS"]=2;values[valuesById[3]="PHOTOS"]=3;values[valuesById[4]="STREET_VIEW"]=4;values[valuesById[5]="SHOPPING"]=5;values[valuesById[6]="GEO"]=6;values[valuesById[7]="GENERATIVE_AI"]=7;return values}();api.ClientLibraryDestination=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="CLIENT_LIBRARY_DESTINATION_UNSPECIFIED"]=0;values[valuesById[10]="GITHUB"]=10;values[valuesById[20]="PACKAGE_MANAGER"]=20;return values}();api.SelectiveGapicGeneration=function(){function SelectiveGapicGeneration(properties){this.methods=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.SelectiveGapicGeneration;while(reader.pos>>3){case 1:{if(!(message.methods&&message.methods.length))message.methods=[];message.methods.push(reader.string());break}case 2:{message.generateOmittedAsInternal=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};SelectiveGapicGeneration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SelectiveGapicGeneration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.methods!=null&&message.hasOwnProperty("methods")){if(!Array.isArray(message.methods))return"methods: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.SelectiveGapicGeneration;if(object.methods){if(!Array.isArray(object.methods))throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected");message.methods=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.ResourceDescriptor;while(reader.pos>>3){case 1:{message.type=reader.string();break}case 2:{if(!(message.pattern&&message.pattern.length))message.pattern=[];message.pattern.push(reader.string());break}case 3:{message.nameField=reader.string();break}case 4:{message.history=reader.int32();break}case 5:{message.plural=reader.string();break}case 6:{message.singular=reader.string();break}case 10:{if(!(message.style&&message.style.length))message.style=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.type!=null&&message.hasOwnProperty("type"))if(!$util.isString(message.type))return"type: string expected";if(message.pattern!=null&&message.hasOwnProperty("pattern")){if(!Array.isArray(message.pattern))return"pattern: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.ResourceDescriptor;if(object.type!=null)message.type=String(object.type);if(object.pattern){if(!Array.isArray(object.pattern))throw TypeError(".google.api.ResourceDescriptor.pattern: array expected");message.pattern=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.api.ResourceReference;while(reader.pos>>3){case 1:{message.type=reader.string();break}case 2:{message.childType=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};ResourceReference.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ResourceReference.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.type!=null&&message.hasOwnProperty("type"))if(!$util.isString(message.type))return"type: string expected";if(message.childType!=null&&message.hasOwnProperty("childType"))if(!$util.isString(message.childType))return"childType: string expected";return null};ResourceReference.fromObject=function fromObject(object,long){if(object instanceof $root.google.api.ResourceReference)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.api.ResourceReference;if(object.type!=null)message.type=String(object.type);if(object.childType!=null)message.childType=String(object.childType);return message};ResourceReference.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.type="";object.childType=""}if(message.type!=null&&message.hasOwnProperty("type"))object.type=message.type;if(message.childType!=null&&message.hasOwnProperty("childType"))object.childType=message.childType;return object};ResourceReference.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ResourceReference.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.api.ResourceReference"};return ResourceReference}();return api}();google.protobuf=function(){var protobuf={};protobuf.FileDescriptorSet=function(){function FileDescriptorSet(properties){this.file=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorSet;while(reader.pos>>3){case 1:{if(!(message.file&&message.file.length))message.file=[];message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileDescriptorSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileDescriptorSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.file!=null&&message.hasOwnProperty("file")){if(!Array.isArray(message.file))return"file: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorSet;if(object.file){if(!Array.isArray(object.file))throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");message.file=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{message["package"]=reader.string();break}case 3:{if(!(message.dependency&&message.dependency.length))message.dependency=[];message.dependency.push(reader.string());break}case 10:{if(!(message.publicDependency&&message.publicDependency.length))message.publicDependency=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message["package"]!=null&&message.hasOwnProperty("package"))if(!$util.isString(message["package"]))return"package: string expected";if(message.dependency!=null&&message.hasOwnProperty("dependency")){if(!Array.isArray(message.dependency))return"dependency: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object["package"]!=null)message["package"]=String(object["package"]);if(object.dependency){if(!Array.isArray(object.dependency))throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");message.dependency=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.field&&message.field.length))message.field=[];message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 6:{if(!(message.extension&&message.extension.length))message.extension=[];message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{if(!(message.nestedType&&message.nestedType.length))message.nestedType=[];message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{if(!(message.enumType&&message.enumType.length))message.enumType=[];message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.extensionRange&&message.extensionRange.length))message.extensionRange=[];message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader,reader.uint32(),undefined,long+1));break}case 8:{if(!(message.oneofDecl&&message.oneofDecl.length))message.oneofDecl=[];message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 7:{message.options=$root.google.protobuf.MessageOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 9:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 10:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 11:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};DescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};DescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.field!=null&&message.hasOwnProperty("field")){if(!Array.isArray(message.field))return"field: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.field){if(!Array.isArray(object.field))throw TypeError(".google.protobuf.DescriptorProto.field: array expected");message.field=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ExtensionRange;while(reader.pos>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}case 3:{message.options=$root.google.protobuf.ExtensionRangeOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.ExtensionRangeOptions.verify(message.options,long+1);if(error)return"options."+error}return null};ExtensionRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ExtensionRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");message.options=$root.google.protobuf.ExtensionRangeOptions.fromObject(object.options,long+1)}return message};ExtensionRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0;object.options=null}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.ExtensionRangeOptions.toObject(message.options,options);return object};ExtensionRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ExtensionRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ExtensionRange"};return ExtensionRange}();DescriptorProto.ReservedRange=function(){function ReservedRange(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.DescriptorProto.ReservedRange;while(reader.pos>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};ReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.DescriptorProto.ReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};ReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};ReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};ReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.DescriptorProto.ReservedRange"};return ReservedRange}();return DescriptorProto}();protobuf.ExtensionRangeOptions=function(){function ExtensionRangeOptions(properties){this.uninterpretedOption=[];this.declaration=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions;while(reader.pos>>3){case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 2:{if(!(message.declaration&&message.declaration.length))message.declaration=[];message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader,reader.uint32(),undefined,long+1));break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.verification=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};ExtensionRangeOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ExtensionRangeOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions;if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;while(reader.pos>>3){case 1:{message.number=reader.int32();break}case 2:{message.fullName=reader.string();break}case 3:{message.type=reader.string();break}case 5:{message.reserved=reader.bool();break}case 6:{message.repeated=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};Declaration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Declaration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.fullName!=null&&message.hasOwnProperty("fullName"))if(!$util.isString(message.fullName))return"fullName: string expected";if(message.type!=null&&message.hasOwnProperty("type"))if(!$util.isString(message.type))return"type: string expected";if(message.reserved!=null&&message.hasOwnProperty("reserved"))if(typeof message.reserved!=="boolean")return"reserved: boolean expected";if(message.repeated!=null&&message.hasOwnProperty("repeated"))if(typeof message.repeated!=="boolean")return"repeated: boolean expected";return null};Declaration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ExtensionRangeOptions.Declaration;if(object.number!=null)message.number=object.number|0;if(object.fullName!=null)message.fullName=String(object.fullName);if(object.type!=null)message.type=String(object.type);if(object.reserved!=null)message.reserved=Boolean(object.reserved);if(object.repeated!=null)message.repeated=Boolean(object.repeated);return message};Declaration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.number=0;object.fullName="";object.type="";object.reserved=false;object.repeated=false}if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.fullName!=null&&message.hasOwnProperty("fullName"))object.fullName=message.fullName;if(message.type!=null&&message.hasOwnProperty("type"))object.type=message.type;if(message.reserved!=null&&message.hasOwnProperty("reserved"))object.reserved=message.reserved;if(message.repeated!=null&&message.hasOwnProperty("repeated"))object.repeated=message.repeated;return object};Declaration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Declaration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.ExtensionRangeOptions.Declaration"};return Declaration}();ExtensionRangeOptions.VerificationState=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DECLARATION"]=0;values[valuesById[1]="UNVERIFIED"]=1;return values}();return ExtensionRangeOptions}();protobuf.FieldDescriptorProto=function(){function FieldDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 3:{message.number=reader.int32();break}case 4:{message.label=reader.int32();break}case 5:{message.type=reader.int32();break}case 6:{message.typeName=reader.string();break}case 2:{message.extendee=reader.string();break}case 7:{message.defaultValue=reader.string();break}case 9:{message.oneofIndex=reader.int32();break}case 10:{message.jsonName=reader.string();break}case 8:{message.options=$root.google.protobuf.FieldOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 17:{message.proto3Optional=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};FieldDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FieldDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.label!=null&&message.hasOwnProperty("label"))switch(message.label){default:return"label: enum value expected";case 1:case 3:case 2:break}if(message.type!=null&&message.hasOwnProperty("type"))switch(message.type){default:return"type: enum value expected";case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:break}if(message.typeName!=null&&message.hasOwnProperty("typeName"))if(!$util.isString(message.typeName))return"typeName: string expected";if(message.extendee!=null&&message.hasOwnProperty("extendee"))if(!$util.isString(message.extendee))return"extendee: string expected";if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))if(!$util.isString(message.defaultValue))return"defaultValue: string expected";if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))if(!$util.isInteger(message.oneofIndex))return"oneofIndex: integer expected";if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))if(!$util.isString(message.jsonName))return"jsonName: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.FieldOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))if(typeof message.proto3Optional!=="boolean")return"proto3Optional: boolean expected";return null};FieldDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;switch(object.label){default:if(typeof object.label==="number"){message.label=object.label;break}break;case"LABEL_OPTIONAL":case 1:message.label=1;break;case"LABEL_REPEATED":case 3:message.label=3;break;case"LABEL_REQUIRED":case 2:message.label=2;break}switch(object.type){default:if(typeof object.type==="number"){message.type=object.type;break}break;case"TYPE_DOUBLE":case 1:message.type=1;break;case"TYPE_FLOAT":case 2:message.type=2;break;case"TYPE_INT64":case 3:message.type=3;break;case"TYPE_UINT64":case 4:message.type=4;break;case"TYPE_INT32":case 5:message.type=5;break;case"TYPE_FIXED64":case 6:message.type=6;break;case"TYPE_FIXED32":case 7:message.type=7;break;case"TYPE_BOOL":case 8:message.type=8;break;case"TYPE_STRING":case 9:message.type=9;break;case"TYPE_GROUP":case 10:message.type=10;break;case"TYPE_MESSAGE":case 11:message.type=11;break;case"TYPE_BYTES":case 12:message.type=12;break;case"TYPE_UINT32":case 13:message.type=13;break;case"TYPE_ENUM":case 14:message.type=14;break;case"TYPE_SFIXED32":case 15:message.type=15;break;case"TYPE_SFIXED64":case 16:message.type=16;break;case"TYPE_SINT32":case 17:message.type=17;break;case"TYPE_SINT64":case 18:message.type=18;break}if(object.typeName!=null)message.typeName=String(object.typeName);if(object.extendee!=null)message.extendee=String(object.extendee);if(object.defaultValue!=null)message.defaultValue=String(object.defaultValue);if(object.oneofIndex!=null)message.oneofIndex=object.oneofIndex|0;if(object.jsonName!=null)message.jsonName=String(object.jsonName);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");message.options=$root.google.protobuf.FieldOptions.fromObject(object.options,long+1)}if(object.proto3Optional!=null)message.proto3Optional=Boolean(object.proto3Optional);return message};FieldDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.extendee="";object.number=0;object.label=options.enums===String?"LABEL_OPTIONAL":1;object.type=options.enums===String?"TYPE_DOUBLE":1;object.typeName="";object.defaultValue="";object.options=null;object.oneofIndex=0;object.jsonName="";object.proto3Optional=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.extendee!=null&&message.hasOwnProperty("extendee"))object.extendee=message.extendee;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.label!=null&&message.hasOwnProperty("label"))object.label=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Label[message.label]===undefined?message.label:$root.google.protobuf.FieldDescriptorProto.Label[message.label]:message.label;if(message.type!=null&&message.hasOwnProperty("type"))object.type=options.enums===String?$root.google.protobuf.FieldDescriptorProto.Type[message.type]===undefined?message.type:$root.google.protobuf.FieldDescriptorProto.Type[message.type]:message.type;if(message.typeName!=null&&message.hasOwnProperty("typeName"))object.typeName=message.typeName;if(message.defaultValue!=null&&message.hasOwnProperty("defaultValue"))object.defaultValue=message.defaultValue;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.FieldOptions.toObject(message.options,options);if(message.oneofIndex!=null&&message.hasOwnProperty("oneofIndex"))object.oneofIndex=message.oneofIndex;if(message.jsonName!=null&&message.hasOwnProperty("jsonName"))object.jsonName=message.jsonName;if(message.proto3Optional!=null&&message.hasOwnProperty("proto3Optional"))object.proto3Optional=message.proto3Optional;return object};FieldDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FieldDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldDescriptorProto"};FieldDescriptorProto.Type=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="TYPE_DOUBLE"]=1;values[valuesById[2]="TYPE_FLOAT"]=2;values[valuesById[3]="TYPE_INT64"]=3;values[valuesById[4]="TYPE_UINT64"]=4;values[valuesById[5]="TYPE_INT32"]=5;values[valuesById[6]="TYPE_FIXED64"]=6;values[valuesById[7]="TYPE_FIXED32"]=7;values[valuesById[8]="TYPE_BOOL"]=8;values[valuesById[9]="TYPE_STRING"]=9;values[valuesById[10]="TYPE_GROUP"]=10;values[valuesById[11]="TYPE_MESSAGE"]=11;values[valuesById[12]="TYPE_BYTES"]=12;values[valuesById[13]="TYPE_UINT32"]=13;values[valuesById[14]="TYPE_ENUM"]=14;values[valuesById[15]="TYPE_SFIXED32"]=15;values[valuesById[16]="TYPE_SFIXED64"]=16;values[valuesById[17]="TYPE_SINT32"]=17;values[valuesById[18]="TYPE_SINT64"]=18;return values}();FieldDescriptorProto.Label=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[1]="LABEL_OPTIONAL"]=1;values[valuesById[3]="LABEL_REPEATED"]=3;values[valuesById[2]="LABEL_REQUIRED"]=2;return values}();return FieldDescriptorProto}();protobuf.OneofDescriptorProto=function(){function OneofDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{message.options=$root.google.protobuf.OneofOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};OneofDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.OneofOptions.verify(message.options,long+1);if(error)return"options."+error}return null};OneofDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.OneofDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");message.options=$root.google.protobuf.OneofOptions.fromObject(object.options,long+1)}return message};OneofDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.OneofOptions.toObject(message.options,options);return object};OneofDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};OneofDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.OneofDescriptorProto"};return OneofDescriptorProto}();protobuf.EnumDescriptorProto=function(){function EnumDescriptorProto(properties){this.value=[];this.reservedRange=[];this.reservedName=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.value&&message.value.length))message.value=[];message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.EnumOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 4:{if(!(message.reservedRange&&message.reservedRange.length))message.reservedRange=[];message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader,reader.uint32(),undefined,long+1));break}case 5:{if(!(message.reservedName&&message.reservedName.length))message.reservedName=[];message.reservedName.push(reader.string());break}case 6:{message.visibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.value!=null&&message.hasOwnProperty("value")){if(!Array.isArray(message.value))return"value: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.value){if(!Array.isArray(object.value))throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected");message.value=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;while(reader.pos>>3){case 1:{message.start=reader.int32();break}case 2:{message.end=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};EnumReservedRange.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumReservedRange.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.start!=null&&message.hasOwnProperty("start"))if(!$util.isInteger(message.start))return"start: integer expected";if(message.end!=null&&message.hasOwnProperty("end"))if(!$util.isInteger(message.end))return"end: integer expected";return null};EnumReservedRange.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange;if(object.start!=null)message.start=object.start|0;if(object.end!=null)message.end=object.end|0;return message};EnumReservedRange.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.start=0;object.end=0}if(message.start!=null&&message.hasOwnProperty("start"))object.start=message.start;if(message.end!=null&&message.hasOwnProperty("end"))object.end=message.end;return object};EnumReservedRange.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumReservedRange.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumDescriptorProto.EnumReservedRange"};return EnumReservedRange}();return EnumDescriptorProto}();protobuf.EnumValueDescriptorProto=function(){function EnumValueDescriptorProto(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{message.number=reader.int32();break}case 3:{message.options=$root.google.protobuf.EnumValueOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};EnumValueDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.number!=null&&message.hasOwnProperty("number"))if(!$util.isInteger(message.number))return"number: integer expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.EnumValueOptions.verify(message.options,long+1);if(error)return"options."+error}return null};EnumValueDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.EnumValueDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.number!=null)message.number=object.number|0;if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");message.options=$root.google.protobuf.EnumValueOptions.fromObject(object.options,long+1)}return message};EnumValueDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.number=0;object.options=null}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.number!=null&&message.hasOwnProperty("number"))object.number=message.number;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.EnumValueOptions.toObject(message.options,options);return object};EnumValueDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EnumValueDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.EnumValueDescriptorProto"};return EnumValueDescriptorProto}();protobuf.ServiceDescriptorProto=function(){function ServiceDescriptorProto(properties){this.method=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{if(!(message.method&&message.method.length))message.method=[];message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.options=$root.google.protobuf.ServiceOptions.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};ServiceDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.method!=null&&message.hasOwnProperty("method")){if(!Array.isArray(message.method))return"method: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.method){if(!Array.isArray(object.method))throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected");message.method=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodDescriptorProto;while(reader.pos>>3){case 1:{message.name=reader.string();break}case 2:{message.inputType=reader.string();break}case 3:{message.outputType=reader.string();break}case 4:{message.options=$root.google.protobuf.MethodOptions.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.clientStreaming=reader.bool();break}case 6:{message.serverStreaming=reader.bool();break}default:reader.skipType(tag&7,long);break}}return message};MethodDescriptorProto.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodDescriptorProto.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name"))if(!$util.isString(message.name))return"name: string expected";if(message.inputType!=null&&message.hasOwnProperty("inputType"))if(!$util.isString(message.inputType))return"inputType: string expected";if(message.outputType!=null&&message.hasOwnProperty("outputType"))if(!$util.isString(message.outputType))return"outputType: string expected";if(message.options!=null&&message.hasOwnProperty("options")){var error=$root.google.protobuf.MethodOptions.verify(message.options,long+1);if(error)return"options."+error}if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))if(typeof message.clientStreaming!=="boolean")return"clientStreaming: boolean expected";if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))if(typeof message.serverStreaming!=="boolean")return"serverStreaming: boolean expected";return null};MethodDescriptorProto.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.MethodDescriptorProto)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodDescriptorProto;if(object.name!=null)message.name=String(object.name);if(object.inputType!=null)message.inputType=String(object.inputType);if(object.outputType!=null)message.outputType=String(object.outputType);if(object.options!=null){if(typeof object.options!=="object")throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");message.options=$root.google.protobuf.MethodOptions.fromObject(object.options,long+1)}if(object.clientStreaming!=null)message.clientStreaming=Boolean(object.clientStreaming);if(object.serverStreaming!=null)message.serverStreaming=Boolean(object.serverStreaming);return message};MethodDescriptorProto.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.name="";object.inputType="";object.outputType="";object.options=null;object.clientStreaming=false;object.serverStreaming=false}if(message.name!=null&&message.hasOwnProperty("name"))object.name=message.name;if(message.inputType!=null&&message.hasOwnProperty("inputType"))object.inputType=message.inputType;if(message.outputType!=null&&message.hasOwnProperty("outputType"))object.outputType=message.outputType;if(message.options!=null&&message.hasOwnProperty("options"))object.options=$root.google.protobuf.MethodOptions.toObject(message.options,options);if(message.clientStreaming!=null&&message.hasOwnProperty("clientStreaming"))object.clientStreaming=message.clientStreaming;if(message.serverStreaming!=null&&message.hasOwnProperty("serverStreaming"))object.serverStreaming=message.serverStreaming;return object};MethodDescriptorProto.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};MethodDescriptorProto.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.MethodDescriptorProto"};return MethodDescriptorProto}();protobuf.FileOptions=function(){function FileOptions(properties){this.uninterpretedOption=[];this[".google.api.resourceDefinition"]=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FileOptions;while(reader.pos>>3){case 1:{message.javaPackage=reader.string();break}case 8:{message.javaOuterClassname=reader.string();break}case 10:{message.javaMultipleFiles=reader.bool();break}case 20:{message.javaGenerateEqualsAndHash=reader.bool();break}case 27:{message.javaStringCheckUtf8=reader.bool();break}case 9:{message.optimizeFor=reader.int32();break}case 11:{message.goPackage=reader.string();break}case 16:{message.ccGenericServices=reader.bool();break}case 17:{message.javaGenericServices=reader.bool();break}case 18:{message.pyGenericServices=reader.bool();break}case 23:{message.deprecated=reader.bool();break}case 31:{message.ccEnableArenas=reader.bool();break}case 36:{message.objcClassPrefix=reader.string();break}case 37:{message.csharpNamespace=reader.string();break}case 39:{message.swiftPrefix=reader.string();break}case 40:{message.phpClassPrefix=reader.string();break}case 41:{message.phpNamespace=reader.string();break}case 44:{message.phpMetadataNamespace=reader.string();break}case 45:{message.rubyPackage=reader.string();break}case 50:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1053:{if(!(message[".google.api.resourceDefinition"]&&message[".google.api.resourceDefinition"].length))message[".google.api.resourceDefinition"]=[];message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};FileOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FileOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.javaPackage!=null&&message.hasOwnProperty("javaPackage"))if(!$util.isString(message.javaPackage))return"javaPackage: string expected";if(message.javaOuterClassname!=null&&message.hasOwnProperty("javaOuterClassname"))if(!$util.isString(message.javaOuterClassname))return"javaOuterClassname: string expected";if(message.javaMultipleFiles!=null&&message.hasOwnProperty("javaMultipleFiles"))if(typeof message.javaMultipleFiles!=="boolean")return"javaMultipleFiles: boolean expected";if(message.javaGenerateEqualsAndHash!=null&&message.hasOwnProperty("javaGenerateEqualsAndHash"))if(typeof message.javaGenerateEqualsAndHash!=="boolean")return"javaGenerateEqualsAndHash: boolean expected";if(message.javaStringCheckUtf8!=null&&message.hasOwnProperty("javaStringCheckUtf8"))if(typeof message.javaStringCheckUtf8!=="boolean")return"javaStringCheckUtf8: boolean expected";if(message.optimizeFor!=null&&message.hasOwnProperty("optimizeFor"))switch(message.optimizeFor){default:return"optimizeFor: enum value expected";case 1:case 2:case 3:break}if(message.goPackage!=null&&message.hasOwnProperty("goPackage"))if(!$util.isString(message.goPackage))return"goPackage: string expected";if(message.ccGenericServices!=null&&message.hasOwnProperty("ccGenericServices"))if(typeof message.ccGenericServices!=="boolean")return"ccGenericServices: boolean expected";if(message.javaGenericServices!=null&&message.hasOwnProperty("javaGenericServices"))if(typeof message.javaGenericServices!=="boolean")return"javaGenericServices: boolean expected";if(message.pyGenericServices!=null&&message.hasOwnProperty("pyGenericServices"))if(typeof message.pyGenericServices!=="boolean")return"pyGenericServices: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.ccEnableArenas!=null&&message.hasOwnProperty("ccEnableArenas"))if(typeof message.ccEnableArenas!=="boolean")return"ccEnableArenas: boolean expected";if(message.objcClassPrefix!=null&&message.hasOwnProperty("objcClassPrefix"))if(!$util.isString(message.objcClassPrefix))return"objcClassPrefix: string expected";if(message.csharpNamespace!=null&&message.hasOwnProperty("csharpNamespace"))if(!$util.isString(message.csharpNamespace))return"csharpNamespace: string expected";if(message.swiftPrefix!=null&&message.hasOwnProperty("swiftPrefix"))if(!$util.isString(message.swiftPrefix))return"swiftPrefix: string expected";if(message.phpClassPrefix!=null&&message.hasOwnProperty("phpClassPrefix"))if(!$util.isString(message.phpClassPrefix))return"phpClassPrefix: string expected";if(message.phpNamespace!=null&&message.hasOwnProperty("phpNamespace"))if(!$util.isString(message.phpNamespace))return"phpNamespace: string expected";if(message.phpMetadataNamespace!=null&&message.hasOwnProperty("phpMetadataNamespace"))if(!$util.isString(message.phpMetadataNamespace))return"phpMetadataNamespace: string expected";if(message.rubyPackage!=null&&message.hasOwnProperty("rubyPackage"))if(!$util.isString(message.rubyPackage))return"rubyPackage: string expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FileOptions;if(object.javaPackage!=null)message.javaPackage=String(object.javaPackage);if(object.javaOuterClassname!=null)message.javaOuterClassname=String(object.javaOuterClassname);if(object.javaMultipleFiles!=null)message.javaMultipleFiles=Boolean(object.javaMultipleFiles);if(object.javaGenerateEqualsAndHash!=null)message.javaGenerateEqualsAndHash=Boolean(object.javaGenerateEqualsAndHash);if(object.javaStringCheckUtf8!=null)message.javaStringCheckUtf8=Boolean(object.javaStringCheckUtf8);switch(object.optimizeFor){default:if(typeof object.optimizeFor==="number"){message.optimizeFor=object.optimizeFor;break}break;case"SPEED":case 1:message.optimizeFor=1;break;case"CODE_SIZE":case 2:message.optimizeFor=2;break;case"LITE_RUNTIME":case 3:message.optimizeFor=3;break}if(object.goPackage!=null)message.goPackage=String(object.goPackage);if(object.ccGenericServices!=null)message.ccGenericServices=Boolean(object.ccGenericServices);if(object.javaGenericServices!=null)message.javaGenericServices=Boolean(object.javaGenericServices);if(object.pyGenericServices!=null)message.pyGenericServices=Boolean(object.pyGenericServices);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.ccEnableArenas!=null)message.ccEnableArenas=Boolean(object.ccEnableArenas);if(object.objcClassPrefix!=null)message.objcClassPrefix=String(object.objcClassPrefix);if(object.csharpNamespace!=null)message.csharpNamespace=String(object.csharpNamespace);if(object.swiftPrefix!=null)message.swiftPrefix=String(object.swiftPrefix);if(object.phpClassPrefix!=null)message.phpClassPrefix=String(object.phpClassPrefix);if(object.phpNamespace!=null)message.phpNamespace=String(object.phpNamespace);if(object.phpMetadataNamespace!=null)message.phpMetadataNamespace=String(object.phpMetadataNamespace);if(object.rubyPackage!=null)message.rubyPackage=String(object.rubyPackage);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.FileOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MessageOptions;while(reader.pos>>3){case 1:{message.messageSetWireFormat=reader.bool();break}case 2:{message.noStandardDescriptorAccessor=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 7:{message.mapEntry=reader.bool();break}case 11:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 12:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1053:{message[".google.api.resource"]=$root.google.api.ResourceDescriptor.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};MessageOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MessageOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.messageSetWireFormat!=null&&message.hasOwnProperty("messageSetWireFormat"))if(typeof message.messageSetWireFormat!=="boolean")return"messageSetWireFormat: boolean expected";if(message.noStandardDescriptorAccessor!=null&&message.hasOwnProperty("noStandardDescriptorAccessor"))if(typeof message.noStandardDescriptorAccessor!=="boolean")return"noStandardDescriptorAccessor: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.mapEntry!=null&&message.hasOwnProperty("mapEntry"))if(typeof message.mapEntry!=="boolean")return"mapEntry: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MessageOptions;if(object.messageSetWireFormat!=null)message.messageSetWireFormat=Boolean(object.messageSetWireFormat);if(object.noStandardDescriptorAccessor!=null)message.noStandardDescriptorAccessor=Boolean(object.noStandardDescriptorAccessor);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.mapEntry!=null)message.mapEntry=Boolean(object.mapEntry);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MessageOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions;while(reader.pos>>3){case 1:{message.ctype=reader.int32();break}case 2:{message.packed=reader.bool();break}case 6:{message.jstype=reader.int32();break}case 5:{message.lazy=reader.bool();break}case 15:{message.unverifiedLazy=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 10:{message.weak=reader.bool();break}case 16:{message.debugRedact=reader.bool();break}case 17:{message.retention=reader.int32();break}case 19:{if(!(message.targets&&message.targets.length))message.targets=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.ctype!=null&&message.hasOwnProperty("ctype"))switch(message.ctype){default:return"ctype: enum value expected";case 0:case 1:case 2:break}if(message.packed!=null&&message.hasOwnProperty("packed"))if(typeof message.packed!=="boolean")return"packed: boolean expected";if(message.jstype!=null&&message.hasOwnProperty("jstype"))switch(message.jstype){default:return"jstype: enum value expected";case 0:case 1:case 2:break}if(message.lazy!=null&&message.hasOwnProperty("lazy"))if(typeof message.lazy!=="boolean")return"lazy: boolean expected";if(message.unverifiedLazy!=null&&message.hasOwnProperty("unverifiedLazy"))if(typeof message.unverifiedLazy!=="boolean")return"unverifiedLazy: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.weak!=null&&message.hasOwnProperty("weak"))if(typeof message.weak!=="boolean")return"weak: boolean expected";if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.retention!=null&&message.hasOwnProperty("retention"))switch(message.retention){default:return"retention: enum value expected";case 0:case 1:case 2:break}if(message.targets!=null&&message.hasOwnProperty("targets")){if(!Array.isArray(message.targets))return"targets: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions;switch(object.ctype){default:if(typeof object.ctype==="number"){message.ctype=object.ctype;break}break;case"STRING":case 0:message.ctype=0;break;case"CORD":case 1:message.ctype=1;break;case"STRING_PIECE":case 2:message.ctype=2;break}if(object.packed!=null)message.packed=Boolean(object.packed);switch(object.jstype){default:if(typeof object.jstype==="number"){message.jstype=object.jstype;break}break;case"JS_NORMAL":case 0:message.jstype=0;break;case"JS_STRING":case 1:message.jstype=1;break;case"JS_NUMBER":case 2:message.jstype=2;break}if(object.lazy!=null)message.lazy=Boolean(object.lazy);if(object.unverifiedLazy!=null)message.unverifiedLazy=Boolean(object.unverifiedLazy);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.weak!=null)message.weak=Boolean(object.weak);if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);switch(object.retention){default:if(typeof object.retention==="number"){message.retention=object.retention;break}break;case"RETENTION_UNKNOWN":case 0:message.retention=0;break;case"RETENTION_RUNTIME":case 1:message.retention=1;break;case"RETENTION_SOURCE":case 2:message.retention=2;break}if(object.targets){if(!Array.isArray(object.targets))throw TypeError(".google.protobuf.FieldOptions.targets: array expected");message.targets=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.EditionDefault;while(reader.pos>>3){case 3:{message.edition=reader.int32();break}case 2:{message.value=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};EditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.value!=null&&message.hasOwnProperty("value"))if(!$util.isString(message.value))return"value: string expected";return null};EditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.EditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.EditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.value!=null)message.value=String(object.value);return message};EditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.value="";object.edition=options.enums===String?"EDITION_UNKNOWN":0}if(message.value!=null&&message.hasOwnProperty("value"))object.value=message.value;if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;return object};EditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};EditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.EditionDefault"};return EditionDefault}();FieldOptions.FeatureSupport=function(){function FeatureSupport(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FieldOptions.FeatureSupport;while(reader.pos>>3){case 1:{message.editionIntroduced=reader.int32();break}case 2:{message.editionDeprecated=reader.int32();break}case 3:{message.deprecationWarning=reader.string();break}case 4:{message.editionRemoved=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSupport.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSupport.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))switch(message.editionIntroduced){default:return"editionIntroduced: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))switch(message.editionDeprecated){default:return"editionDeprecated: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))if(!$util.isString(message.deprecationWarning))return"deprecationWarning: string expected";if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))switch(message.editionRemoved){default:return"editionRemoved: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}return null};FeatureSupport.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FieldOptions.FeatureSupport)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FieldOptions.FeatureSupport;switch(object.editionIntroduced){default:if(typeof object.editionIntroduced==="number"){message.editionIntroduced=object.editionIntroduced;break}break;case"EDITION_UNKNOWN":case 0:message.editionIntroduced=0;break;case"EDITION_LEGACY":case 900:message.editionIntroduced=900;break;case"EDITION_PROTO2":case 998:message.editionIntroduced=998;break;case"EDITION_PROTO3":case 999:message.editionIntroduced=999;break;case"EDITION_2023":case 1e3:message.editionIntroduced=1e3;break;case"EDITION_2024":case 1001:message.editionIntroduced=1001;break;case"EDITION_1_TEST_ONLY":case 1:message.editionIntroduced=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionIntroduced=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionIntroduced=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionIntroduced=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionIntroduced=99999;break;case"EDITION_MAX":case 2147483647:message.editionIntroduced=2147483647;break}switch(object.editionDeprecated){default:if(typeof object.editionDeprecated==="number"){message.editionDeprecated=object.editionDeprecated;break}break;case"EDITION_UNKNOWN":case 0:message.editionDeprecated=0;break;case"EDITION_LEGACY":case 900:message.editionDeprecated=900;break;case"EDITION_PROTO2":case 998:message.editionDeprecated=998;break;case"EDITION_PROTO3":case 999:message.editionDeprecated=999;break;case"EDITION_2023":case 1e3:message.editionDeprecated=1e3;break;case"EDITION_2024":case 1001:message.editionDeprecated=1001;break;case"EDITION_1_TEST_ONLY":case 1:message.editionDeprecated=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionDeprecated=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionDeprecated=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionDeprecated=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionDeprecated=99999;break;case"EDITION_MAX":case 2147483647:message.editionDeprecated=2147483647;break}if(object.deprecationWarning!=null)message.deprecationWarning=String(object.deprecationWarning);switch(object.editionRemoved){default:if(typeof object.editionRemoved==="number"){message.editionRemoved=object.editionRemoved;break}break;case"EDITION_UNKNOWN":case 0:message.editionRemoved=0;break;case"EDITION_LEGACY":case 900:message.editionRemoved=900;break;case"EDITION_PROTO2":case 998:message.editionRemoved=998;break;case"EDITION_PROTO3":case 999:message.editionRemoved=999;break;case"EDITION_2023":case 1e3:message.editionRemoved=1e3;break;case"EDITION_2024":case 1001:message.editionRemoved=1001;break;case"EDITION_1_TEST_ONLY":case 1:message.editionRemoved=1;break;case"EDITION_2_TEST_ONLY":case 2:message.editionRemoved=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.editionRemoved=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.editionRemoved=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.editionRemoved=99999;break;case"EDITION_MAX":case 2147483647:message.editionRemoved=2147483647;break}return message};FeatureSupport.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.editionIntroduced=options.enums===String?"EDITION_UNKNOWN":0;object.editionDeprecated=options.enums===String?"EDITION_UNKNOWN":0;object.deprecationWarning="";object.editionRemoved=options.enums===String?"EDITION_UNKNOWN":0}if(message.editionIntroduced!=null&&message.hasOwnProperty("editionIntroduced"))object.editionIntroduced=options.enums===String?$root.google.protobuf.Edition[message.editionIntroduced]===undefined?message.editionIntroduced:$root.google.protobuf.Edition[message.editionIntroduced]:message.editionIntroduced;if(message.editionDeprecated!=null&&message.hasOwnProperty("editionDeprecated"))object.editionDeprecated=options.enums===String?$root.google.protobuf.Edition[message.editionDeprecated]===undefined?message.editionDeprecated:$root.google.protobuf.Edition[message.editionDeprecated]:message.editionDeprecated;if(message.deprecationWarning!=null&&message.hasOwnProperty("deprecationWarning"))object.deprecationWarning=message.deprecationWarning;if(message.editionRemoved!=null&&message.hasOwnProperty("editionRemoved"))object.editionRemoved=options.enums===String?$root.google.protobuf.Edition[message.editionRemoved]===undefined?message.editionRemoved:$root.google.protobuf.Edition[message.editionRemoved]:message.editionRemoved;return object};FeatureSupport.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSupport.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FieldOptions.FeatureSupport"};return FeatureSupport}();return FieldOptions}();protobuf.OneofOptions=function(){function OneofOptions(properties){this.uninterpretedOption=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.OneofOptions;while(reader.pos>>3){case 1:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};OneofOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};OneofOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.OneofOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.OneofOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumOptions;while(reader.pos>>3){case 2:{message.allowAlias=reader.bool();break}case 3:{message.deprecated=reader.bool();break}case 6:{message.deprecatedLegacyJsonFieldConflicts=reader.bool();break}case 7:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.allowAlias!=null&&message.hasOwnProperty("allowAlias"))if(typeof message.allowAlias!=="boolean")return"allowAlias: boolean expected";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.deprecatedLegacyJsonFieldConflicts!=null&&message.hasOwnProperty("deprecatedLegacyJsonFieldConflicts"))if(typeof message.deprecatedLegacyJsonFieldConflicts!=="boolean")return"deprecatedLegacyJsonFieldConflicts: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumOptions;if(object.allowAlias!=null)message.allowAlias=Boolean(object.allowAlias);if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.deprecatedLegacyJsonFieldConflicts!=null)message.deprecatedLegacyJsonFieldConflicts=Boolean(object.deprecatedLegacyJsonFieldConflicts);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.EnumValueOptions;while(reader.pos>>3){case 1:{message.deprecated=reader.bool();break}case 2:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 3:{message.debugRedact=reader.bool();break}case 4:{message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};EnumValueOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};EnumValueOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.debugRedact!=null&&message.hasOwnProperty("debugRedact"))if(typeof message.debugRedact!=="boolean")return"debugRedact: boolean expected";if(message.featureSupport!=null&&message.hasOwnProperty("featureSupport")){var error=$root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport,long+1);if(error)return"featureSupport."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.EnumValueOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.debugRedact!=null)message.debugRedact=Boolean(object.debugRedact);if(object.featureSupport!=null){if(typeof object.featureSupport!=="object")throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected");message.featureSupport=$root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ServiceOptions;while(reader.pos>>3){case 34:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 33:{message.deprecated=reader.bool();break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 1049:{message[".google.api.defaultHost"]=reader.string();break}case 1050:{message[".google.api.oauthScopes"]=reader.string();break}case 525000001:{message[".google.api.apiVersion"]=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};ServiceOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ServiceOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ServiceOptions;if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.ServiceOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.MethodOptions;while(reader.pos>>3){case 33:{message.deprecated=reader.bool();break}case 34:{message.idempotencyLevel=reader.int32();break}case 35:{message.features=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 999:{if(!(message.uninterpretedOption&&message.uninterpretedOption.length))message.uninterpretedOption=[];message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader,reader.uint32(),undefined,long+1));break}case 72295728:{message[".google.api.http"]=$root.google.api.HttpRule.decode(reader,reader.uint32(),undefined,long+1);break}case 1051:{if(!(message[".google.api.methodSignature"]&&message[".google.api.methodSignature"].length))message[".google.api.methodSignature"]=[];message[".google.api.methodSignature"].push(reader.string());break}default:reader.skipType(tag&7,long);break}}return message};MethodOptions.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};MethodOptions.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.deprecated!=null&&message.hasOwnProperty("deprecated"))if(typeof message.deprecated!=="boolean")return"deprecated: boolean expected";if(message.idempotencyLevel!=null&&message.hasOwnProperty("idempotencyLevel"))switch(message.idempotencyLevel){default:return"idempotencyLevel: enum value expected";case 0:case 1:case 2:break}if(message.features!=null&&message.hasOwnProperty("features")){var error=$root.google.protobuf.FeatureSet.verify(message.features,long+1);if(error)return"features."+error}if(message.uninterpretedOption!=null&&message.hasOwnProperty("uninterpretedOption")){if(!Array.isArray(message.uninterpretedOption))return"uninterpretedOption: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.MethodOptions;if(object.deprecated!=null)message.deprecated=Boolean(object.deprecated);switch(object.idempotencyLevel){default:if(typeof object.idempotencyLevel==="number"){message.idempotencyLevel=object.idempotencyLevel;break}break;case"IDEMPOTENCY_UNKNOWN":case 0:message.idempotencyLevel=0;break;case"NO_SIDE_EFFECTS":case 1:message.idempotencyLevel=1;break;case"IDEMPOTENT":case 2:message.idempotencyLevel=2;break}if(object.features!=null){if(typeof object.features!=="object")throw TypeError(".google.protobuf.MethodOptions.features: object expected");message.features=$root.google.protobuf.FeatureSet.fromObject(object.features,long+1)}if(object.uninterpretedOption){if(!Array.isArray(object.uninterpretedOption))throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected");message.uninterpretedOption=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption;while(reader.pos>>3){case 2:{if(!(message.name&&message.name.length))message.name=[];message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader,reader.uint32(),undefined,long+1));break}case 3:{message.identifierValue=reader.string();break}case 4:{message.positiveIntValue=reader.uint64();break}case 5:{message.negativeIntValue=reader.int64();break}case 6:{message.doubleValue=reader.double();break}case 7:{message.stringValue=reader.bytes();break}case 8:{message.aggregateValue=reader.string();break}default:reader.skipType(tag&7,long);break}}return message};UninterpretedOption.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};UninterpretedOption.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.name!=null&&message.hasOwnProperty("name")){if(!Array.isArray(message.name))return"name: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption;if(object.name){if(!Array.isArray(object.name))throw TypeError(".google.protobuf.UninterpretedOption.name: array expected");message.name=[];for(var i=0;i>>0,object.positiveIntValue.high>>>0).toNumber(true);if(object.negativeIntValue!=null)if($util.Long)(message.negativeIntValue=$util.Long.fromValue(object.negativeIntValue)).unsigned=false;else if(typeof object.negativeIntValue==="string")message.negativeIntValue=parseInt(object.negativeIntValue,10);else if(typeof object.negativeIntValue==="number")message.negativeIntValue=object.negativeIntValue;else if(typeof object.negativeIntValue==="object")message.negativeIntValue=new $util.LongBits(object.negativeIntValue.low>>>0,object.negativeIntValue.high>>>0).toNumber();if(object.doubleValue!=null)message.doubleValue=Number(object.doubleValue);if(object.stringValue!=null)if(typeof object.stringValue==="string")$util.base64.decode(object.stringValue,message.stringValue=$util.newBuffer($util.base64.length(object.stringValue)),0);else if(object.stringValue.length>=0)message.stringValue=object.stringValue;if(object.aggregateValue!=null)message.aggregateValue=String(object.aggregateValue);return message};UninterpretedOption.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.arrays||options.defaults)object.name=[];if(options.defaults){object.identifierValue="";if($util.Long){var long=new $util.Long(0,0,true);object.positiveIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.positiveIntValue=options.longs===String?"0":0;if($util.Long){var long=new $util.Long(0,0,false);object.negativeIntValue=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.negativeIntValue=options.longs===String?"0":0;object.doubleValue=0;if(options.bytes===String)object.stringValue="";else{object.stringValue=[];if(options.bytes!==Array)object.stringValue=$util.newBuffer(object.stringValue)}object.aggregateValue=""}if(message.name&&message.name.length){object.name=[];for(var j=0;j>>0,message.positiveIntValue.high>>>0).toNumber(true):message.positiveIntValue;if(message.negativeIntValue!=null&&message.hasOwnProperty("negativeIntValue"))if(typeof message.negativeIntValue==="number")object.negativeIntValue=options.longs===String?String(message.negativeIntValue):message.negativeIntValue;else object.negativeIntValue=options.longs===String?$util.Long.prototype.toString.call(message.negativeIntValue):options.longs===Number?new $util.LongBits(message.negativeIntValue.low>>>0,message.negativeIntValue.high>>>0).toNumber():message.negativeIntValue;if(message.doubleValue!=null&&message.hasOwnProperty("doubleValue"))object.doubleValue=options.json&&!isFinite(message.doubleValue)?String(message.doubleValue):message.doubleValue;if(message.stringValue!=null&&message.hasOwnProperty("stringValue"))object.stringValue=options.bytes===String?$util.base64.encode(message.stringValue,0,message.stringValue.length):options.bytes===Array?Array.prototype.slice.call(message.stringValue):message.stringValue;if(message.aggregateValue!=null&&message.hasOwnProperty("aggregateValue"))object.aggregateValue=message.aggregateValue;return object};UninterpretedOption.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};UninterpretedOption.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption"};UninterpretedOption.NamePart=function(){function NamePart(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.UninterpretedOption.NamePart;while(reader.pos>>3){case 1:{message.namePart=reader.string();break}case 2:{message.isExtension=reader.bool();break}default:reader.skipType(tag&7,long);break}}if(!message.hasOwnProperty("namePart"))throw $util.ProtocolError("missing required 'namePart'",{instance:message});if(!message.hasOwnProperty("isExtension"))throw $util.ProtocolError("missing required 'isExtension'",{instance:message});return message};NamePart.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};NamePart.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(!$util.isString(message.namePart))return"namePart: string expected";if(typeof message.isExtension!=="boolean")return"isExtension: boolean expected";return null};NamePart.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.UninterpretedOption.NamePart)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.UninterpretedOption.NamePart;if(object.namePart!=null)message.namePart=String(object.namePart);if(object.isExtension!=null)message.isExtension=Boolean(object.isExtension);return message};NamePart.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.namePart="";object.isExtension=false}if(message.namePart!=null&&message.hasOwnProperty("namePart"))object.namePart=message.namePart;if(message.isExtension!=null&&message.hasOwnProperty("isExtension"))object.isExtension=message.isExtension;return object};NamePart.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};NamePart.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.UninterpretedOption.NamePart"};return NamePart}();return UninterpretedOption}();protobuf.FeatureSet=function(){function FeatureSet(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet;while(reader.pos>>3){case 1:{message.fieldPresence=reader.int32();break}case 2:{message.enumType=reader.int32();break}case 3:{message.repeatedFieldEncoding=reader.int32();break}case 4:{message.utf8Validation=reader.int32();break}case 5:{message.messageEncoding=reader.int32();break}case 6:{message.jsonFormat=reader.int32();break}case 7:{message.enforceNamingStyle=reader.int32();break}case 8:{message.defaultSymbolVisibility=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSet.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSet.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))switch(message.fieldPresence){default:return"fieldPresence: enum value expected";case 0:case 1:case 2:case 3:break}if(message.enumType!=null&&message.hasOwnProperty("enumType"))switch(message.enumType){default:return"enumType: enum value expected";case 0:case 1:case 2:break}if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))switch(message.repeatedFieldEncoding){default:return"repeatedFieldEncoding: enum value expected";case 0:case 1:case 2:break}if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))switch(message.utf8Validation){default:return"utf8Validation: enum value expected";case 0:case 2:case 3:break}if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))switch(message.messageEncoding){default:return"messageEncoding: enum value expected";case 0:case 1:case 2:break}if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))switch(message.jsonFormat){default:return"jsonFormat: enum value expected";case 0:case 1:case 2:break}if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))switch(message.enforceNamingStyle){default:return"enforceNamingStyle: enum value expected";case 0:case 1:case 2:break}if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))switch(message.defaultSymbolVisibility){default:return"defaultSymbolVisibility: enum value expected";case 0:case 1:case 2:case 3:case 4:break}return null};FeatureSet.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSet;switch(object.fieldPresence){default:if(typeof object.fieldPresence==="number"){message.fieldPresence=object.fieldPresence;break}break;case"FIELD_PRESENCE_UNKNOWN":case 0:message.fieldPresence=0;break;case"EXPLICIT":case 1:message.fieldPresence=1;break;case"IMPLICIT":case 2:message.fieldPresence=2;break;case"LEGACY_REQUIRED":case 3:message.fieldPresence=3;break}switch(object.enumType){default:if(typeof object.enumType==="number"){message.enumType=object.enumType;break}break;case"ENUM_TYPE_UNKNOWN":case 0:message.enumType=0;break;case"OPEN":case 1:message.enumType=1;break;case"CLOSED":case 2:message.enumType=2;break}switch(object.repeatedFieldEncoding){default:if(typeof object.repeatedFieldEncoding==="number"){message.repeatedFieldEncoding=object.repeatedFieldEncoding;break}break;case"REPEATED_FIELD_ENCODING_UNKNOWN":case 0:message.repeatedFieldEncoding=0;break;case"PACKED":case 1:message.repeatedFieldEncoding=1;break;case"EXPANDED":case 2:message.repeatedFieldEncoding=2;break}switch(object.utf8Validation){default:if(typeof object.utf8Validation==="number"){message.utf8Validation=object.utf8Validation;break}break;case"UTF8_VALIDATION_UNKNOWN":case 0:message.utf8Validation=0;break;case"VERIFY":case 2:message.utf8Validation=2;break;case"NONE":case 3:message.utf8Validation=3;break}switch(object.messageEncoding){default:if(typeof object.messageEncoding==="number"){message.messageEncoding=object.messageEncoding;break}break;case"MESSAGE_ENCODING_UNKNOWN":case 0:message.messageEncoding=0;break;case"LENGTH_PREFIXED":case 1:message.messageEncoding=1;break;case"DELIMITED":case 2:message.messageEncoding=2;break}switch(object.jsonFormat){default:if(typeof object.jsonFormat==="number"){message.jsonFormat=object.jsonFormat;break}break;case"JSON_FORMAT_UNKNOWN":case 0:message.jsonFormat=0;break;case"ALLOW":case 1:message.jsonFormat=1;break;case"LEGACY_BEST_EFFORT":case 2:message.jsonFormat=2;break}switch(object.enforceNamingStyle){default:if(typeof object.enforceNamingStyle==="number"){message.enforceNamingStyle=object.enforceNamingStyle;break}break;case"ENFORCE_NAMING_STYLE_UNKNOWN":case 0:message.enforceNamingStyle=0;break;case"STYLE2024":case 1:message.enforceNamingStyle=1;break;case"STYLE_LEGACY":case 2:message.enforceNamingStyle=2;break}switch(object.defaultSymbolVisibility){default:if(typeof object.defaultSymbolVisibility==="number"){message.defaultSymbolVisibility=object.defaultSymbolVisibility;break}break;case"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":case 0:message.defaultSymbolVisibility=0;break;case"EXPORT_ALL":case 1:message.defaultSymbolVisibility=1;break;case"EXPORT_TOP_LEVEL":case 2:message.defaultSymbolVisibility=2;break;case"LOCAL_ALL":case 3:message.defaultSymbolVisibility=3;break;case"STRICT":case 4:message.defaultSymbolVisibility=4;break}return message};FeatureSet.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.fieldPresence=options.enums===String?"FIELD_PRESENCE_UNKNOWN":0;object.enumType=options.enums===String?"ENUM_TYPE_UNKNOWN":0;object.repeatedFieldEncoding=options.enums===String?"REPEATED_FIELD_ENCODING_UNKNOWN":0;object.utf8Validation=options.enums===String?"UTF8_VALIDATION_UNKNOWN":0;object.messageEncoding=options.enums===String?"MESSAGE_ENCODING_UNKNOWN":0;object.jsonFormat=options.enums===String?"JSON_FORMAT_UNKNOWN":0;object.enforceNamingStyle=options.enums===String?"ENFORCE_NAMING_STYLE_UNKNOWN":0;object.defaultSymbolVisibility=options.enums===String?"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":0}if(message.fieldPresence!=null&&message.hasOwnProperty("fieldPresence"))object.fieldPresence=options.enums===String?$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]===undefined?message.fieldPresence:$root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence]:message.fieldPresence;if(message.enumType!=null&&message.hasOwnProperty("enumType"))object.enumType=options.enums===String?$root.google.protobuf.FeatureSet.EnumType[message.enumType]===undefined?message.enumType:$root.google.protobuf.FeatureSet.EnumType[message.enumType]:message.enumType;if(message.repeatedFieldEncoding!=null&&message.hasOwnProperty("repeatedFieldEncoding"))object.repeatedFieldEncoding=options.enums===String?$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]===undefined?message.repeatedFieldEncoding:$root.google.protobuf.FeatureSet.RepeatedFieldEncoding[message.repeatedFieldEncoding]:message.repeatedFieldEncoding;if(message.utf8Validation!=null&&message.hasOwnProperty("utf8Validation"))object.utf8Validation=options.enums===String?$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]===undefined?message.utf8Validation:$root.google.protobuf.FeatureSet.Utf8Validation[message.utf8Validation]:message.utf8Validation;if(message.messageEncoding!=null&&message.hasOwnProperty("messageEncoding"))object.messageEncoding=options.enums===String?$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]===undefined?message.messageEncoding:$root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding]:message.messageEncoding;if(message.jsonFormat!=null&&message.hasOwnProperty("jsonFormat"))object.jsonFormat=options.enums===String?$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]===undefined?message.jsonFormat:$root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat]:message.jsonFormat;if(message.enforceNamingStyle!=null&&message.hasOwnProperty("enforceNamingStyle"))object.enforceNamingStyle=options.enums===String?$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]===undefined?message.enforceNamingStyle:$root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle]:message.enforceNamingStyle;if(message.defaultSymbolVisibility!=null&&message.hasOwnProperty("defaultSymbolVisibility"))object.defaultSymbolVisibility=options.enums===String?$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]===undefined?message.defaultSymbolVisibility:$root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility]:message.defaultSymbolVisibility;return object};FeatureSet.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSet.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet"};FeatureSet.FieldPresence=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="FIELD_PRESENCE_UNKNOWN"]=0;values[valuesById[1]="EXPLICIT"]=1;values[valuesById[2]="IMPLICIT"]=2;values[valuesById[3]="LEGACY_REQUIRED"]=3;return values}();FeatureSet.EnumType=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENUM_TYPE_UNKNOWN"]=0;values[valuesById[1]="OPEN"]=1;values[valuesById[2]="CLOSED"]=2;return values}();FeatureSet.RepeatedFieldEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="REPEATED_FIELD_ENCODING_UNKNOWN"]=0;values[valuesById[1]="PACKED"]=1;values[valuesById[2]="EXPANDED"]=2;return values}();FeatureSet.Utf8Validation=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="UTF8_VALIDATION_UNKNOWN"]=0;values[valuesById[2]="VERIFY"]=2;values[valuesById[3]="NONE"]=3;return values}();FeatureSet.MessageEncoding=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="MESSAGE_ENCODING_UNKNOWN"]=0;values[valuesById[1]="LENGTH_PREFIXED"]=1;values[valuesById[2]="DELIMITED"]=2;return values}();FeatureSet.JsonFormat=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="JSON_FORMAT_UNKNOWN"]=0;values[valuesById[1]="ALLOW"]=1;values[valuesById[2]="LEGACY_BEST_EFFORT"]=2;return values}();FeatureSet.EnforceNamingStyle=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="ENFORCE_NAMING_STYLE_UNKNOWN"]=0;values[valuesById[1]="STYLE2024"]=1;values[valuesById[2]="STYLE_LEGACY"]=2;return values}();FeatureSet.VisibilityFeature=function(){function VisibilityFeature(properties){if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSet.VisibilityFeature;while(reader.pos>>3){default:reader.skipType(tag&7,long);break}}return message};VisibilityFeature.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};VisibilityFeature.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";return null};VisibilityFeature.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");return new $root.google.protobuf.FeatureSet.VisibilityFeature};VisibilityFeature.toObject=function toObject(){return{}};VisibilityFeature.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};VisibilityFeature.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSet.VisibilityFeature"};VisibilityFeature.DefaultSymbolVisibility=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"]=0;values[valuesById[1]="EXPORT_ALL"]=1;values[valuesById[2]="EXPORT_TOP_LEVEL"]=2;values[valuesById[3]="LOCAL_ALL"]=3;values[valuesById[4]="STRICT"]=4;return values}();return VisibilityFeature}();return FeatureSet}();protobuf.FeatureSetDefaults=function(){function FeatureSetDefaults(properties){this.defaults=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults;while(reader.pos>>3){case 1:{if(!(message.defaults&&message.defaults.length))message.defaults=[];message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader,reader.uint32(),undefined,long+1));break}case 4:{message.minimumEdition=reader.int32();break}case 5:{message.maximumEdition=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetDefaults.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetDefaults.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.defaults!=null&&message.hasOwnProperty("defaults")){if(!Array.isArray(message.defaults))return"defaults: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults;if(object.defaults){if(!Array.isArray(object.defaults))throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: array expected");message.defaults=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;while(reader.pos>>3){case 3:{message.edition=reader.int32();break}case 4:{message.overridableFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}case 5:{message.fixedFeatures=$root.google.protobuf.FeatureSet.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};FeatureSetEditionDefault.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};FeatureSetEditionDefault.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.edition!=null&&message.hasOwnProperty("edition"))switch(message.edition){default:return"edition: enum value expected";case 0:case 900:case 998:case 999:case 1e3:case 1001:case 1:case 2:case 99997:case 99998:case 99999:case 2147483647:break}if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.overridableFeatures,long+1);if(error)return"overridableFeatures."+error}if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures")){var error=$root.google.protobuf.FeatureSet.verify(message.fixedFeatures,long+1);if(error)return"fixedFeatures."+error}return null};FeatureSetEditionDefault.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault;switch(object.edition){default:if(typeof object.edition==="number"){message.edition=object.edition;break}break;case"EDITION_UNKNOWN":case 0:message.edition=0;break;case"EDITION_LEGACY":case 900:message.edition=900;break;case"EDITION_PROTO2":case 998:message.edition=998;break;case"EDITION_PROTO3":case 999:message.edition=999;break;case"EDITION_2023":case 1e3:message.edition=1e3;break;case"EDITION_2024":case 1001:message.edition=1001;break;case"EDITION_1_TEST_ONLY":case 1:message.edition=1;break;case"EDITION_2_TEST_ONLY":case 2:message.edition=2;break;case"EDITION_99997_TEST_ONLY":case 99997:message.edition=99997;break;case"EDITION_99998_TEST_ONLY":case 99998:message.edition=99998;break;case"EDITION_99999_TEST_ONLY":case 99999:message.edition=99999;break;case"EDITION_MAX":case 2147483647:message.edition=2147483647;break}if(object.overridableFeatures!=null){if(typeof object.overridableFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected");message.overridableFeatures=$root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures,long+1)}if(object.fixedFeatures!=null){if(typeof object.fixedFeatures!=="object")throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected");message.fixedFeatures=$root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures,long+1)}return message};FeatureSetEditionDefault.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.edition=options.enums===String?"EDITION_UNKNOWN":0;object.overridableFeatures=null;object.fixedFeatures=null}if(message.edition!=null&&message.hasOwnProperty("edition"))object.edition=options.enums===String?$root.google.protobuf.Edition[message.edition]===undefined?message.edition:$root.google.protobuf.Edition[message.edition]:message.edition;if(message.overridableFeatures!=null&&message.hasOwnProperty("overridableFeatures"))object.overridableFeatures=$root.google.protobuf.FeatureSet.toObject(message.overridableFeatures,options);if(message.fixedFeatures!=null&&message.hasOwnProperty("fixedFeatures"))object.fixedFeatures=$root.google.protobuf.FeatureSet.toObject(message.fixedFeatures,options);return object};FeatureSetEditionDefault.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};FeatureSetEditionDefault.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"};return FeatureSetEditionDefault}();return FeatureSetDefaults}();protobuf.SourceCodeInfo=function(){function SourceCodeInfo(properties){this.location=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo;while(reader.pos>>3){case 1:{if(!(message.location&&message.location.length))message.location=[];message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};SourceCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};SourceCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.location!=null&&message.hasOwnProperty("location")){if(!Array.isArray(message.location))return"location: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo;if(object.location){if(!Array.isArray(object.location))throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected");message.location=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.SourceCodeInfo.Location;while(reader.pos>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.SourceCodeInfo.Location;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected");message.path=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo;while(reader.pos>>3){case 1:{if(!(message.annotation&&message.annotation.length))message.annotation=[];message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};GeneratedCodeInfo.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};GeneratedCodeInfo.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.annotation!=null&&message.hasOwnProperty("annotation")){if(!Array.isArray(message.annotation))return"annotation: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo;if(object.annotation){if(!Array.isArray(object.annotation))throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected");message.annotation=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;while(reader.pos>>3){case 1:{if(!(message.path&&message.path.length))message.path=[];if((tag&7)===2){var end2=reader.uint32()+reader.pos;while(reader.pos$util.recursionLimit)return"maximum nesting depth exceeded";if(message.path!=null&&message.hasOwnProperty("path")){if(!Array.isArray(message.path))return"path: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.GeneratedCodeInfo.Annotation;if(object.path){if(!Array.isArray(object.path))throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected");message.path=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Duration;while(reader.pos>>3){case 1:{message.seconds=reader.int64();break}case 2:{message.nanos=reader.int32();break}default:reader.skipType(tag&7,long);break}}return message};Duration.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Duration.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(!$util.isInteger(message.seconds)&&!(message.seconds&&$util.isInteger(message.seconds.low)&&$util.isInteger(message.seconds.high)))return"seconds: integer|Long expected";if(message.nanos!=null&&message.hasOwnProperty("nanos"))if(!$util.isInteger(message.nanos))return"nanos: integer expected";return null};Duration.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Duration)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Duration;if(object.seconds!=null)if($util.Long)(message.seconds=$util.Long.fromValue(object.seconds)).unsigned=false;else if(typeof object.seconds==="string")message.seconds=parseInt(object.seconds,10);else if(typeof object.seconds==="number")message.seconds=object.seconds;else if(typeof object.seconds==="object")message.seconds=new $util.LongBits(object.seconds.low>>>0,object.seconds.high>>>0).toNumber();if(object.nanos!=null)message.nanos=object.nanos|0;return message};Duration.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){if($util.Long){var long=new $util.Long(0,0,false);object.seconds=options.longs===String?long.toString():options.longs===Number?long.toNumber():long}else object.seconds=options.longs===String?"0":0;object.nanos=0}if(message.seconds!=null&&message.hasOwnProperty("seconds"))if(typeof message.seconds==="number")object.seconds=options.longs===String?String(message.seconds):message.seconds;else object.seconds=options.longs===String?$util.Long.prototype.toString.call(message.seconds):options.longs===Number?new $util.LongBits(message.seconds.low>>>0,message.seconds.high>>>0).toNumber():message.seconds;if(message.nanos!=null&&message.hasOwnProperty("nanos"))object.nanos=message.nanos;return object};Duration.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Duration.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Duration"};return Duration}();protobuf.Struct=function(){function Struct(properties){this.fields={};if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Struct,key,value;while(reader.pos>>3){case 1:{if(message.fields===$util.emptyObject)message.fields={};var end2=reader.uint32()+reader.pos;key="";value=null;while(reader.pos>>3){case 1:key=reader.string();break;case 2:value=$root.google.protobuf.Value.decode(reader,reader.uint32(),undefined,long+1);break;default:reader.skipType(tag2&7,long);break}}if(key==="__proto__")$util.makeProp(message.fields,key);message.fields[key]=value;break}default:reader.skipType(tag&7,long);break}}return message};Struct.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Struct.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.fields!=null&&message.hasOwnProperty("fields")){if(!$util.isObject(message.fields))return"fields: object expected";var key=Object.keys(message.fields);for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Struct;if(object.fields){if(typeof object.fields!=="object")throw TypeError(".google.protobuf.Struct.fields: object expected");message.fields={};for(var keys=Object.keys(object.fields),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.Value;while(reader.pos>>3){case 1:{message.nullValue=reader.int32();break}case 2:{message.numberValue=reader.double();break}case 3:{message.stringValue=reader.string();break}case 4:{message.boolValue=reader.bool();break}case 5:{message.structValue=$root.google.protobuf.Struct.decode(reader,reader.uint32(),undefined,long+1);break}case 6:{message.listValue=$root.google.protobuf.ListValue.decode(reader,reader.uint32(),undefined,long+1);break}default:reader.skipType(tag&7,long);break}}return message};Value.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};Value.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";var properties={};if(message.nullValue!=null&&message.hasOwnProperty("nullValue")){properties.kind=1;switch(message.nullValue){default:return"nullValue: enum value expected";case 0:break}}if(message.numberValue!=null&&message.hasOwnProperty("numberValue")){if(properties.kind===1)return"kind: multiple values";properties.kind=1;if(typeof message.numberValue!=="number")return"numberValue: number expected"}if(message.stringValue!=null&&message.hasOwnProperty("stringValue")){if(properties.kind===1)return"kind: multiple values";properties.kind=1;if(!$util.isString(message.stringValue))return"stringValue: string expected"}if(message.boolValue!=null&&message.hasOwnProperty("boolValue")){if(properties.kind===1)return"kind: multiple values";properties.kind=1;if(typeof message.boolValue!=="boolean")return"boolValue: boolean expected"}if(message.structValue!=null&&message.hasOwnProperty("structValue")){if(properties.kind===1)return"kind: multiple values";properties.kind=1;{var error=$root.google.protobuf.Struct.verify(message.structValue,long+1);if(error)return"structValue."+error}}if(message.listValue!=null&&message.hasOwnProperty("listValue")){if(properties.kind===1)return"kind: multiple values";properties.kind=1;{var error=$root.google.protobuf.ListValue.verify(message.listValue,long+1);if(error)return"listValue."+error}}return null};Value.fromObject=function fromObject(object,long){if(object instanceof $root.google.protobuf.Value)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.Value;switch(object.nullValue){default:if(typeof object.nullValue==="number"){message.nullValue=object.nullValue;break}break;case"NULL_VALUE":case 0:message.nullValue=0;break}if(object.numberValue!=null)message.numberValue=Number(object.numberValue);if(object.stringValue!=null)message.stringValue=String(object.stringValue);if(object.boolValue!=null)message.boolValue=Boolean(object.boolValue);if(object.structValue!=null){if(typeof object.structValue!=="object")throw TypeError(".google.protobuf.Value.structValue: object expected");message.structValue=$root.google.protobuf.Struct.fromObject(object.structValue,long+1)}if(object.listValue!=null){if(typeof object.listValue!=="object")throw TypeError(".google.protobuf.Value.listValue: object expected");message.listValue=$root.google.protobuf.ListValue.fromObject(object.listValue,long+1)}return message};Value.toObject=function toObject(message,options){if(!options)options={};var object={};if(message.nullValue!=null&&message.hasOwnProperty("nullValue")){object.nullValue=options.enums===String?$root.google.protobuf.NullValue[message.nullValue]===undefined?message.nullValue:$root.google.protobuf.NullValue[message.nullValue]:message.nullValue;if(options.oneofs)object.kind="nullValue"}if(message.numberValue!=null&&message.hasOwnProperty("numberValue")){object.numberValue=options.json&&!isFinite(message.numberValue)?String(message.numberValue):message.numberValue;if(options.oneofs)object.kind="numberValue"}if(message.stringValue!=null&&message.hasOwnProperty("stringValue")){object.stringValue=message.stringValue;if(options.oneofs)object.kind="stringValue"}if(message.boolValue!=null&&message.hasOwnProperty("boolValue")){object.boolValue=message.boolValue;if(options.oneofs)object.kind="boolValue"}if(message.structValue!=null&&message.hasOwnProperty("structValue")){object.structValue=$root.google.protobuf.Struct.toObject(message.structValue,options);if(options.oneofs)object.kind="structValue"}if(message.listValue!=null&&message.hasOwnProperty("listValue")){object.listValue=$root.google.protobuf.ListValue.toObject(message.listValue,options);if(options.oneofs)object.kind="listValue"}return object};Value.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};Value.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.protobuf.Value"};return Value}();protobuf.NullValue=function(){var valuesById={},values=Object.create(valuesById);values[valuesById[0]="NULL_VALUE"]=0;return values}();protobuf.ListValue=function(){function ListValue(properties){this.values=[];if(properties)for(var keys=Object.keys(properties),i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.protobuf.ListValue;while(reader.pos>>3){case 1:{if(!(message.values&&message.values.length))message.values=[];message.values.push($root.google.protobuf.Value.decode(reader,reader.uint32(),undefined,long+1));break}default:reader.skipType(tag&7,long);break}}return message};ListValue.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};ListValue.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.values!=null&&message.hasOwnProperty("values")){if(!Array.isArray(message.values))return"values: array expected";for(var i=0;i$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.protobuf.ListValue;if(object.values){if(!Array.isArray(object.values))throw TypeError(".google.protobuf.ListValue.values: array expected");message.values=[];for(var i=0;i$Reader.recursionLimit)throw Error("maximum nesting depth exceeded");var end=length===undefined?reader.len:reader.pos+length,message=new $root.google.type.LatLng;while(reader.pos>>3){case 1:{message.latitude=reader.double();break}case 2:{message.longitude=reader.double();break}default:reader.skipType(tag&7,long);break}}return message};LatLng.decodeDelimited=function decodeDelimited(reader){if(!(reader instanceof $Reader))reader=new $Reader(reader);return this.decode(reader,reader.uint32())};LatLng.verify=function verify(message,long){if(typeof message!=="object"||message===null)return"object expected";if(long===undefined)long=0;if(long>$util.recursionLimit)return"maximum nesting depth exceeded";if(message.latitude!=null&&message.hasOwnProperty("latitude"))if(typeof message.latitude!=="number")return"latitude: number expected";if(message.longitude!=null&&message.hasOwnProperty("longitude"))if(typeof message.longitude!=="number")return"longitude: number expected";return null};LatLng.fromObject=function fromObject(object,long){if(object instanceof $root.google.type.LatLng)return object;if(long===undefined)long=0;if(long>$util.recursionLimit)throw Error("maximum nesting depth exceeded");var message=new $root.google.type.LatLng;if(object.latitude!=null)message.latitude=Number(object.latitude);if(object.longitude!=null)message.longitude=Number(object.longitude);return message};LatLng.toObject=function toObject(message,options){if(!options)options={};var object={};if(options.defaults){object.latitude=0;object.longitude=0}if(message.latitude!=null&&message.hasOwnProperty("latitude"))object.latitude=options.json&&!isFinite(message.latitude)?String(message.latitude):message.latitude;if(message.longitude!=null&&message.hasOwnProperty("longitude"))object.longitude=options.json&&!isFinite(message.longitude)?String(message.longitude):message.longitude;return object};LatLng.prototype.toJSON=function toJSON(){return this.constructor.toObject(this,$protobuf.util.toJSONOptions)};LatLng.getTypeUrl=function getTypeUrl(typeUrlPrefix){if(typeUrlPrefix===undefined){typeUrlPrefix="type.googleapis.com"}return typeUrlPrefix+"/google.type.LatLng"};return LatLng}();return type}();return google}();return $root}); \ No newline at end of file diff --git a/packages/google-maps-isochrones/protos/protos.json b/packages/google-maps-isochrones/protos/protos.json new file mode 100644 index 000000000000..f4594a31d7f1 --- /dev/null +++ b/packages/google-maps-isochrones/protos/protos.json @@ -0,0 +1,2274 @@ +{ + "nested": { + "google": { + "nested": { + "maps": { + "nested": { + "isochrones": { + "nested": { + "v1": { + "options": { + "csharp_namespace": "Google.Maps.Isochrones.V1", + "go_package": "cloud.google.com/go/maps/isochrones/apiv1/isochronespb;isochronespb", + "java_multiple_files": true, + "java_outer_classname": "IsochronesServiceProto", + "java_package": "com.google.maps.isochrones.v1", + "objc_class_prefix": "GMPI", + "php_namespace": "Google\\Maps\\Isochrones\\V1", + "ruby_package": "Google::Maps::Isochrones::V1", + "(google.api.resource_definition).type": "places.googleapis.com/Place", + "(google.api.resource_definition).pattern": "places/{place_id}" + }, + "nested": { + "IsochroneService": { + "options": { + "(google.api.default_host)": "isochrones.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/maps-platform.isochrones" + }, + "methods": { + "GenerateIsochrone": { + "requestType": "GenerateIsochroneRequest", + "responseType": "GenerateIsochroneResponse", + "options": { + "(google.api.http).post": "/v1/isochrones:generate", + "(google.api.http).body": "*" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/isochrones:generate", + "body": "*" + } + } + ] + } + } + }, + "GenerateIsochroneRequest": { + "oneofs": { + "origin": { + "oneof": [ + "location", + "place" + ] + } + }, + "fields": { + "location": { + "type": "google.type.LatLng", + "id": 1 + }, + "place": { + "type": "string", + "id": 2, + "options": { + "(google.api.resource_reference).type": "places.googleapis.com/Place" + } + }, + "travelDuration": { + "type": "google.protobuf.Duration", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "travelMode": { + "type": "TravelMode", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "travelDirection": { + "type": "TravelDirection", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "routingPreference": { + "type": "RoutingPreference", + "id": 6, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "enableSmoothing": { + "type": "bool", + "id": 7, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, + "polygonFidelity": { + "type": "PolygonFidelity", + "id": 8, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + } + }, + "nested": { + "TravelMode": { + "values": { + "TRAVEL_MODE_UNSPECIFIED": 0, + "DRIVE": 1, + "BICYCLE": 2, + "WALK": 3 + } + }, + "TravelDirection": { + "values": { + "TRAVEL_DIRECTION_UNSPECIFIED": 0, + "FROM": 1, + "TO": 2 + } + }, + "RoutingPreference": { + "values": { + "ROUTING_PREFERENCE_UNSPECIFIED": 0, + "TRAFFIC_UNAWARE": 1, + "TRAFFIC_AWARE": 2 + } + }, + "PolygonFidelity": { + "values": { + "POLYGON_FIDELITY_UNSPECIFIED": 0, + "LOW": 1, + "MEDIUM": 2, + "HIGH": 3 + } + } + } + }, + "GenerateIsochroneResponse": { + "fields": { + "isochrone": { + "type": "Isochrone", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "Isochrone": { + "oneofs": { + "geometry": { + "oneof": [ + "geoJson" + ] + } + }, + "fields": { + "geoJson": { + "type": "google.protobuf.Struct", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ResourceProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI" + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + }, + "apiVersion": { + "type": "string", + "id": 525000001, + "extend": "google.protobuf.ServiceOptions" + }, + "CommonLanguageSettings": { + "fields": { + "referenceDocsUri": { + "type": "string", + "id": 1, + "options": { + "deprecated": true + } + }, + "destinations": { + "rule": "repeated", + "type": "ClientLibraryDestination", + "id": 2 + }, + "selectiveGapicGeneration": { + "type": "SelectiveGapicGeneration", + "id": 3 + } + } + }, + "ClientLibrarySettings": { + "fields": { + "version": { + "type": "string", + "id": 1 + }, + "launchStage": { + "type": "LaunchStage", + "id": 2 + }, + "restNumericEnums": { + "type": "bool", + "id": 3 + }, + "javaSettings": { + "type": "JavaSettings", + "id": 21 + }, + "cppSettings": { + "type": "CppSettings", + "id": 22 + }, + "phpSettings": { + "type": "PhpSettings", + "id": 23 + }, + "pythonSettings": { + "type": "PythonSettings", + "id": 24 + }, + "nodeSettings": { + "type": "NodeSettings", + "id": 25 + }, + "dotnetSettings": { + "type": "DotnetSettings", + "id": 26 + }, + "rubySettings": { + "type": "RubySettings", + "id": 27 + }, + "goSettings": { + "type": "GoSettings", + "id": 28 + } + } + }, + "Publishing": { + "fields": { + "methodSettings": { + "rule": "repeated", + "type": "MethodSettings", + "id": 2 + }, + "newIssueUri": { + "type": "string", + "id": 101 + }, + "documentationUri": { + "type": "string", + "id": 102 + }, + "apiShortName": { + "type": "string", + "id": 103 + }, + "githubLabel": { + "type": "string", + "id": 104 + }, + "codeownerGithubTeams": { + "rule": "repeated", + "type": "string", + "id": 105 + }, + "docTagPrefix": { + "type": "string", + "id": 106 + }, + "organization": { + "type": "ClientLibraryOrganization", + "id": 107 + }, + "librarySettings": { + "rule": "repeated", + "type": "ClientLibrarySettings", + "id": 109 + }, + "protoReferenceDocumentationUri": { + "type": "string", + "id": 110 + }, + "restReferenceDocumentationUri": { + "type": "string", + "id": 111 + } + } + }, + "JavaSettings": { + "fields": { + "libraryPackage": { + "type": "string", + "id": 1 + }, + "serviceClassNames": { + "keyType": "string", + "type": "string", + "id": 2 + }, + "common": { + "type": "CommonLanguageSettings", + "id": 3 + } + } + }, + "CppSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "PhpSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "PythonSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + }, + "experimentalFeatures": { + "type": "ExperimentalFeatures", + "id": 2 + } + }, + "nested": { + "ExperimentalFeatures": { + "fields": { + "restAsyncIoEnabled": { + "type": "bool", + "id": 1 + }, + "protobufPythonicTypesEnabled": { + "type": "bool", + "id": 2 + }, + "unversionedPackageDisabled": { + "type": "bool", + "id": 3 + } + } + } + } + }, + "NodeSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "DotnetSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 + }, + "renamedResources": { + "keyType": "string", + "type": "string", + "id": 3 + }, + "ignoredResources": { + "rule": "repeated", + "type": "string", + "id": 4 + }, + "forcedNamespaceAliases": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "handwrittenSignatures": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + }, + "RubySettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + } + } + }, + "GoSettings": { + "fields": { + "common": { + "type": "CommonLanguageSettings", + "id": 1 + }, + "renamedServices": { + "keyType": "string", + "type": "string", + "id": 2 + } + } + }, + "MethodSettings": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "longRunning": { + "type": "LongRunning", + "id": 2 + }, + "autoPopulatedFields": { + "rule": "repeated", + "type": "string", + "id": 3 + } + }, + "nested": { + "LongRunning": { + "fields": { + "initialPollDelay": { + "type": "google.protobuf.Duration", + "id": 1 + }, + "pollDelayMultiplier": { + "type": "float", + "id": 2 + }, + "maxPollDelay": { + "type": "google.protobuf.Duration", + "id": 3 + }, + "totalPollTimeout": { + "type": "google.protobuf.Duration", + "id": 4 + } + } + } + } + }, + "ClientLibraryOrganization": { + "values": { + "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0, + "CLOUD": 1, + "ADS": 2, + "PHOTOS": 3, + "STREET_VIEW": 4, + "SHOPPING": 5, + "GEO": 6, + "GENERATIVE_AI": 7 + } + }, + "ClientLibraryDestination": { + "values": { + "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0, + "GITHUB": 10, + "PACKAGE_MANAGER": 20 + } + }, + "SelectiveGapicGeneration": { + "fields": { + "methods": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "generateOmittedAsInternal": { + "type": "bool", + "id": 2 + } + } + }, + "LaunchStage": { + "values": { + "LAUNCH_STAGE_UNSPECIFIED": 0, + "UNIMPLEMENTED": 6, + "PRELAUNCH": 7, + "EARLY_ACCESS": 1, + "ALPHA": 2, + "BETA": 3, + "GA": 4, + "DEPRECATED": 5 + } + }, + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions", + "options": { + "packed": false + } + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5, + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7, + "IDENTIFIER": 8 + } + }, + "resourceReference": { + "type": "google.api.ResourceReference", + "id": 1055, + "extend": "google.protobuf.FieldOptions" + }, + "resourceDefinition": { + "rule": "repeated", + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.FileOptions" + }, + "resource": { + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.MessageOptions" + }, + "ResourceDescriptor": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "pattern": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "nameField": { + "type": "string", + "id": 3 + }, + "history": { + "type": "History", + "id": 4 + }, + "plural": { + "type": "string", + "id": 5 + }, + "singular": { + "type": "string", + "id": 6 + }, + "style": { + "rule": "repeated", + "type": "Style", + "id": 10 + } + }, + "nested": { + "History": { + "values": { + "HISTORY_UNSPECIFIED": 0, + "ORIGINALLY_SINGLE_PATTERN": 1, + "FUTURE_MULTI_PATTERN": 2 + } + }, + "Style": { + "values": { + "STYLE_UNSPECIFIED": 0, + "DECLARATIVE_FRIENDLY": 1 + } + } + } + }, + "ResourceReference": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "childType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "protobuf": { + "options": { + "go_package": "google.golang.org/protobuf/types/descriptorpb", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "edition": "proto2", + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ] + }, + "Edition": { + "edition": "proto2", + "values": { + "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, + "EDITION_PROTO2": 998, + "EDITION_PROTO3": 999, + "EDITION_2023": 1000, + "EDITION_2024": 1001, + "EDITION_1_TEST_ONLY": 1, + "EDITION_2_TEST_ONLY": 2, + "EDITION_99997_TEST_ONLY": 99997, + "EDITION_99998_TEST_ONLY": 99998, + "EDITION_99999_TEST_ONLY": 99999, + "EDITION_MAX": 2147483647 + } + }, + "FileDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10 + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11 + }, + "optionDependency": { + "rule": "repeated", + "type": "string", + "id": 15 + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + }, + "edition": { + "type": "Edition", + "id": 14 + } + } + }, + "DescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 11 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "edition": "proto2", + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + }, + "declaration": { + "rule": "repeated", + "type": "Declaration", + "id": 2, + "options": { + "retention": "RETENTION_SOURCE" + } + }, + "features": { + "type": "FeatureSet", + "id": 50 + }, + "verification": { + "type": "VerificationState", + "id": 3, + "options": { + "default": "UNVERIFIED", + "retention": "RETENTION_SOURCE" + } + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "Declaration": { + "fields": { + "number": { + "type": "int32", + "id": 1 + }, + "fullName": { + "type": "string", + "id": 2 + }, + "type": { + "type": "string", + "id": 3 + }, + "reserved": { + "type": "bool", + "id": 5 + }, + "repeated": { + "type": "bool", + "id": 6 + } + }, + "reserved": [ + [ + 4, + 4 + ] + ] + }, + "VerificationState": { + "values": { + "DECLARATION": 0, + "UNVERIFIED": 1 + } + } + } + }, + "FieldDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 + } + }, + "nested": { + "Type": { + "values": { + "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": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REPEATED": 3, + "LABEL_REQUIRED": 2 + } + } + } + }, + "OneofDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + }, + "visibility": { + "type": "SymbolVisibility", + "id": 6 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] + }, + "MethodDescriptorProto": { + "edition": "proto2", + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "edition": "proto2", + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": true + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "features": { + "type": "FeatureSet", + "id": 50 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 42, + 42 + ], + "php_generic_services", + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "edition": "proto2", + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "deprecatedLegacyJsonFieldConflicts": { + "type": "bool", + "id": 11, + "options": { + "deprecated": true + } + }, + "features": { + "type": "FeatureSet", + "id": 12 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "edition": "proto2", + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false, + "deprecated": true + } + }, + "debugRedact": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "retention": { + "type": "OptionRetention", + "id": 17 + }, + "targets": { + "rule": "repeated", + "type": "OptionTargetType", + "id": 19 + }, + "editionDefaults": { + "rule": "repeated", + "type": "EditionDefault", + "id": 20 + }, + "features": { + "type": "FeatureSet", + "id": 21 + }, + "featureSupport": { + "type": "FeatureSupport", + "id": 22 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ], + [ + 18, + 18 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + }, + "OptionRetention": { + "values": { + "RETENTION_UNKNOWN": 0, + "RETENTION_RUNTIME": 1, + "RETENTION_SOURCE": 2 + } + }, + "OptionTargetType": { + "values": { + "TARGET_TYPE_UNKNOWN": 0, + "TARGET_TYPE_FILE": 1, + "TARGET_TYPE_EXTENSION_RANGE": 2, + "TARGET_TYPE_MESSAGE": 3, + "TARGET_TYPE_FIELD": 4, + "TARGET_TYPE_ONEOF": 5, + "TARGET_TYPE_ENUM": 6, + "TARGET_TYPE_ENUM_ENTRY": 7, + "TARGET_TYPE_SERVICE": 8, + "TARGET_TYPE_METHOD": 9 + } + }, + "EditionDefault": { + "fields": { + "edition": { + "type": "Edition", + "id": 3 + }, + "value": { + "type": "string", + "id": 2 + } + } + }, + "FeatureSupport": { + "fields": { + "editionIntroduced": { + "type": "Edition", + "id": 1 + }, + "editionDeprecated": { + "type": "Edition", + "id": 2 + }, + "deprecationWarning": { + "type": "string", + "id": 3 + }, + "editionRemoved": { + "type": "Edition", + "id": 4 + } + } + } + } + }, + "OneofOptions": { + "edition": "proto2", + "fields": { + "features": { + "type": "FeatureSet", + "id": 1 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "edition": "proto2", + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "deprecatedLegacyJsonFieldConflicts": { + "type": "bool", + "id": 6, + "options": { + "deprecated": true + } + }, + "features": { + "type": "FeatureSet", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "edition": "proto2", + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "features": { + "type": "FeatureSet", + "id": 2 + }, + "debugRedact": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "featureSupport": { + "type": "FieldOptions.FeatureSupport", + "id": 4 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "edition": "proto2", + "fields": { + "features": { + "type": "FeatureSet", + "id": 34 + }, + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "edition": "proto2", + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "features": { + "type": "FeatureSet", + "id": 35 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "edition": "proto2", + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "FeatureSet": { + "edition": "proto2", + "fields": { + "fieldPresence": { + "type": "FieldPresence", + "id": 1, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_2023", + "edition_defaults.value": "EXPLICIT" + } + }, + "enumType": { + "type": "EnumType", + "id": 2, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "OPEN" + } + }, + "repeatedFieldEncoding": { + "type": "RepeatedFieldEncoding", + "id": 3, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "PACKED" + } + }, + "utf8Validation": { + "type": "Utf8Validation", + "id": 4, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "VERIFY" + } + }, + "messageEncoding": { + "type": "MessageEncoding", + "id": 5, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_LEGACY", + "edition_defaults.value": "LENGTH_PREFIXED" + } + }, + "jsonFormat": { + "type": "JsonFormat", + "id": 6, + "options": { + "retention": "RETENTION_RUNTIME", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", + "edition_defaults.edition": "EDITION_PROTO3", + "edition_defaults.value": "ALLOW" + } + }, + "enforceNamingStyle": { + "type": "EnforceNamingStyle", + "id": 7, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_METHOD", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "STYLE2024" + } + }, + "defaultSymbolVisibility": { + "type": "VisibilityFeature.DefaultSymbolVisibility", + "id": 8, + "options": { + "retention": "RETENTION_SOURCE", + "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2024", + "edition_defaults.edition": "EDITION_2024", + "edition_defaults.value": "EXPORT_TOP_LEVEL" + } + } + }, + "extensions": [ + [ + 1000, + 9994 + ], + [ + 9995, + 9999 + ], + [ + 10000, + 10000 + ] + ], + "reserved": [ + [ + 999, + 999 + ] + ], + "nested": { + "FieldPresence": { + "values": { + "FIELD_PRESENCE_UNKNOWN": 0, + "EXPLICIT": 1, + "IMPLICIT": 2, + "LEGACY_REQUIRED": 3 + } + }, + "EnumType": { + "values": { + "ENUM_TYPE_UNKNOWN": 0, + "OPEN": 1, + "CLOSED": 2 + } + }, + "RepeatedFieldEncoding": { + "values": { + "REPEATED_FIELD_ENCODING_UNKNOWN": 0, + "PACKED": 1, + "EXPANDED": 2 + } + }, + "Utf8Validation": { + "values": { + "UTF8_VALIDATION_UNKNOWN": 0, + "VERIFY": 2, + "NONE": 3 + }, + "reserved": [ + [ + 1, + 1 + ] + ] + }, + "MessageEncoding": { + "values": { + "MESSAGE_ENCODING_UNKNOWN": 0, + "LENGTH_PREFIXED": 1, + "DELIMITED": 2 + } + }, + "JsonFormat": { + "values": { + "JSON_FORMAT_UNKNOWN": 0, + "ALLOW": 1, + "LEGACY_BEST_EFFORT": 2 + } + }, + "EnforceNamingStyle": { + "values": { + "ENFORCE_NAMING_STYLE_UNKNOWN": 0, + "STYLE2024": 1, + "STYLE_LEGACY": 2 + } + }, + "VisibilityFeature": { + "fields": {}, + "reserved": [ + [ + 1, + 536870911 + ] + ], + "nested": { + "DefaultSymbolVisibility": { + "values": { + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4 + } + } + } + } + } + }, + "FeatureSetDefaults": { + "edition": "proto2", + "fields": { + "defaults": { + "rule": "repeated", + "type": "FeatureSetEditionDefault", + "id": 1 + }, + "minimumEdition": { + "type": "Edition", + "id": 4 + }, + "maximumEdition": { + "type": "Edition", + "id": 5 + } + }, + "nested": { + "FeatureSetEditionDefault": { + "fields": { + "edition": { + "type": "Edition", + "id": 3 + }, + "overridableFeatures": { + "type": "FeatureSet", + "id": 4 + }, + "fixedFeatures": { + "type": "FeatureSet", + "id": 5 + } + }, + "reserved": [ + [ + 1, + 1 + ], + [ + 2, + 2 + ], + "features" + ] + } + } + }, + "SourceCodeInfo": { + "edition": "proto2", + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "extensions": [ + [ + 536000000, + 536000000 + ] + ], + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1, + "options": { + "packed": true + } + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2, + "options": { + "packed": true + } + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "edition": "proto2", + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1, + "options": { + "packed": true + } + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } + } + } + } + } + }, + "SymbolVisibility": { + "edition": "proto2", + "values": { + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2 + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Struct": { + "fields": { + "fields": { + "keyType": "string", + "type": "Value", + "id": 1 + } + } + }, + "Value": { + "oneofs": { + "kind": { + "oneof": [ + "nullValue", + "numberValue", + "stringValue", + "boolValue", + "structValue", + "listValue" + ] + } + }, + "fields": { + "nullValue": { + "type": "NullValue", + "id": 1 + }, + "numberValue": { + "type": "double", + "id": 2 + }, + "stringValue": { + "type": "string", + "id": 3 + }, + "boolValue": { + "type": "bool", + "id": 4 + }, + "structValue": { + "type": "Struct", + "id": 5 + }, + "listValue": { + "type": "ListValue", + "id": 6 + } + } + }, + "NullValue": { + "values": { + "NULL_VALUE": 0 + } + }, + "ListValue": { + "fields": { + "values": { + "rule": "repeated", + "type": "Value", + "id": 1 + } + } + } + } + }, + "type": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng", + "java_multiple_files": true, + "java_outer_classname": "LatLngProto", + "java_package": "com.google.type", + "objc_class_prefix": "GTP" + }, + "nested": { + "LatLng": { + "fields": { + "latitude": { + "type": "double", + "id": 1 + }, + "longitude": { + "type": "double", + "id": 2 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-maps-isochrones/samples/generated/v1/isochrone_service.generate_isochrone.js b/packages/google-maps-isochrones/samples/generated/v1/isochrone_service.generate_isochrone.js new file mode 100644 index 000000000000..8232fd9e3cd2 --- /dev/null +++ b/packages/google-maps-isochrones/samples/generated/v1/isochrone_service.generate_isochrone.js @@ -0,0 +1,96 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main(travelDuration, travelMode, travelDirection) { + // [START isochrones_v1_generated_IsochroneService_GenerateIsochrone_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The origin as a latitude/longitude coordinate. + */ + // const location = {} + /** + * The resource name of a place, in the `places/{place_id}` format. + */ + // const place = 'abc123' + /** + * Required. The travel time for the isochrone calculation. The value must + * be positive and is capped at 7200 seconds (120 minutes). + * For DRIVE mode, the maximum allowed duration is 3600 seconds (60 minutes). + */ + // const travelDuration = {} + /** + * Required. The mode of transportation. + */ + // const travelMode = {} + /** + * Required. The direction of travel. + */ + // const travelDirection = {} + /** + * Optional. Specifies the preference for how to route. Defaults to + * TRAFFIC_UNAWARE. + */ + // const routingPreference = {} + /** + * Optional. Specifies whether to smooth the edges of the resulting isochrone + * polygons. + */ + // const enableSmoothing = true + /** + * Optional. Controls the precision of the generated polygon. + * Defaults to POLYGON_FIDELITY_UNSPECIFIED. + */ + // const polygonFidelity = {} + + // Imports the Isochrones library + const {IsochroneServiceClient} = require('@google-maps/isochrones').v1; + + // Instantiates a client + const isochronesClient = new IsochroneServiceClient(); + + async function callGenerateIsochrone() { + // Construct request + const request = { + travelDuration, + travelMode, + travelDirection, + }; + + // Run request + const response = await isochronesClient.generateIsochrone(request); + console.log(response); + } + + callGenerateIsochrone(); + // [END isochrones_v1_generated_IsochroneService_GenerateIsochrone_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-maps-isochrones/src/index.ts b/packages/google-maps-isochrones/src/index.ts new file mode 100644 index 000000000000..cb114943ec20 --- /dev/null +++ b/packages/google-maps-isochrones/src/index.ts @@ -0,0 +1,27 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by synthtool. ** +// ** https://github.com/googleapis/synthtool ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; + +const IsochroneServiceClient = v1.IsochroneServiceClient; +type IsochroneServiceClient = v1.IsochroneServiceClient; + +export {v1, IsochroneServiceClient}; +export default {v1, IsochroneServiceClient}; +import * as protos from '../protos/protos'; +export {protos}; diff --git a/packages/google-maps-isochrones/src/v1/gapic_metadata.json b/packages/google-maps-isochrones/src/v1/gapic_metadata.json new file mode 100644 index 000000000000..e9adde5f3561 --- /dev/null +++ b/packages/google-maps-isochrones/src/v1/gapic_metadata.json @@ -0,0 +1,33 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.maps.isochrones.v1", + "libraryPackage": "@google-maps/isochrones", + "services": { + "IsochroneService": { + "clients": { + "grpc": { + "libraryClient": "IsochroneServiceClient", + "rpcs": { + "GenerateIsochrone": { + "methods": [ + "generateIsochrone" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "IsochroneServiceClient", + "rpcs": { + "GenerateIsochrone": { + "methods": [ + "generateIsochrone" + ] + } + } + } + } + } + } +} diff --git a/packages/google-maps-isochrones/src/v1/index.ts b/packages/google-maps-isochrones/src/v1/index.ts new file mode 100644 index 000000000000..9c8d1fc6bb9b --- /dev/null +++ b/packages/google-maps-isochrones/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export { IsochroneServiceClient } from './isochrone_service_client'; diff --git a/packages/google-maps-isochrones/src/v1/isochrone_service_client.ts b/packages/google-maps-isochrones/src/v1/isochrone_service_client.ts new file mode 100644 index 000000000000..735203832a3f --- /dev/null +++ b/packages/google-maps-isochrones/src/v1/isochrone_service_client.ts @@ -0,0 +1,569 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, +} from 'google-gax'; + +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax'; + +/** + * Client JSON configuration object, loaded from + * `src/v1/isochrone_service_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './isochrone_service_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Service for calculating isochrones. An isochrone is an area of reachability + * from a given origin point within a specified travel time. + * @class + * @memberof v1 + */ +export class IsochroneServiceClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: { [method: string]: gax.CallSettings }; + private _universeDomain: string; + private _servicePath: string; + private _log = logging.log('isochrones'); + + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: { [name: string]: Function }; + pathTemplates: { [name: string]: gax.PathTemplate }; + isochroneServiceStub?: Promise<{ [name: string]: Function }>; + + /** + * Construct an instance of IsochroneServiceClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new IsochroneServiceClient({fallback: true}, gax); + * ``` + */ + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback, + ) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof IsochroneServiceClient; + if ( + opts?.universe_domain && + opts?.universeDomain && + opts?.universe_domain !== opts?.universeDomain + ) { + throw new Error( + 'Please set either universe_domain or universeDomain, but not both.', + ); + } + const universeDomainEnvVar = + typeof process === 'object' && typeof process.env === 'object' + ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] + : undefined; + this._universeDomain = + opts?.universeDomain ?? + opts?.universe_domain ?? + universeDomainEnvVar ?? + 'googleapis.com'; + this._servicePath = 'isochrones.' + this._universeDomain; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || this._servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts); + + // Request numeric enum values if REST transport is used. + opts.numericEnums = true; + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== this._servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = this._servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === this._servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process === 'object' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + placePathTemplate: new this._gaxModule.PathTemplate('places/{place_id}'), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.maps.isochrones.v1.IsochroneService', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + { 'x-goog-api-client': clientHeader.join(' ') }, + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.isochroneServiceStub) { + return this.isochroneServiceStub; + } + + // Put together the "service stub" for + // google.maps.isochrones.v1.IsochroneService. + this.isochroneServiceStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.maps.isochrones.v1.IsochroneService', + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.maps.isochrones.v1.IsochroneService, + this._opts, + this._providedCustomServicePath, + ) as Promise<{ [method: string]: Function }>; + + // Iterate over each of the methods that the service provides + // and create an API call method for each. + const isochroneServiceStubMethods = ['generateIsochrone']; + for (const methodName of isochroneServiceStubMethods) { + const callPromise = this.isochroneServiceStub.then( + (stub) => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + }, + ); + + const descriptor = undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback, + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.isochroneServiceStub; + } + + /** + * The DNS address for this API service. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static servicePath is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); + } + return 'isochrones.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath. + * @deprecated Use the apiEndpoint method of the client instance. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + process.emitWarning( + 'Static apiEndpoint is deprecated, please use the instance method instead.', + 'DeprecationWarning', + ); + } + return 'isochrones.googleapis.com'; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + get apiEndpoint() { + return this._servicePath; + } + + get universeDomain() { + return this._universeDomain; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/maps-platform.isochrones', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback, + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Calculates and returns a single isochrone for a given set of parameters. + * + * @param {Object} request + * The request object that will be sent. + * @param {google.type.LatLng} request.location + * The origin as a latitude/longitude coordinate. + * @param {string} request.place + * The resource name of a place, in the `places/{place_id}` format. + * @param {google.protobuf.Duration} request.travelDuration + * Required. The travel time for the isochrone calculation. The value must + * be positive and is capped at 7200 seconds (120 minutes). + * For DRIVE mode, the maximum allowed duration is 3600 seconds (60 minutes). + * @param {google.maps.isochrones.v1.GenerateIsochroneRequest.TravelMode} request.travelMode + * Required. The mode of transportation. + * @param {google.maps.isochrones.v1.GenerateIsochroneRequest.TravelDirection} request.travelDirection + * Required. The direction of travel. + * @param {google.maps.isochrones.v1.GenerateIsochroneRequest.RoutingPreference} [request.routingPreference] + * Optional. Specifies the preference for how to route. Defaults to + * TRAFFIC_UNAWARE. + * @param {boolean} [request.enableSmoothing] + * Optional. Specifies whether to smooth the edges of the resulting isochrone + * polygons. + * @param {google.maps.isochrones.v1.GenerateIsochroneRequest.PolygonFidelity} [request.polygonFidelity] + * Optional. Controls the precision of the generated polygon. + * Defaults to POLYGON_FIDELITY_UNSPECIFIED. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing {@link protos.google.maps.isochrones.v1.GenerateIsochroneResponse|GenerateIsochroneResponse}. + * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } + * for more details and examples. + * @example include:samples/generated/v1/isochrone_service.generate_isochrone.js + * region_tag:isochrones_v1_generated_IsochroneService_GenerateIsochrone_async + */ + generateIsochrone( + request?: protos.google.maps.isochrones.v1.IGenerateIsochroneRequest, + options?: CallOptions, + ): Promise< + [ + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + protos.google.maps.isochrones.v1.IGenerateIsochroneRequest | undefined, + {} | undefined, + ] + >; + generateIsochrone( + request: protos.google.maps.isochrones.v1.IGenerateIsochroneRequest, + options: CallOptions, + callback: Callback< + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | null + | undefined, + {} | null | undefined + >, + ): void; + generateIsochrone( + request: protos.google.maps.isochrones.v1.IGenerateIsochroneRequest, + callback: Callback< + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | null + | undefined, + {} | null | undefined + >, + ): void; + generateIsochrone( + request?: protos.google.maps.isochrones.v1.IGenerateIsochroneRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | null + | undefined, + {} | null | undefined + >, + ): Promise< + [ + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + protos.google.maps.isochrones.v1.IGenerateIsochroneRequest | undefined, + {} | undefined, + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + this.initialize().catch((err) => { + throw err; + }); + this._log.info('generateIsochrone request %j', request); + const wrappedCallback: + | Callback< + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | null + | undefined, + {} | null | undefined + > + | undefined = callback + ? (error, response, options, rawResponse) => { + this._log.info('generateIsochrone response %j', response); + callback!(error, response, options, rawResponse); // We verified callback above. + } + : undefined; + return this.innerApiCalls + .generateIsochrone(request, options, wrappedCallback) + ?.then( + ([response, options, rawResponse]: [ + protos.google.maps.isochrones.v1.IGenerateIsochroneResponse, + ( + | protos.google.maps.isochrones.v1.IGenerateIsochroneRequest + | undefined + ), + {} | undefined, + ]) => { + this._log.info('generateIsochrone response %j', response); + return [response, options, rawResponse]; + }, + ) + .catch((error: any) => { + if ( + error && + 'statusDetails' in error && + error.statusDetails instanceof Array + ) { + const protos = this._gaxModule.protobuf.Root.fromJSON( + jsonProtos, + ) as unknown as gax.protobuf.Type; + error.statusDetails = decodeAnyProtosInArray( + error.statusDetails, + protos, + ); + } + throw error; + }); + } + + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified place resource name string. + * + * @param {string} place_id + * @returns {string} Resource name string. + */ + placePath(placeId: string) { + return this.pathTemplates.placePathTemplate.render({ + place_id: placeId, + }); + } + + /** + * Parse the place_id from Place resource. + * + * @param {string} placeName + * A fully-qualified path representing Place resource. + * @returns {string} A string representing the place_id. + */ + matchPlaceIdFromPlaceName(placeName: string) { + return this.pathTemplates.placePathTemplate.match(placeName).place_id; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.isochroneServiceStub && !this._terminated) { + return this.isochroneServiceStub.then((stub) => { + this._log.info('ending gRPC channel'); + this._terminated = true; + stub.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-maps-isochrones/src/v1/isochrone_service_client_config.json b/packages/google-maps-isochrones/src/v1/isochrone_service_client_config.json new file mode 100644 index 000000000000..484056db0b45 --- /dev/null +++ b/packages/google-maps-isochrones/src/v1/isochrone_service_client_config.json @@ -0,0 +1,43 @@ +{ + "interfaces": { + "google.maps.isochrones.v1.IsochroneService": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ], + "unavailable": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + }, + "ce5b960a6ed052e690863808e4f0deff3dc7d49f": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "GenerateIsochrone": { + "timeout_millis": 60000, + "retry_codes_name": "unavailable", + "retry_params_name": "ce5b960a6ed052e690863808e4f0deff3dc7d49f" + } + } + } + } +} diff --git a/packages/google-maps-isochrones/src/v1/isochrone_service_proto_list.json b/packages/google-maps-isochrones/src/v1/isochrone_service_proto_list.json new file mode 100644 index 000000000000..a9b66f5f99dc --- /dev/null +++ b/packages/google-maps-isochrones/src/v1/isochrone_service_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/maps/isochrones/v1/isochrones_service.proto" +] diff --git a/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.js b/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.js new file mode 100644 index 000000000000..0c8026601186 --- /dev/null +++ b/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.js @@ -0,0 +1,27 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const isochrones = require('@google-maps/isochrones'); + +function main() { + const isochroneServiceClient = new isochrones.IsochroneServiceClient(); +} + +main(); diff --git a/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.ts b/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.ts new file mode 100644 index 000000000000..f3b0e985b78a --- /dev/null +++ b/packages/google-maps-isochrones/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import { IsochroneServiceClient } from '@google-maps/isochrones'; + +// check that the client class type name can be used +function doStuffWithIsochroneServiceClient(client: IsochroneServiceClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const isochroneServiceClient = new IsochroneServiceClient(); + doStuffWithIsochroneServiceClient(isochroneServiceClient); +} + +main(); diff --git a/packages/google-maps-isochrones/system-test/install.ts b/packages/google-maps-isochrones/system-test/install.ts new file mode 100644 index 000000000000..ccf167042d2e --- /dev/null +++ b/packages/google-maps-isochrones/system-test/install.ts @@ -0,0 +1,51 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import { packNTest } from 'pack-n-play'; +import { readFileSync } from 'fs'; +import { describe, it } from 'mocha'; + +describe('📦 pack-n-play test', () => { + it('TypeScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts', + ).toString(), + }, + }; + await packNTest(options); + }); + + it('JavaScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + cjs: readFileSync( + './system-test/fixtures/sample/src/index.js', + ).toString(), + }, + }; + await packNTest(options); + }); +}); diff --git a/packages/google-maps-isochrones/test/gapic_isochrone_service_v1.ts b/packages/google-maps-isochrones/test/gapic_isochrone_service_v1.ts new file mode 100644 index 000000000000..9207094b8055 --- /dev/null +++ b/packages/google-maps-isochrones/test/gapic_isochrone_service_v1.ts @@ -0,0 +1,381 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import { SinonStub } from 'sinon'; +import { describe, it } from 'mocha'; +import * as isochroneserviceModule from '../src'; + +import { protobuf } from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json'), +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, { defaults: true }); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject, + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error, +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +describe('v1.IsochroneServiceClient', () => { + describe('Common methods', () => { + it('has apiEndpoint', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient(); + const apiEndpoint = client.apiEndpoint; + assert.strictEqual(apiEndpoint, 'isochrones.googleapis.com'); + }); + + it('has universeDomain', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient(); + const universeDomain = client.universeDomain; + assert.strictEqual(universeDomain, 'googleapis.com'); + }); + + if ( + typeof process === 'object' && + typeof process.emitWarning === 'function' + ) { + it('throws DeprecationWarning if static servicePath is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const servicePath = + isochroneserviceModule.v1.IsochroneServiceClient.servicePath; + assert.strictEqual(servicePath, 'isochrones.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + + it('throws DeprecationWarning if static apiEndpoint is used', () => { + const stub = sinon.stub(process, 'emitWarning'); + const apiEndpoint = + isochroneserviceModule.v1.IsochroneServiceClient.apiEndpoint; + assert.strictEqual(apiEndpoint, 'isochrones.googleapis.com'); + assert(stub.called); + stub.restore(); + }); + } + it('sets apiEndpoint according to universe domain camelCase', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + universeDomain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'isochrones.example.com'); + }); + + it('sets apiEndpoint according to universe domain snakeCase', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + universe_domain: 'example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'isochrones.example.com'); + }); + + if (typeof process === 'object' && 'env' in process) { + describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => { + it('sets apiEndpoint from environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new isochroneserviceModule.v1.IsochroneServiceClient(); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'isochrones.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + + it('value configured in code has priority over environment variable', () => { + const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com'; + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + universeDomain: 'configured.example.com', + }); + const servicePath = client.apiEndpoint; + assert.strictEqual(servicePath, 'isochrones.configured.example.com'); + if (saved) { + process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved; + } else { + delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']; + } + }); + }); + } + it('does not allow setting both universeDomain and universe_domain', () => { + assert.throws(() => { + new isochroneserviceModule.v1.IsochroneServiceClient({ + universe_domain: 'example.com', + universeDomain: 'example.net', + }); + }); + }); + + it('has port', () => { + const port = isochroneserviceModule.v1.IsochroneServiceClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.isochroneServiceStub, undefined); + await client.initialize(); + assert(client.isochroneServiceStub); + }); + + it('has close method for the initialized client', (done) => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.initialize().catch((err) => { + throw err; + }); + assert(client.isochroneServiceStub); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; + }); + }); + + it('has close method for the non-initialized client', (done) => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + assert.strictEqual(client.isochroneServiceStub, undefined); + client + .close() + .then(() => { + done(); + }) + .catch((err) => { + throw err; + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon + .stub() + .callsArgWith(0, null, fakeProjectId); + const promise = new Promise((resolve, reject) => { + client.getProjectId((err?: Error | null, projectId?: string | null) => { + if (err) { + reject(err); + } else { + resolve(projectId); + } + }); + }); + const result = await promise; + assert.strictEqual(result, fakeProjectId); + }); + }); + + describe('generateIsochrone', () => { + it('invokes generateIsochrone without error', async () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneResponse(), + ); + client.innerApiCalls.generateIsochrone = stubSimpleCall(expectedResponse); + const [response] = await client.generateIsochrone(request); + assert.deepStrictEqual(response, expectedResponse); + }); + + it('invokes generateIsochrone without error using callback', async () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneRequest(), + ); + const expectedResponse = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneResponse(), + ); + client.innerApiCalls.generateIsochrone = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.generateIsochrone( + request, + ( + err?: Error | null, + result?: protos.google.maps.isochrones.v1.IGenerateIsochroneResponse | null, + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }, + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + }); + + it('invokes generateIsochrone with error', async () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneRequest(), + ); + const expectedError = new Error('expected'); + client.innerApiCalls.generateIsochrone = stubSimpleCall( + undefined, + expectedError, + ); + await assert.rejects(client.generateIsochrone(request), expectedError); + }); + + it('invokes generateIsochrone with closed client', async () => { + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + const request = generateSampleMessage( + new protos.google.maps.isochrones.v1.GenerateIsochroneRequest(), + ); + const expectedError = new Error('The client has already been closed.'); + client.close().catch((err) => { + throw err; + }); + await assert.rejects(client.generateIsochrone(request), expectedError); + }); + }); + + describe('Path templates', () => { + describe('place', async () => { + const fakePath = '/rendered/path/place'; + const expectedParameters = { + place_id: 'placeIdValue', + }; + const client = new isochroneserviceModule.v1.IsochroneServiceClient({ + credentials: { client_email: 'bogus', private_key: 'bogus' }, + projectId: 'bogus', + }); + await client.initialize(); + client.pathTemplates.placePathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.placePathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('placePath', () => { + const result = client.placePath('placeIdValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.placePathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters), + ); + }); + + it('matchPlaceIdFromPlaceName', () => { + const result = client.matchPlaceIdFromPlaceName(fakePath); + assert.strictEqual(result, 'placeIdValue'); + assert( + (client.pathTemplates.placePathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath), + ); + }); + }); + }); +}); diff --git a/packages/google-maps-isochrones/tsconfig.json b/packages/google-maps-isochrones/tsconfig.json new file mode 100644 index 000000000000..ca73e7bfc824 --- /dev/null +++ b/packages/google-maps-isochrones/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2023", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts", + "src/**/*.json", + "samples/**/*.json", + "protos/protos.json" + ] +} diff --git a/packages/google-maps-isochrones/webpack.config.js b/packages/google-maps-isochrones/webpack.config.js new file mode 100644 index 000000000000..0e6db91f2034 --- /dev/null +++ b/packages/google-maps-isochrones/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'IsochroneService', + filename: './isochrone-service.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader' + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader' + }, + ], + }, + mode: 'production', +}; diff --git a/release-please-config.json b/release-please-config.json index c8ae86328d4a..3c698ae9887d 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -228,6 +228,7 @@ "packages/google-maps-fleetengine": {}, "packages/google-maps-fleetengine-delivery": {}, "packages/google-maps-geocode": {}, + "packages/google-maps-isochrones": {}, "packages/google-maps-mapmanagement": {}, "packages/google-maps-mapsplatformdatasets": {}, "packages/google-maps-navconnect": {}, @@ -264,4 +265,4 @@ ], "release-type": "node-librarian", "separate-pull-requests": false -} +} \ No newline at end of file