// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/cloud/dialogflow/v2/intent.proto

package com.google.cloud.dialogflow.v2;

public interface IntentOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.cloud.dialogflow.v2.Intent)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Required for all methods except `create` (`create` populates the name
   * automatically.
   * The unique identifier of this intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string name = 1;</code>
   */
  java.lang.String getName();
  /**
   * <pre>
   * Required for all methods except `create` (`create` populates the name
   * automatically.
   * The unique identifier of this intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string name = 1;</code>
   */
  com.google.protobuf.ByteString
      getNameBytes();

  /**
   * <pre>
   * Required. The name of this intent.
   * </pre>
   *
   * <code>string display_name = 2;</code>
   */
  java.lang.String getDisplayName();
  /**
   * <pre>
   * Required. The name of this intent.
   * </pre>
   *
   * <code>string display_name = 2;</code>
   */
  com.google.protobuf.ByteString
      getDisplayNameBytes();

  /**
   * <pre>
   * Required. Indicates whether webhooks are enabled for the intent.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2.Intent.WebhookState webhook_state = 6;</code>
   */
  int getWebhookStateValue();
  /**
   * <pre>
   * Required. Indicates whether webhooks are enabled for the intent.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2.Intent.WebhookState webhook_state = 6;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.WebhookState getWebhookState();

  /**
   * <pre>
   * Optional. The priority of this intent. Higher numbers represent higher
   * priorities. Zero or negative numbers mean that the intent is disabled.
   * </pre>
   *
   * <code>int32 priority = 3;</code>
   */
  int getPriority();

  /**
   * <pre>
   * Optional. Indicates whether this is a fallback intent.
   * </pre>
   *
   * <code>bool is_fallback = 4;</code>
   */
  boolean getIsFallback();

  /**
   * <pre>
   * Optional. Indicates whether Machine Learning is disabled for the intent.
   * Note: If `ml_diabled` 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.
   * </pre>
   *
   * <code>bool ml_disabled = 19;</code>
   */
  boolean getMlDisabled();

  /**
   * <pre>
   * Optional. The list of context names required for this intent to be
   * triggered.
   * Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated string input_context_names = 7;</code>
   */
  java.util.List<java.lang.String>
      getInputContextNamesList();
  /**
   * <pre>
   * Optional. The list of context names required for this intent to be
   * triggered.
   * Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated string input_context_names = 7;</code>
   */
  int getInputContextNamesCount();
  /**
   * <pre>
   * Optional. The list of context names required for this intent to be
   * triggered.
   * Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated string input_context_names = 7;</code>
   */
  java.lang.String getInputContextNames(int index);
  /**
   * <pre>
   * Optional. The list of context names required for this intent to be
   * triggered.
   * Format: `projects/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated string input_context_names = 7;</code>
   */
  com.google.protobuf.ByteString
      getInputContextNamesBytes(int index);

  /**
   * <pre>
   * 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.
   * </pre>
   *
   * <code>repeated string events = 8;</code>
   */
  java.util.List<java.lang.String>
      getEventsList();
  /**
   * <pre>
   * 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.
   * </pre>
   *
   * <code>repeated string events = 8;</code>
   */
  int getEventsCount();
  /**
   * <pre>
   * 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.
   * </pre>
   *
   * <code>repeated string events = 8;</code>
   */
  java.lang.String getEvents(int index);
  /**
   * <pre>
   * 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.
   * </pre>
   *
   * <code>repeated string events = 8;</code>
   */
  com.google.protobuf.ByteString
      getEventsBytes(int index);

  /**
   * <pre>
   * Optional. The collection of examples/templates that the agent is
   * trained on.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.TrainingPhrase training_phrases = 9;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Intent.TrainingPhrase> 
      getTrainingPhrasesList();
  /**
   * <pre>
   * Optional. The collection of examples/templates that the agent is
   * trained on.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.TrainingPhrase training_phrases = 9;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.TrainingPhrase getTrainingPhrases(int index);
  /**
   * <pre>
   * Optional. The collection of examples/templates that the agent is
   * trained on.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.TrainingPhrase training_phrases = 9;</code>
   */
  int getTrainingPhrasesCount();
  /**
   * <pre>
   * Optional. The collection of examples/templates that the agent is
   * trained on.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.TrainingPhrase training_phrases = 9;</code>
   */
  java.util.List<? extends com.google.cloud.dialogflow.v2.Intent.TrainingPhraseOrBuilder> 
      getTrainingPhrasesOrBuilderList();
  /**
   * <pre>
   * Optional. The collection of examples/templates that the agent is
   * trained on.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.TrainingPhrase training_phrases = 9;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.TrainingPhraseOrBuilder getTrainingPhrasesOrBuilder(
      int index);

  /**
   * <pre>
   * Optional. The name of the action associated with the intent.
   * </pre>
   *
   * <code>string action = 10;</code>
   */
  java.lang.String getAction();
  /**
   * <pre>
   * Optional. The name of the action associated with the intent.
   * </pre>
   *
   * <code>string action = 10;</code>
   */
  com.google.protobuf.ByteString
      getActionBytes();

  /**
   * <pre>
   * 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/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Context output_contexts = 11;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Context> 
      getOutputContextsList();
  /**
   * <pre>
   * 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/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Context output_contexts = 11;</code>
   */
  com.google.cloud.dialogflow.v2.Context getOutputContexts(int index);
  /**
   * <pre>
   * 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/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Context output_contexts = 11;</code>
   */
  int getOutputContextsCount();
  /**
   * <pre>
   * 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/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Context output_contexts = 11;</code>
   */
  java.util.List<? extends com.google.cloud.dialogflow.v2.ContextOrBuilder> 
      getOutputContextsOrBuilderList();
  /**
   * <pre>
   * 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/&lt;Project ID&gt;/agent/sessions/-/contexts/&lt;Context ID&gt;`.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Context output_contexts = 11;</code>
   */
  com.google.cloud.dialogflow.v2.ContextOrBuilder getOutputContextsOrBuilder(
      int index);

  /**
   * <pre>
   * Optional. Indicates whether to delete all contexts in the current
   * session when this intent is matched.
   * </pre>
   *
   * <code>bool reset_contexts = 12;</code>
   */
  boolean getResetContexts();

  /**
   * <pre>
   * Optional. The collection of parameters associated with the intent.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Parameter parameters = 13;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Intent.Parameter> 
      getParametersList();
  /**
   * <pre>
   * Optional. The collection of parameters associated with the intent.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Parameter parameters = 13;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.Parameter getParameters(int index);
  /**
   * <pre>
   * Optional. The collection of parameters associated with the intent.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Parameter parameters = 13;</code>
   */
  int getParametersCount();
  /**
   * <pre>
   * Optional. The collection of parameters associated with the intent.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Parameter parameters = 13;</code>
   */
  java.util.List<? extends com.google.cloud.dialogflow.v2.Intent.ParameterOrBuilder> 
      getParametersOrBuilderList();
  /**
   * <pre>
   * Optional. The collection of parameters associated with the intent.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Parameter parameters = 13;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.ParameterOrBuilder getParametersOrBuilder(
      int index);

  /**
   * <pre>
   * Optional. The collection of rich messages corresponding to the
   * `Response` field in the Dialogflow console.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message messages = 14;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Intent.Message> 
      getMessagesList();
  /**
   * <pre>
   * Optional. The collection of rich messages corresponding to the
   * `Response` field in the Dialogflow console.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message messages = 14;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.Message getMessages(int index);
  /**
   * <pre>
   * Optional. The collection of rich messages corresponding to the
   * `Response` field in the Dialogflow console.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message messages = 14;</code>
   */
  int getMessagesCount();
  /**
   * <pre>
   * Optional. The collection of rich messages corresponding to the
   * `Response` field in the Dialogflow console.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message messages = 14;</code>
   */
  java.util.List<? extends com.google.cloud.dialogflow.v2.Intent.MessageOrBuilder> 
      getMessagesOrBuilderList();
  /**
   * <pre>
   * Optional. The collection of rich messages corresponding to the
   * `Response` field in the Dialogflow console.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message messages = 14;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.MessageOrBuilder getMessagesOrBuilder(
      int index);

  /**
   * <pre>
   * Optional. The list of platforms for which the first response will be
   * taken from among the messages assigned to the DEFAULT_PLATFORM.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message.Platform default_response_platforms = 15;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Intent.Message.Platform> getDefaultResponsePlatformsList();
  /**
   * <pre>
   * Optional. The list of platforms for which the first response will be
   * taken from among the messages assigned to the DEFAULT_PLATFORM.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message.Platform default_response_platforms = 15;</code>
   */
  int getDefaultResponsePlatformsCount();
  /**
   * <pre>
   * Optional. The list of platforms for which the first response will be
   * taken from among the messages assigned to the DEFAULT_PLATFORM.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message.Platform default_response_platforms = 15;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.Message.Platform getDefaultResponsePlatforms(int index);
  /**
   * <pre>
   * Optional. The list of platforms for which the first response will be
   * taken from among the messages assigned to the DEFAULT_PLATFORM.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message.Platform default_response_platforms = 15;</code>
   */
  java.util.List<java.lang.Integer>
  getDefaultResponsePlatformsValueList();
  /**
   * <pre>
   * Optional. The list of platforms for which the first response will be
   * taken from among the messages assigned to the DEFAULT_PLATFORM.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.Message.Platform default_response_platforms = 15;</code>
   */
  int getDefaultResponsePlatformsValue(int index);

  /**
   * <pre>
   * The unique identifier of the root intent in the chain of followup intents.
   * It identifies the correct followup intents chain for this intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string root_followup_intent_name = 16;</code>
   */
  java.lang.String getRootFollowupIntentName();
  /**
   * <pre>
   * The unique identifier of the root intent in the chain of followup intents.
   * It identifies the correct followup intents chain for this intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string root_followup_intent_name = 16;</code>
   */
  com.google.protobuf.ByteString
      getRootFollowupIntentNameBytes();

  /**
   * <pre>
   * The unique identifier of the parent intent in the chain of followup
   * intents.
   * It identifies the parent followup intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string parent_followup_intent_name = 17;</code>
   */
  java.lang.String getParentFollowupIntentName();
  /**
   * <pre>
   * The unique identifier of the parent intent in the chain of followup
   * intents.
   * It identifies the parent followup intent.
   * Format: `projects/&lt;Project ID&gt;/agent/intents/&lt;Intent ID&gt;`.
   * </pre>
   *
   * <code>string parent_followup_intent_name = 17;</code>
   */
  com.google.protobuf.ByteString
      getParentFollowupIntentNameBytes();

  /**
   * <pre>
   * Optional. Collection of information about all followup intents that have
   * name of this intent as a root_name.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.FollowupIntentInfo followup_intent_info = 18;</code>
   */
  java.util.List<com.google.cloud.dialogflow.v2.Intent.FollowupIntentInfo> 
      getFollowupIntentInfoList();
  /**
   * <pre>
   * Optional. Collection of information about all followup intents that have
   * name of this intent as a root_name.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.FollowupIntentInfo followup_intent_info = 18;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.FollowupIntentInfo getFollowupIntentInfo(int index);
  /**
   * <pre>
   * Optional. Collection of information about all followup intents that have
   * name of this intent as a root_name.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.FollowupIntentInfo followup_intent_info = 18;</code>
   */
  int getFollowupIntentInfoCount();
  /**
   * <pre>
   * Optional. Collection of information about all followup intents that have
   * name of this intent as a root_name.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.FollowupIntentInfo followup_intent_info = 18;</code>
   */
  java.util.List<? extends com.google.cloud.dialogflow.v2.Intent.FollowupIntentInfoOrBuilder> 
      getFollowupIntentInfoOrBuilderList();
  /**
   * <pre>
   * Optional. Collection of information about all followup intents that have
   * name of this intent as a root_name.
   * </pre>
   *
   * <code>repeated .google.cloud.dialogflow.v2.Intent.FollowupIntentInfo followup_intent_info = 18;</code>
   */
  com.google.cloud.dialogflow.v2.Intent.FollowupIntentInfoOrBuilder getFollowupIntentInfoOrBuilder(
      int index);
}
