<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_131-google-v7) on Thu Apr 19 15:01:21 PDT 2018 -->
<title>IntentsGrpc.IntentsStub (java API)</title>
<meta name="date" content="2018-04-19">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="IntentsGrpc.IntentsStub (java API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsImplBase.html" title="class in com.google.cloud.dialogflow.v2beta1"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentView.html" title="enum in com.google.cloud.dialogflow.v2beta1"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" target="_top">Frames</a></li>
<li><a href="IntentsGrpc.IntentsStub.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.cloud.dialogflow.v2beta1</div>
<h2 title="Class IntentsGrpc.IntentsStub" class="title">Class IntentsGrpc.IntentsStub</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>io.grpc.stub.AbstractStub&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc.IntentsStub</a>&gt;</li>
<li>
<ul class="inheritance">
<li>com.google.cloud.dialogflow.v2beta1.IntentsGrpc.IntentsStub</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Enclosing class:</dt>
<dd><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc</a></dd>
</dl>
<hr>
<br>
<pre>public static final class <span class="typeNameLabel">IntentsGrpc.IntentsStub</span>
extends io.grpc.stub.AbstractStub&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc.IntentsStub</a>&gt;</pre>
<div class="block"><pre>
 An intent represents a mapping between input from a user and an action to
 be taken by your application. When you pass user input to the
 [DetectIntent][google.cloud.dialogflow.v2beta1.Sessions.DetectIntent] (or
 [StreamingDetectIntent][google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent]) method, the
 Dialogflow API analyzes the input and searches
 for a matching intent. If no match is found, the Dialogflow API returns a
 fallback intent (`is_fallback` = true).
 You can provide additional information for the Dialogflow API to use to
 match user input to an intent by adding the following to your intent.
 *   **Contexts** - provide additional context for intent analysis. For
     example, if an intent is related to an object in your application that
     plays music, you can provide a context to determine when to match the
     intent if the user input is “turn it off”.  You can include a context
     that matches the intent when there is previous user input of
     "play music", and not when there is previous user input of
     "turn on the light".
 *   **Events** - allow for matching an intent by using an event name
     instead of user input. Your application can provide an event name and
     related parameters to the Dialogflow API to match an intent. For
     example, when your application starts, you can send a welcome event
     with a user name parameter to the Dialogflow API to match an intent with
     a personalized welcome message for the user.
 *   **Training phrases** - provide examples of user input to train the
     Dialogflow API agent to better match intents.
 For more information about intents, see the
 [Dialogflow documentation](https://dialogflow.com/docs/intents).
 </pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#batchDeleteIntents-com.google.cloud.dialogflow.v2beta1.BatchDeleteIntentsRequest-io.grpc.stub.StreamObserver-">batchDeleteIntents</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/BatchDeleteIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">BatchDeleteIntentsRequest</a>&nbsp;request,
                  io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/longrunning/Operation.html" title="class in com.google.longrunning">Operation</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Deletes intents in the specified agent.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#batchUpdateIntents-com.google.cloud.dialogflow.v2beta1.BatchUpdateIntentsRequest-io.grpc.stub.StreamObserver-">batchUpdateIntents</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/BatchUpdateIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">BatchUpdateIntentsRequest</a>&nbsp;request,
                  io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/longrunning/Operation.html" title="class in com.google.longrunning">Operation</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Updates/Creates multiple intents in the specified agent.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc.IntentsStub</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#build-io.grpc.Channel-io.grpc.CallOptions-">build</a></span>(io.grpc.Channel&nbsp;channel,
     io.grpc.CallOptions&nbsp;callOptions)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#createIntent-com.google.cloud.dialogflow.v2beta1.CreateIntentRequest-io.grpc.stub.StreamObserver-">createIntent</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/CreateIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">CreateIntentRequest</a>&nbsp;request,
            io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Creates an intent in the specified agent.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#deleteIntent-com.google.cloud.dialogflow.v2beta1.DeleteIntentRequest-io.grpc.stub.StreamObserver-">deleteIntent</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/DeleteIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">DeleteIntentRequest</a>&nbsp;request,
            io.grpc.stub.StreamObserver&lt;<a href="https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Empty.html?is-external=true" title="class or interface in com.google.protobuf">Empty</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Deletes the specified intent.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#getIntent-com.google.cloud.dialogflow.v2beta1.GetIntentRequest-io.grpc.stub.StreamObserver-">getIntent</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/GetIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">GetIntentRequest</a>&nbsp;request,
         io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Retrieves the specified intent.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#listIntents-com.google.cloud.dialogflow.v2beta1.ListIntentsRequest-io.grpc.stub.StreamObserver-">listIntents</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/ListIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">ListIntentsRequest</a>&nbsp;request,
           io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/ListIntentsResponse.html" title="class in com.google.cloud.dialogflow.v2beta1">ListIntentsResponse</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Returns the list of all intents in the specified agent.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html#updateIntent-com.google.cloud.dialogflow.v2beta1.UpdateIntentRequest-io.grpc.stub.StreamObserver-">updateIntent</a></span>(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/UpdateIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">UpdateIntentRequest</a>&nbsp;request,
            io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</code>
<div class="block">
 Updates the specified intent.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.io.grpc.stub.AbstractStub">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;io.grpc.stub.AbstractStub</h3>
<code>getCallOptions, getChannel, withCallCredentials, withChannel, withCompression, withDeadline, withDeadlineAfter, withExecutor, withInterceptors, withMaxInboundMessageSize, withMaxOutboundMessageSize, withOption, withWaitForReady</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="build-io.grpc.Channel-io.grpc.CallOptions-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>build</h4>
<pre>protected&nbsp;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc.IntentsStub</a>&nbsp;build(io.grpc.Channel&nbsp;channel,
                                        io.grpc.CallOptions&nbsp;callOptions)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>build</code>&nbsp;in class&nbsp;<code>io.grpc.stub.AbstractStub&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" title="class in com.google.cloud.dialogflow.v2beta1">IntentsGrpc.IntentsStub</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="listIntents-com.google.cloud.dialogflow.v2beta1.ListIntentsRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>listIntents</h4>
<pre>public&nbsp;void&nbsp;listIntents(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/ListIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">ListIntentsRequest</a>&nbsp;request,
                        io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/ListIntentsResponse.html" title="class in com.google.cloud.dialogflow.v2beta1">ListIntentsResponse</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Returns the list of all intents in the specified agent.
 </pre></div>
</li>
</ul>
<a name="getIntent-com.google.cloud.dialogflow.v2beta1.GetIntentRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntent</h4>
<pre>public&nbsp;void&nbsp;getIntent(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/GetIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">GetIntentRequest</a>&nbsp;request,
                      io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Retrieves the specified intent.
 </pre></div>
</li>
</ul>
<a name="createIntent-com.google.cloud.dialogflow.v2beta1.CreateIntentRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createIntent</h4>
<pre>public&nbsp;void&nbsp;createIntent(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/CreateIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">CreateIntentRequest</a>&nbsp;request,
                         io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Creates an intent in the specified agent.
 </pre></div>
</li>
</ul>
<a name="updateIntent-com.google.cloud.dialogflow.v2beta1.UpdateIntentRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateIntent</h4>
<pre>public&nbsp;void&nbsp;updateIntent(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/UpdateIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">UpdateIntentRequest</a>&nbsp;request,
                         io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/cloud/dialogflow/v2beta1/Intent.html" title="class in com.google.cloud.dialogflow.v2beta1">Intent</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Updates the specified intent.
 </pre></div>
</li>
</ul>
<a name="deleteIntent-com.google.cloud.dialogflow.v2beta1.DeleteIntentRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteIntent</h4>
<pre>public&nbsp;void&nbsp;deleteIntent(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/DeleteIntentRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">DeleteIntentRequest</a>&nbsp;request,
                         io.grpc.stub.StreamObserver&lt;<a href="https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Empty.html?is-external=true" title="class or interface in com.google.protobuf">Empty</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Deletes the specified intent.
 </pre></div>
</li>
</ul>
<a name="batchUpdateIntents-com.google.cloud.dialogflow.v2beta1.BatchUpdateIntentsRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>batchUpdateIntents</h4>
<pre>public&nbsp;void&nbsp;batchUpdateIntents(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/BatchUpdateIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">BatchUpdateIntentsRequest</a>&nbsp;request,
                               io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/longrunning/Operation.html" title="class in com.google.longrunning">Operation</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Updates/Creates multiple intents in the specified agent.
 Operation &lt;response: [BatchUpdateIntentsResponse][google.cloud.dialogflow.v2beta1.BatchUpdateIntentsResponse]&gt;
 </pre></div>
</li>
</ul>
<a name="batchDeleteIntents-com.google.cloud.dialogflow.v2beta1.BatchDeleteIntentsRequest-io.grpc.stub.StreamObserver-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>batchDeleteIntents</h4>
<pre>public&nbsp;void&nbsp;batchDeleteIntents(<a href="../../../../../com/google/cloud/dialogflow/v2beta1/BatchDeleteIntentsRequest.html" title="class in com.google.cloud.dialogflow.v2beta1">BatchDeleteIntentsRequest</a>&nbsp;request,
                               io.grpc.stub.StreamObserver&lt;<a href="../../../../../com/google/longrunning/Operation.html" title="class in com.google.longrunning">Operation</a>&gt;&nbsp;responseObserver)</pre>
<div class="block"><pre>
 Deletes intents in the specified agent.
 Operation &lt;response: [google.protobuf.Empty][google.protobuf.Empty]&gt;
 </pre></div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsImplBase.html" title="class in com.google.cloud.dialogflow.v2beta1"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/google/cloud/dialogflow/v2beta1/IntentView.html" title="enum in com.google.cloud.dialogflow.v2beta1"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/google/cloud/dialogflow/v2beta1/IntentsGrpc.IntentsStub.html" target="_top">Frames</a></li>
<li><a href="IntentsGrpc.IntentsStub.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
