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

package com.google.cloud.dialogflow.v2beta1;

public interface DetectIntentRequestOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.cloud.dialogflow.v2beta1.DetectIntentRequest)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * Required. The name of the session this query is sent to. Format:
   * `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;`, or
   * `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
   * ID&gt;/sessions/&lt;Session ID&gt;`. Note: Environments and users are under
   * construction and will be available soon. If &lt;Environment ID&gt; is not
   * specified, we assume default 'draft' environment. If &lt;User ID&gt; is not
   * specified, we are using "-". It’s up to the API caller to choose an
   * appropriate &lt;Session ID&gt;. and &lt;User Id&gt;. They can be a random numbers or
   * some type of user and session identifiers (preferably hashed). The length
   * of the &lt;Session ID&gt; and &lt;User ID&gt; must not exceed 36 characters.
   * </pre>
   *
   * <code>string session = 1;</code>
   */
  java.lang.String getSession();
  /**
   * <pre>
   * Required. The name of the session this query is sent to. Format:
   * `projects/&lt;Project ID&gt;/agent/sessions/&lt;Session ID&gt;`, or
   * `projects/&lt;Project ID&gt;/agent/environments/&lt;Environment ID&gt;/users/&lt;User
   * ID&gt;/sessions/&lt;Session ID&gt;`. Note: Environments and users are under
   * construction and will be available soon. If &lt;Environment ID&gt; is not
   * specified, we assume default 'draft' environment. If &lt;User ID&gt; is not
   * specified, we are using "-". It’s up to the API caller to choose an
   * appropriate &lt;Session ID&gt;. and &lt;User Id&gt;. They can be a random numbers or
   * some type of user and session identifiers (preferably hashed). The length
   * of the &lt;Session ID&gt; and &lt;User ID&gt; must not exceed 36 characters.
   * </pre>
   *
   * <code>string session = 1;</code>
   */
  com.google.protobuf.ByteString
      getSessionBytes();

  /**
   * <pre>
   * Optional. The parameters of this query.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryParameters query_params = 2;</code>
   */
  boolean hasQueryParams();
  /**
   * <pre>
   * Optional. The parameters of this query.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryParameters query_params = 2;</code>
   */
  com.google.cloud.dialogflow.v2beta1.QueryParameters getQueryParams();
  /**
   * <pre>
   * Optional. The parameters of this query.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryParameters query_params = 2;</code>
   */
  com.google.cloud.dialogflow.v2beta1.QueryParametersOrBuilder getQueryParamsOrBuilder();

  /**
   * <pre>
   * Required. The input specification. It can be set to:
   * 1.  an audio config
   *     which instructs the speech recognizer how to process the speech audio,
   * 2.  a conversational query in the form of text, or
   * 3.  an event that specifies which intent to trigger.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryInput query_input = 3;</code>
   */
  boolean hasQueryInput();
  /**
   * <pre>
   * Required. The input specification. It can be set to:
   * 1.  an audio config
   *     which instructs the speech recognizer how to process the speech audio,
   * 2.  a conversational query in the form of text, or
   * 3.  an event that specifies which intent to trigger.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryInput query_input = 3;</code>
   */
  com.google.cloud.dialogflow.v2beta1.QueryInput getQueryInput();
  /**
   * <pre>
   * Required. The input specification. It can be set to:
   * 1.  an audio config
   *     which instructs the speech recognizer how to process the speech audio,
   * 2.  a conversational query in the form of text, or
   * 3.  an event that specifies which intent to trigger.
   * </pre>
   *
   * <code>.google.cloud.dialogflow.v2beta1.QueryInput query_input = 3;</code>
   */
  com.google.cloud.dialogflow.v2beta1.QueryInputOrBuilder getQueryInputOrBuilder();

  /**
   * <pre>
   * Optional. The natural language speech audio to be processed. This field
   * should be populated iff `query_input` is set to an input audio config.
   * A single request can contain up to 1 minute of speech audio data.
   * </pre>
   *
   * <code>bytes input_audio = 5;</code>
   */
  com.google.protobuf.ByteString getInputAudio();
}
