v2/doc/google/cloud/dialogflow/v2/doc_intent.js

// Copyright 2019 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     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.

// Note: this file is purely for documentation. Any contents are not expected
// to be loaded as the JS file.

/**
 * Represents an intent.
 * Intents convert a number of user expressions or patterns into an action. An
 * action is an extraction of a user command or sentence semantics.
 *
 * @property {string} name
 *   The unique identifier of this intent.
 *   Required for Intents.UpdateIntent and Intents.BatchUpdateIntents
 *   methods.
 *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
 *
 * @property {string} displayName
 *   Required. The name of this intent.
 *
 * @property {number} webhookState
 *   Optional. Indicates whether webhooks are enabled for the intent.
 *
 *   The number should be among the values of [WebhookState]{@link google.cloud.dialogflow.v2.WebhookState}
 *
 * @property {number} priority
 *   Optional. The priority of this intent. Higher numbers represent higher
 *   priorities.
 *
 *   - If the supplied value is unspecified or 0, the service
 *     translates the value to 500,000, which corresponds to the
 *     `Normal` priority in the console.
 *   - If the supplied value is negative, the intent is ignored
 *     in runtime detect intent requests.
 *
 * @property {boolean} isFallback
 *   Optional. Indicates whether this is a fallback intent.
 *
 * @property {boolean} mlDisabled
 *   Optional. Indicates whether Machine Learning is disabled for the intent.
 *   Note: If `ml_disabled` setting is set to true, then this intent is not
 *   taken into account during inference in `ML ONLY` match mode. Also,
 *   auto-markup in the UI is turned off.
 *
 * @property {string[]} inputContextNames
 *   Optional. The list of context names required for this intent to be
 *   triggered.
 *   Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
 *
 * @property {string[]} events
 *   Optional. The collection of event names that trigger the intent.
 *   If the collection of input contexts is not empty, all of the contexts must
 *   be present in the active user session for an event to trigger this intent.
 *
 * @property {Object[]} trainingPhrases
 *   Optional. The collection of examples that the agent is
 *   trained on.
 *
 *   This object should have the same structure as [TrainingPhrase]{@link google.cloud.dialogflow.v2.TrainingPhrase}
 *
 * @property {string} action
 *   Optional. The name of the action associated with the intent.
 *   Note: The action name must not contain whitespaces.
 *
 * @property {Object[]} outputContexts
 *   Optional. The collection of contexts that are activated when the intent
 *   is matched. Context messages in this collection should not set the
 *   parameters field. Setting the `lifespan_count` to 0 will reset the context
 *   when the intent is matched.
 *   Format: `projects/<Project ID>/agent/sessions/-/contexts/<Context ID>`.
 *
 *   This object should have the same structure as [Context]{@link google.cloud.dialogflow.v2.Context}
 *
 * @property {boolean} resetContexts
 *   Optional. Indicates whether to delete all contexts in the current
 *   session when this intent is matched.
 *
 * @property {Object[]} parameters
 *   Optional. The collection of parameters associated with the intent.
 *
 *   This object should have the same structure as [Parameter]{@link google.cloud.dialogflow.v2.Parameter}
 *
 * @property {Object[]} messages
 *   Optional. The collection of rich messages corresponding to the
 *   `Response` field in the Dialogflow console.
 *
 *   This object should have the same structure as [Message]{@link google.cloud.dialogflow.v2.Message}
 *
 * @property {number[]} defaultResponsePlatforms
 *   Optional. The list of platforms for which the first responses will be
 *   copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
 *
 *   The number should be among the values of [Platform]{@link google.cloud.dialogflow.v2.Platform}
 *
 * @property {string} rootFollowupIntentName
 *   Read-only. The unique identifier of the root intent in the chain of
 *   followup intents. It identifies the correct followup intents chain for
 *   this intent. We populate this field only in the output.
 *
 *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
 *
 * @property {string} parentFollowupIntentName
 *   Read-only after creation. The unique identifier of the parent intent in the
 *   chain of followup intents. You can set this field when creating an intent,
 *   for example with CreateIntent or BatchUpdateIntents, in order to
 *   make this intent a followup intent.
 *
 *   It identifies the parent followup intent.
 *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
 *
 * @property {Object[]} followupIntentInfo
 *   Read-only. Information about all followup intents that have this intent as
 *   a direct or indirect parent. We populate this field only in the output.
 *
 *   This object should have the same structure as [FollowupIntentInfo]{@link google.cloud.dialogflow.v2.FollowupIntentInfo}
 *
 * @typedef Intent
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.Intent definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const Intent = {
  // This is for documentation. Actual contents will be loaded by gRPC.

  /**
   * Represents an example that the agent is trained on.
   *
   * @property {string} name
   *   Output only. The unique identifier of this training phrase.
   *
   * @property {number} type
   *   Required. The type of the training phrase.
   *
   *   The number should be among the values of [Type]{@link google.cloud.dialogflow.v2.Type}
   *
   * @property {Object[]} parts
   *   Required. The ordered list of training phrase parts.
   *   The parts are concatenated in order to form the training phrase.
   *
   *   Note: The API does not automatically annotate training phrases like the
   *   Dialogflow Console does.
   *
   *   Note: Do not forget to include whitespace at part boundaries,
   *   so the training phrase is well formatted when the parts are concatenated.
   *
   *   If the training phrase does not need to be annotated with parameters,
   *   you just need a single part with only the Part.text field set.
   *
   *   If you want to annotate the training phrase, you must create multiple
   *   parts, where the fields of each part are populated in one of two ways:
   *
   *   -   `Part.text` is set to a part of the phrase that has no parameters.
   *   -   `Part.text` is set to a part of the phrase that you want to annotate,
   *       and the `entity_type`, `alias`, and `user_defined` fields are all
   *       set.
   *
   *   This object should have the same structure as [Part]{@link google.cloud.dialogflow.v2.Part}
   *
   * @property {number} timesAddedCount
   *   Optional. Indicates how many times this example was added to
   *   the intent. Each time a developer adds an existing sample by editing an
   *   intent or training, this counter is increased.
   *
   * @typedef TrainingPhrase
   * @memberof google.cloud.dialogflow.v2
   * @see [google.cloud.dialogflow.v2.Intent.TrainingPhrase definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
   */
  TrainingPhrase: {
    // This is for documentation. Actual contents will be loaded by gRPC.

    /**
     * Represents a part of a training phrase.
     *
     * @property {string} text
     *   Required. The text for this part.
     *
     * @property {string} entityType
     *   Optional. The entity type name prefixed with `@`.
     *   This field is required for annotated parts of the training phrase.
     *
     * @property {string} alias
     *   Optional. The parameter name for the value extracted from the
     *   annotated part of the example.
     *   This field is required for annotated parts of the training phrase.
     *
     * @property {boolean} userDefined
     *   Optional. Indicates whether the text was manually annotated.
     *   This field is set to true when the Dialogflow Console is used to
     *   manually annotate the part. When creating an annotated part with the
     *   API, you must set this to true.
     *
     * @typedef Part
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.TrainingPhrase.Part definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Part: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * Represents different types of training phrases.
     *
     * @enum {number}
     * @memberof google.cloud.dialogflow.v2
     */
    Type: {

      /**
       * Not specified. This value should never be used.
       */
      TYPE_UNSPECIFIED: 0,

      /**
       * Examples do not contain @-prefixed entity type names, but example parts
       * can be annotated with entity types.
       */
      EXAMPLE: 1,

      /**
       * Templates are not annotated with entity types, but they can contain
       * @-prefixed entity type names as substrings.
       * Template mode has been deprecated. Example mode is the only supported
       * way to create new training phrases. If you have existing training
       * phrases that you've created in template mode, those will continue to
       * work.
       */
      TEMPLATE: 2
    }
  },

  /**
   * Represents intent parameters.
   *
   * @property {string} name
   *   The unique identifier of this parameter.
   *
   * @property {string} displayName
   *   Required. The name of the parameter.
   *
   * @property {string} value
   *   Optional. The definition of the parameter value. It can be:
   *   - a constant string,
   *   - a parameter value defined as `$parameter_name`,
   *   - an original parameter value defined as `$parameter_name.original`,
   *   - a parameter value from some context defined as
   *     `#context_name.parameter_name`.
   *
   * @property {string} defaultValue
   *   Optional. The default value to use when the `value` yields an empty
   *   result.
   *   Default values can be extracted from contexts by using the following
   *   syntax: `#context_name.parameter_name`.
   *
   * @property {string} entityTypeDisplayName
   *   Optional. The name of the entity type, prefixed with `@`, that
   *   describes values of the parameter. If the parameter is
   *   required, this must be provided.
   *
   * @property {boolean} mandatory
   *   Optional. Indicates whether the parameter is required. That is,
   *   whether the intent cannot be completed without collecting the parameter
   *   value.
   *
   * @property {string[]} prompts
   *   Optional. The collection of prompts that the agent can present to the
   *   user in order to collect a value for the parameter.
   *
   * @property {boolean} isList
   *   Optional. Indicates whether the parameter represents a list of values.
   *
   * @typedef Parameter
   * @memberof google.cloud.dialogflow.v2
   * @see [google.cloud.dialogflow.v2.Intent.Parameter definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
   */
  Parameter: {
    // This is for documentation. Actual contents will be loaded by gRPC.
  },

  /**
   * Corresponds to the `Response` field in the Dialogflow console.
   *
   * @property {Object} text
   *   The text response.
   *
   *   This object should have the same structure as [Text]{@link google.cloud.dialogflow.v2.Text}
   *
   * @property {Object} image
   *   The image response.
   *
   *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
   *
   * @property {Object} quickReplies
   *   The quick replies response.
   *
   *   This object should have the same structure as [QuickReplies]{@link google.cloud.dialogflow.v2.QuickReplies}
   *
   * @property {Object} card
   *   The card response.
   *
   *   This object should have the same structure as [Card]{@link google.cloud.dialogflow.v2.Card}
   *
   * @property {Object} payload
   *   Returns a response containing a custom, platform-specific payload.
   *   See the Intent.Message.Platform type for a description of the
   *   structure that may be required for your platform.
   *
   *   This object should have the same structure as [Struct]{@link google.protobuf.Struct}
   *
   * @property {Object} simpleResponses
   *   The voice and text-only responses for Actions on Google.
   *
   *   This object should have the same structure as [SimpleResponses]{@link google.cloud.dialogflow.v2.SimpleResponses}
   *
   * @property {Object} basicCard
   *   The basic card response for Actions on Google.
   *
   *   This object should have the same structure as [BasicCard]{@link google.cloud.dialogflow.v2.BasicCard}
   *
   * @property {Object} suggestions
   *   The suggestion chips for Actions on Google.
   *
   *   This object should have the same structure as [Suggestions]{@link google.cloud.dialogflow.v2.Suggestions}
   *
   * @property {Object} linkOutSuggestion
   *   The link out suggestion chip for Actions on Google.
   *
   *   This object should have the same structure as [LinkOutSuggestion]{@link google.cloud.dialogflow.v2.LinkOutSuggestion}
   *
   * @property {Object} listSelect
   *   The list card response for Actions on Google.
   *
   *   This object should have the same structure as [ListSelect]{@link google.cloud.dialogflow.v2.ListSelect}
   *
   * @property {Object} carouselSelect
   *   The carousel card response for Actions on Google.
   *
   *   This object should have the same structure as [CarouselSelect]{@link google.cloud.dialogflow.v2.CarouselSelect}
   *
   * @property {Object} browseCarouselCard
   *   Browse carousel card for Actions on Google.
   *
   *   This object should have the same structure as [BrowseCarouselCard]{@link google.cloud.dialogflow.v2.BrowseCarouselCard}
   *
   * @property {Object} tableCard
   *   Table card for Actions on Google.
   *
   *   This object should have the same structure as [TableCard]{@link google.cloud.dialogflow.v2.TableCard}
   *
   * @property {Object} mediaContent
   *   The media content card for Actions on Google.
   *
   *   This object should have the same structure as [MediaContent]{@link google.cloud.dialogflow.v2.MediaContent}
   *
   * @property {number} platform
   *   Optional. The platform that this message is intended for.
   *
   *   The number should be among the values of [Platform]{@link google.cloud.dialogflow.v2.Platform}
   *
   * @typedef Message
   * @memberof google.cloud.dialogflow.v2
   * @see [google.cloud.dialogflow.v2.Intent.Message definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
   */
  Message: {
    // This is for documentation. Actual contents will be loaded by gRPC.

    /**
     * The text response message.
     *
     * @property {string[]} text
     *   Optional. The collection of the agent's responses.
     *
     * @typedef Text
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.Text definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Text: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The image response message.
     *
     * @property {string} imageUri
     *   Optional. The public URI to an image file.
     *
     * @property {string} accessibilityText
     *   Optional. A text description of the image to be used for accessibility,
     *   e.g., screen readers.
     *
     * @typedef Image
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.Image definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Image: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The quick replies response message.
     *
     * @property {string} title
     *   Optional. The title of the collection of quick replies.
     *
     * @property {string[]} quickReplies
     *   Optional. The collection of quick replies.
     *
     * @typedef QuickReplies
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.QuickReplies definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    QuickReplies: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The card response message.
     *
     * @property {string} title
     *   Optional. The title of the card.
     *
     * @property {string} subtitle
     *   Optional. The subtitle of the card.
     *
     * @property {string} imageUri
     *   Optional. The public URI to an image file for the card.
     *
     * @property {Object[]} buttons
     *   Optional. The collection of card buttons.
     *
     *   This object should have the same structure as [Button]{@link google.cloud.dialogflow.v2.Button}
     *
     * @typedef Card
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.Card definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Card: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * Contains information about a button.
       *
       * @property {string} text
       *   Optional. The text to show on the button.
       *
       * @property {string} postback
       *   Optional. The text to send back to the Dialogflow API or a URI to
       *   open.
       *
       * @typedef Button
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.Card.Button definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      Button: {
        // This is for documentation. Actual contents will be loaded by gRPC.
      }
    },

    /**
     * The simple response message containing speech or text.
     *
     * @property {string} textToSpeech
     *   One of text_to_speech or ssml must be provided. The plain text of the
     *   speech output. Mutually exclusive with ssml.
     *
     * @property {string} ssml
     *   One of text_to_speech or ssml must be provided. Structured spoken
     *   response to the user in the SSML format. Mutually exclusive with
     *   text_to_speech.
     *
     * @property {string} displayText
     *   Optional. The text to display.
     *
     * @typedef SimpleResponse
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.SimpleResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    SimpleResponse: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The collection of simple response candidates.
     * This message in `QueryResult.fulfillment_messages` and
     * `WebhookResponse.fulfillment_messages` should contain only one
     * `SimpleResponse`.
     *
     * @property {Object[]} simpleResponses
     *   Required. The list of simple responses.
     *
     *   This object should have the same structure as [SimpleResponse]{@link google.cloud.dialogflow.v2.SimpleResponse}
     *
     * @typedef SimpleResponses
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.SimpleResponses definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    SimpleResponses: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The basic card message. Useful for displaying information.
     *
     * @property {string} title
     *   Optional. The title of the card.
     *
     * @property {string} subtitle
     *   Optional. The subtitle of the card.
     *
     * @property {string} formattedText
     *   Required, unless image is present. The body text of the card.
     *
     * @property {Object} image
     *   Optional. The image for the card.
     *
     *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
     *
     * @property {Object[]} buttons
     *   Optional. The collection of card buttons.
     *
     *   This object should have the same structure as [Button]{@link google.cloud.dialogflow.v2.Button}
     *
     * @typedef BasicCard
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.BasicCard definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    BasicCard: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * The button object that appears at the bottom of a card.
       *
       * @property {string} title
       *   Required. The title of the button.
       *
       * @property {Object} openUriAction
       *   Required. Action to take when a user taps on the button.
       *
       *   This object should have the same structure as [OpenUriAction]{@link google.cloud.dialogflow.v2.OpenUriAction}
       *
       * @typedef Button
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.BasicCard.Button definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      Button: {
        // This is for documentation. Actual contents will be loaded by gRPC.

        /**
         * Opens the given URI.
         *
         * @property {string} uri
         *   Required. The HTTP or HTTPS scheme URI.
         *
         * @typedef OpenUriAction
         * @memberof google.cloud.dialogflow.v2
         * @see [google.cloud.dialogflow.v2.Intent.Message.BasicCard.Button.OpenUriAction definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
         */
        OpenUriAction: {
          // This is for documentation. Actual contents will be loaded by gRPC.
        }
      }
    },

    /**
     * The suggestion chip message that the user can tap to quickly post a reply
     * to the conversation.
     *
     * @property {string} title
     *   Required. The text shown the in the suggestion chip.
     *
     * @typedef Suggestion
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.Suggestion definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Suggestion: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The collection of suggestions.
     *
     * @property {Object[]} suggestions
     *   Required. The list of suggested replies.
     *
     *   This object should have the same structure as [Suggestion]{@link google.cloud.dialogflow.v2.Suggestion}
     *
     * @typedef Suggestions
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.Suggestions definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    Suggestions: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The suggestion chip message that allows the user to jump out to the app
     * or website associated with this agent.
     *
     * @property {string} destinationName
     *   Required. The name of the app or site this chip is linking to.
     *
     * @property {string} uri
     *   Required. The URI of the app or site to open when the user taps the
     *   suggestion chip.
     *
     * @typedef LinkOutSuggestion
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.LinkOutSuggestion definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    LinkOutSuggestion: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The card for presenting a list of options to select from.
     *
     * @property {string} title
     *   Optional. The overall title of the list.
     *
     * @property {Object[]} items
     *   Required. List items.
     *
     *   This object should have the same structure as [Item]{@link google.cloud.dialogflow.v2.Item}
     *
     * @property {string} subtitle
     *   Optional. Subtitle of the list.
     *
     * @typedef ListSelect
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.ListSelect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    ListSelect: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * An item in the list.
       *
       * @property {Object} info
       *   Required. Additional information about this option.
       *
       *   This object should have the same structure as [SelectItemInfo]{@link google.cloud.dialogflow.v2.SelectItemInfo}
       *
       * @property {string} title
       *   Required. The title of the list item.
       *
       * @property {string} description
       *   Optional. The main text describing the item.
       *
       * @property {Object} image
       *   Optional. The image to display.
       *
       *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
       *
       * @typedef Item
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.ListSelect.Item definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      Item: {
        // This is for documentation. Actual contents will be loaded by gRPC.
      }
    },

    /**
     * The card for presenting a carousel of options to select from.
     *
     * @property {Object[]} items
     *   Required. Carousel items.
     *
     *   This object should have the same structure as [Item]{@link google.cloud.dialogflow.v2.Item}
     *
     * @typedef CarouselSelect
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.CarouselSelect definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    CarouselSelect: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * An item in the carousel.
       *
       * @property {Object} info
       *   Required. Additional info about the option item.
       *
       *   This object should have the same structure as [SelectItemInfo]{@link google.cloud.dialogflow.v2.SelectItemInfo}
       *
       * @property {string} title
       *   Required. Title of the carousel item.
       *
       * @property {string} description
       *   Optional. The body text of the card.
       *
       * @property {Object} image
       *   Optional. The image to display.
       *
       *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
       *
       * @typedef Item
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.CarouselSelect.Item definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      Item: {
        // This is for documentation. Actual contents will be loaded by gRPC.
      }
    },

    /**
     * Additional info about the select item for when it is triggered in a
     * dialog.
     *
     * @property {string} key
     *   Required. A unique key that will be sent back to the agent if this
     *   response is given.
     *
     * @property {string[]} synonyms
     *   Optional. A list of synonyms that can also be used to trigger this
     *   item in dialog.
     *
     * @typedef SelectItemInfo
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.SelectItemInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    SelectItemInfo: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * The media content card for Actions on Google.
     *
     * @property {number} mediaType
     *   Optional. What type of media is the content (ie "audio").
     *
     *   The number should be among the values of [ResponseMediaType]{@link google.cloud.dialogflow.v2.ResponseMediaType}
     *
     * @property {Object[]} mediaObjects
     *   Required. List of media objects.
     *
     *   This object should have the same structure as [ResponseMediaObject]{@link google.cloud.dialogflow.v2.ResponseMediaObject}
     *
     * @typedef MediaContent
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.MediaContent definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    MediaContent: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * Response media object for media content card.
       *
       * @property {string} name
       *   Required. Name of media card.
       *
       * @property {string} description
       *   Optional. Description of media card.
       *
       * @property {Object} largeImage
       *   Optional. Image to display above media content.
       *
       *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
       *
       * @property {Object} icon
       *   Optional. Icon to display above media content.
       *
       *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
       *
       * @property {string} contentUrl
       *   Required. Url where the media is stored.
       *
       * @typedef ResponseMediaObject
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.MediaContent.ResponseMediaObject definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      ResponseMediaObject: {
        // This is for documentation. Actual contents will be loaded by gRPC.
      },

      /**
       * Format of response media type.
       *
       * @enum {number}
       * @memberof google.cloud.dialogflow.v2
       */
      ResponseMediaType: {

        /**
         * Unspecified.
         */
        RESPONSE_MEDIA_TYPE_UNSPECIFIED: 0,

        /**
         * Response media type is audio.
         */
        AUDIO: 1
      }
    },

    /**
     * Browse Carousel Card for Actions on Google.
     * https://developers.google.com/actions/assistant/responses#browsing_carousel
     *
     * @property {Object[]} items
     *   Required. List of items in the Browse Carousel Card. Minimum of two
     *   items, maximum of ten.
     *
     *   This object should have the same structure as [BrowseCarouselCardItem]{@link google.cloud.dialogflow.v2.BrowseCarouselCardItem}
     *
     * @property {number} imageDisplayOptions
     *   Optional. Settings for displaying the image. Applies to every image in
     *   items.
     *
     *   The number should be among the values of [ImageDisplayOptions]{@link google.cloud.dialogflow.v2.ImageDisplayOptions}
     *
     * @typedef BrowseCarouselCard
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.BrowseCarouselCard definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    BrowseCarouselCard: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * Browsing carousel tile
       *
       * @property {Object} openUriAction
       *   Required. Action to present to the user.
       *
       *   This object should have the same structure as [OpenUrlAction]{@link google.cloud.dialogflow.v2.OpenUrlAction}
       *
       * @property {string} title
       *   Required. Title of the carousel item. Maximum of two lines of text.
       *
       * @property {string} description
       *   Optional. Description of the carousel item. Maximum of four lines of
       *   text.
       *
       * @property {Object} image
       *   Optional. Hero image for the carousel item.
       *
       *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
       *
       * @property {string} footer
       *   Optional. Text that appears at the bottom of the Browse Carousel
       *   Card. Maximum of one line of text.
       *
       * @typedef BrowseCarouselCardItem
       * @memberof google.cloud.dialogflow.v2
       * @see [google.cloud.dialogflow.v2.Intent.Message.BrowseCarouselCard.BrowseCarouselCardItem definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
       */
      BrowseCarouselCardItem: {
        // This is for documentation. Actual contents will be loaded by gRPC.

        /**
         * Actions on Google action to open a given url.
         *
         * @property {string} url
         *   Required. URL
         *
         * @property {number} urlTypeHint
         *   Optional. Specifies the type of viewer that is used when opening
         *   the URL. Defaults to opening via web browser.
         *
         *   The number should be among the values of [UrlTypeHint]{@link google.cloud.dialogflow.v2.UrlTypeHint}
         *
         * @typedef OpenUrlAction
         * @memberof google.cloud.dialogflow.v2
         * @see [google.cloud.dialogflow.v2.Intent.Message.BrowseCarouselCard.BrowseCarouselCardItem.OpenUrlAction definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
         */
        OpenUrlAction: {
          // This is for documentation. Actual contents will be loaded by gRPC.

          /**
           * Type of the URI.
           *
           * @enum {number}
           * @memberof google.cloud.dialogflow.v2
           */
          UrlTypeHint: {

            /**
             * Unspecified
             */
            URL_TYPE_HINT_UNSPECIFIED: 0,

            /**
             * Url would be an amp action
             */
            AMP_ACTION: 1,

            /**
             * URL that points directly to AMP content, or to a canonical URL
             * which refers to AMP content via <link rel="amphtml">.
             */
            AMP_CONTENT: 2
          }
        }
      },

      /**
       * Image display options for Actions on Google. This should be used for
       * when the image's aspect ratio does not match the image container's
       * aspect ratio.
       *
       * @enum {number}
       * @memberof google.cloud.dialogflow.v2
       */
      ImageDisplayOptions: {

        /**
         * Fill the gaps between the image and the image container with gray
         * bars.
         */
        IMAGE_DISPLAY_OPTIONS_UNSPECIFIED: 0,

        /**
         * Fill the gaps between the image and the image container with gray
         * bars.
         */
        GRAY: 1,

        /**
         * Fill the gaps between the image and the image container with white
         * bars.
         */
        WHITE: 2,

        /**
         * Image is scaled such that the image width and height match or exceed
         * the container dimensions. This may crop the top and bottom of the
         * image if the scaled image height is greater than the container
         * height, or crop the left and right of the image if the scaled image
         * width is greater than the container width. This is similar to "Zoom
         * Mode" on a widescreen TV when playing a 4:3 video.
         */
        CROPPED: 3,

        /**
         * Pad the gaps between image and image frame with a blurred copy of the
         * same image.
         */
        BLURRED_BACKGROUND: 4
      }
    },

    /**
     * Table card for Actions on Google.
     *
     * @property {string} title
     *   Required. Title of the card.
     *
     * @property {string} subtitle
     *   Optional. Subtitle to the title.
     *
     * @property {Object} image
     *   Optional. Image which should be displayed on the card.
     *
     *   This object should have the same structure as [Image]{@link google.cloud.dialogflow.v2.Image}
     *
     * @property {Object[]} columnProperties
     *   Optional. Display properties for the columns in this table.
     *
     *   This object should have the same structure as [ColumnProperties]{@link google.cloud.dialogflow.v2.ColumnProperties}
     *
     * @property {Object[]} rows
     *   Optional. Rows in this table of data.
     *
     *   This object should have the same structure as [TableCardRow]{@link google.cloud.dialogflow.v2.TableCardRow}
     *
     * @property {Object[]} buttons
     *   Optional. List of buttons for the card.
     *
     *   This object should have the same structure as [Button]{@link google.cloud.dialogflow.v2.Button}
     *
     * @typedef TableCard
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.TableCard definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    TableCard: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * Column properties for TableCard.
     *
     * @property {string} header
     *   Required. Column heading.
     *
     * @property {number} horizontalAlignment
     *   Optional. Defines text alignment for all cells in this column.
     *
     *   The number should be among the values of [HorizontalAlignment]{@link google.cloud.dialogflow.v2.HorizontalAlignment}
     *
     * @typedef ColumnProperties
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.ColumnProperties definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    ColumnProperties: {
      // This is for documentation. Actual contents will be loaded by gRPC.

      /**
       * Text alignments within a cell.
       *
       * @enum {number}
       * @memberof google.cloud.dialogflow.v2
       */
      HorizontalAlignment: {

        /**
         * Text is aligned to the leading edge of the column.
         */
        HORIZONTAL_ALIGNMENT_UNSPECIFIED: 0,

        /**
         * Text is aligned to the leading edge of the column.
         */
        LEADING: 1,

        /**
         * Text is centered in the column.
         */
        CENTER: 2,

        /**
         * Text is aligned to the trailing edge of the column.
         */
        TRAILING: 3
      }
    },

    /**
     * Row of TableCard.
     *
     * @property {Object[]} cells
     *   Optional. List of cells that make up this row.
     *
     *   This object should have the same structure as [TableCardCell]{@link google.cloud.dialogflow.v2.TableCardCell}
     *
     * @property {boolean} dividerAfter
     *   Optional. Whether to add a visual divider after this row.
     *
     * @typedef TableCardRow
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.TableCardRow definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    TableCardRow: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * Cell of TableCardRow.
     *
     * @property {string} text
     *   Required. Text in this cell.
     *
     * @typedef TableCardCell
     * @memberof google.cloud.dialogflow.v2
     * @see [google.cloud.dialogflow.v2.Intent.Message.TableCardCell definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
     */
    TableCardCell: {
      // This is for documentation. Actual contents will be loaded by gRPC.
    },

    /**
     * Represents different platforms that a rich message can be intended for.
     *
     * @enum {number}
     * @memberof google.cloud.dialogflow.v2
     */
    Platform: {

      /**
       * Not specified.
       */
      PLATFORM_UNSPECIFIED: 0,

      /**
       * Facebook.
       */
      FACEBOOK: 1,

      /**
       * Slack.
       */
      SLACK: 2,

      /**
       * Telegram.
       */
      TELEGRAM: 3,

      /**
       * Kik.
       */
      KIK: 4,

      /**
       * Skype.
       */
      SKYPE: 5,

      /**
       * Line.
       */
      LINE: 6,

      /**
       * Viber.
       */
      VIBER: 7,

      /**
       * Actions on Google.
       * When using Actions on Google, you can choose one of the specific
       * Intent.Message types that mention support for Actions on Google,
       * or you can use the advanced Intent.Message.payload field.
       * The payload field provides access to AoG features not available in the
       * specific message types.
       * If using the Intent.Message.payload field, it should have a structure
       * similar to the JSON message shown here. For more information, see
       * [Actions on Google Webhook
       * Format](https://developers.google.com/actions/dialogflow/webhook)
       * <pre>{
       *   "expectUserResponse": true,
       *   "isSsml": false,
       *   "noInputPrompts": [],
       *   "richResponse": {
       *     "items": [
       *       {
       *         "simpleResponse": {
       *           "displayText": "hi",
       *           "textToSpeech": "hello"
       *         }
       *       }
       *     ],
       *     "suggestions": [
       *       {
       *         "title": "Say this"
       *       },
       *       {
       *         "title": "or this"
       *       }
       *     ]
       *   },
       *   "systemIntent": {
       *     "data": {
       *       "@type": "type.googleapis.com/google.actions.v2.OptionValueSpec",
       *       "listSelect": {
       *         "items": [
       *           {
       *             "optionInfo": {
       *               "key": "key1",
       *               "synonyms": [
       *                 "key one"
       *               ]
       *             },
       *             "title": "must not be empty, but unique"
       *           },
       *           {
       *             "optionInfo": {
       *               "key": "key2",
       *               "synonyms": [
       *                 "key two"
       *               ]
       *             },
       *             "title": "must not be empty, but unique"
       *           }
       *         ]
       *       }
       *     },
       *     "intent": "actions.intent.OPTION"
       *   }
       * }</pre>
       */
      ACTIONS_ON_GOOGLE: 8,

      /**
       * Google Hangouts.
       */
      GOOGLE_HANGOUTS: 11
    }
  },

  /**
   * Represents a single followup intent in the chain.
   *
   * @property {string} followupIntentName
   *   The unique identifier of the followup intent.
   *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
   *
   * @property {string} parentFollowupIntentName
   *   The unique identifier of the followup intent's parent.
   *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
   *
   * @typedef FollowupIntentInfo
   * @memberof google.cloud.dialogflow.v2
   * @see [google.cloud.dialogflow.v2.Intent.FollowupIntentInfo definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
   */
  FollowupIntentInfo: {
    // This is for documentation. Actual contents will be loaded by gRPC.
  },

  /**
   * Represents the different states that webhooks can be in.
   *
   * @enum {number}
   * @memberof google.cloud.dialogflow.v2
   */
  WebhookState: {

    /**
     * Webhook is disabled in the agent and in the intent.
     */
    WEBHOOK_STATE_UNSPECIFIED: 0,

    /**
     * Webhook is enabled in the agent and in the intent.
     */
    WEBHOOK_STATE_ENABLED: 1,

    /**
     * Webhook is enabled in the agent and in the intent. Also, each slot
     * filling prompt is forwarded to the webhook.
     */
    WEBHOOK_STATE_ENABLED_FOR_SLOT_FILLING: 2
  }
};

/**
 * The request message for Intents.ListIntents.
 *
 * @property {string} parent
 *   Required. The agent to list all intents from.
 *   Format: `projects/<Project ID>/agent`.
 *
 * @property {string} languageCode
 *   Optional. The language to list training phrases, parameters and rich
 *   messages for. If not specified, the agent's default language is used.
 *   [Many
 *   languages](https://cloud.google.com/dialogflow/docs/reference/language)
 *   are supported. Note: languages must be enabled in the agent before they can
 *   be used.
 *
 * @property {number} intentView
 *   Optional. The resource view to apply to the returned intent.
 *
 *   The number should be among the values of [IntentView]{@link google.cloud.dialogflow.v2.IntentView}
 *
 * @property {number} pageSize
 *   Optional. The maximum number of items to return in a single page. By
 *   default 100 and at most 1000.
 *
 * @property {string} pageToken
 *   Optional. The next_page_token value returned from a previous list request.
 *
 * @typedef ListIntentsRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.ListIntentsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const ListIntentsRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The response message for Intents.ListIntents.
 *
 * @property {Object[]} intents
 *   The list of agent intents. There will be a maximum number of items
 *   returned based on the page_size field in the request.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @property {string} nextPageToken
 *   Token to retrieve the next page of results, or empty if there are no
 *   more results in the list.
 *
 * @typedef ListIntentsResponse
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.ListIntentsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const ListIntentsResponse = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.GetIntent.
 *
 * @property {string} name
 *   Required. The name of the intent.
 *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
 *
 * @property {string} languageCode
 *   Optional. The language to retrieve training phrases, parameters and rich
 *   messages for. If not specified, the agent's default language is used.
 *   [Many
 *   languages](https://cloud.google.com/dialogflow/docs/reference/language)
 *   are supported. Note: languages must be enabled in the agent before they can
 *   be used.
 *
 * @property {number} intentView
 *   Optional. The resource view to apply to the returned intent.
 *
 *   The number should be among the values of [IntentView]{@link google.cloud.dialogflow.v2.IntentView}
 *
 * @typedef GetIntentRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.GetIntentRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const GetIntentRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.CreateIntent.
 *
 * @property {string} parent
 *   Required. The agent to create a intent for.
 *   Format: `projects/<Project ID>/agent`.
 *
 * @property {Object} intent
 *   Required. The intent to create.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @property {string} languageCode
 *   Optional. The language of training phrases, parameters and rich messages
 *   defined in `intent`. If not specified, the agent's default language is
 *   used. [Many
 *   languages](https://cloud.google.com/dialogflow/docs/reference/language)
 *   are supported. Note: languages must be enabled in the agent before they can
 *   be used.
 *
 * @property {number} intentView
 *   Optional. The resource view to apply to the returned intent.
 *
 *   The number should be among the values of [IntentView]{@link google.cloud.dialogflow.v2.IntentView}
 *
 * @typedef CreateIntentRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.CreateIntentRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const CreateIntentRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.UpdateIntent.
 *
 * @property {Object} intent
 *   Required. The intent to update.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @property {string} languageCode
 *   Optional. The language of training phrases, parameters and rich messages
 *   defined in `intent`. If not specified, the agent's default language is
 *   used. [Many
 *   languages](https://cloud.google.com/dialogflow/docs/reference/language)
 *   are supported. Note: languages must be enabled in the agent before they can
 *   be used.
 *
 * @property {Object} updateMask
 *   Optional. The mask to control which fields get updated.
 *
 *   This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask}
 *
 * @property {number} intentView
 *   Optional. The resource view to apply to the returned intent.
 *
 *   The number should be among the values of [IntentView]{@link google.cloud.dialogflow.v2.IntentView}
 *
 * @typedef UpdateIntentRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.UpdateIntentRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const UpdateIntentRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.DeleteIntent.
 *
 * @property {string} name
 *   Required. The name of the intent to delete. If this intent has direct or
 *   indirect followup intents, we also delete them.
 *   Format: `projects/<Project ID>/agent/intents/<Intent ID>`.
 *
 * @typedef DeleteIntentRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.DeleteIntentRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const DeleteIntentRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.BatchUpdateIntents.
 *
 * @property {string} parent
 *   Required. The name of the agent to update or create intents in.
 *   Format: `projects/<Project ID>/agent`.
 *
 * @property {string} intentBatchUri
 *   The URI to a Google Cloud Storage file containing intents to update or
 *   create. The file format can either be a serialized proto (of IntentBatch
 *   type) or JSON object. Note: The URI must start with "gs://".
 *
 * @property {Object} intentBatchInline
 *   The collection of intents to update or create.
 *
 *   This object should have the same structure as [IntentBatch]{@link google.cloud.dialogflow.v2.IntentBatch}
 *
 * @property {string} languageCode
 *   Optional. The language of training phrases, parameters and rich messages
 *   defined in `intents`. If not specified, the agent's default language is
 *   used. [Many
 *   languages](https://cloud.google.com/dialogflow/docs/reference/language)
 *   are supported. Note: languages must be enabled in the agent before they can
 *   be used.
 *
 * @property {Object} updateMask
 *   Optional. The mask to control which fields get updated.
 *
 *   This object should have the same structure as [FieldMask]{@link google.protobuf.FieldMask}
 *
 * @property {number} intentView
 *   Optional. The resource view to apply to the returned intent.
 *
 *   The number should be among the values of [IntentView]{@link google.cloud.dialogflow.v2.IntentView}
 *
 * @typedef BatchUpdateIntentsRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.BatchUpdateIntentsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const BatchUpdateIntentsRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The response message for Intents.BatchUpdateIntents.
 *
 * @property {Object[]} intents
 *   The collection of updated or created intents.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @typedef BatchUpdateIntentsResponse
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.BatchUpdateIntentsResponse definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const BatchUpdateIntentsResponse = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * The request message for Intents.BatchDeleteIntents.
 *
 * @property {string} parent
 *   Required. The name of the agent to delete all entities types for. Format:
 *   `projects/<Project ID>/agent`.
 *
 * @property {Object[]} intents
 *   Required. The collection of intents to delete. Only intent `name` must be
 *   filled in.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @typedef BatchDeleteIntentsRequest
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.BatchDeleteIntentsRequest definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const BatchDeleteIntentsRequest = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * This message is a wrapper around a collection of intents.
 *
 * @property {Object[]} intents
 *   A collection of intents.
 *
 *   This object should have the same structure as [Intent]{@link google.cloud.dialogflow.v2.Intent}
 *
 * @typedef IntentBatch
 * @memberof google.cloud.dialogflow.v2
 * @see [google.cloud.dialogflow.v2.IntentBatch definition in proto format]{@link https://github.com/googleapis/googleapis/blob/master/google/cloud/dialogflow/v2/intent.proto}
 */
const IntentBatch = {
  // This is for documentation. Actual contents will be loaded by gRPC.
};

/**
 * Represents the options for views of an intent.
 * An intent can be a sizable object. Therefore, we provide a resource view that
 * does not return training phrases in the response by default.
 *
 * @enum {number}
 * @memberof google.cloud.dialogflow.v2
 */
const IntentView = {

  /**
   * Training phrases field is not populated in the response.
   */
  INTENT_VIEW_UNSPECIFIED: 0,

  /**
   * All fields are populated.
   */
  INTENT_VIEW_FULL: 1
};