Move Stream to api/client

PiperOrigin-RevId: 248036420
Change-Id: I6a83e6a06809dd628d195f2adc6948be03c2dc7f
diff --git a/src/main/java/com/google/android/libraries/feed/api/client/scope/BUILD b/src/main/java/com/google/android/libraries/feed/api/client/scope/BUILD
index 5f4acae..7ef1075 100644
--- a/src/main/java/com/google/android/libraries/feed/api/client/scope/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/client/scope/BUILD
@@ -70,6 +70,7 @@
     name = "streamscope",
     srcs = ["StreamScope.java"],
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
         "//src/main/java/com/google/android/libraries/feed/api/stream",
     ],
@@ -80,6 +81,7 @@
     srcs = ["StreamScopeBuilder.java"],
     deps = [
         ":streamscope",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/imageloader",
diff --git a/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScope.java b/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScope.java
index cf944b9..a297577 100644
--- a/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScope.java
+++ b/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScope.java
@@ -14,8 +14,8 @@
 
 package com.google.android.libraries.feed.api.client.scope;
 
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.api.stream.Stream;
 
 /** Allows interacting with the Feed library on a per-stream level */
 public interface StreamScope {
diff --git a/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilder.java b/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilder.java
index 3b52039..5ba00e0 100644
--- a/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilder.java
+++ b/src/main/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilder.java
@@ -15,6 +15,7 @@
 package com.google.android.libraries.feed.api.client.scope;
 
 import android.content.Context;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.ApplicationInfo;
 import com.google.android.libraries.feed.api.host.config.Configuration;
@@ -37,7 +38,6 @@
 import com.google.android.libraries.feed.api.internal.stream.BasicStreamFactory;
 import com.google.android.libraries.feed.api.internal.stream.StreamFactory;
 import com.google.android.libraries.feed.api.scope.FeedStreamScope;
-import com.google.android.libraries.feed.api.stream.Stream;
 import com.google.android.libraries.feed.common.Validators;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
 import com.google.android.libraries.feed.common.concurrent.TaskQueue;
diff --git a/src/main/java/com/google/android/libraries/feed/api/client/stream/BUILD b/src/main/java/com/google/android/libraries/feed/api/client/stream/BUILD
new file mode 100644
index 0000000..8106bc8
--- /dev/null
+++ b/src/main/java/com/google/android/libraries/feed/api/client/stream/BUILD
@@ -0,0 +1,12 @@
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"])  # Apache 2
+
+android_library(
+    name = "stream",
+    srcs = glob(["*.java"]),
+    deps = [
+        "@com_google_code_findbugs_jsr305//jar",
+        "@maven//:com_android_support_support_annotations",
+    ],
+)
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/Header.java b/src/main/java/com/google/android/libraries/feed/api/client/stream/Header.java
similarity index 93%
rename from src/main/java/com/google/android/libraries/feed/api/stream/Header.java
rename to src/main/java/com/google/android/libraries/feed/api/client/stream/Header.java
index 820ad49..7d0e260 100644
--- a/src/main/java/com/google/android/libraries/feed/api/stream/Header.java
+++ b/src/main/java/com/google/android/libraries/feed/api/client/stream/Header.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.android.libraries.feed.api.stream;
+package com.google.android.libraries.feed.api.client.stream;
 
 import android.view.View;
 
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/Stream.java b/src/main/java/com/google/android/libraries/feed/api/client/stream/Stream.java
similarity index 77%
rename from src/main/java/com/google/android/libraries/feed/api/stream/Stream.java
rename to src/main/java/com/google/android/libraries/feed/api/client/stream/Stream.java
index 04b10fb..90c46a4 100644
--- a/src/main/java/com/google/android/libraries/feed/api/stream/Stream.java
+++ b/src/main/java/com/google/android/libraries/feed/api/client/stream/Stream.java
@@ -12,9 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.android.libraries.feed.api.stream;
+package com.google.android.libraries.feed.api.client.stream;
 
 import android.os.Bundle;
+import android.support.annotation.IntDef;
 import android.view.View;
 import java.util.List;
 
@@ -168,4 +169,56 @@
    * <p>Note: this will assume {@link RequestReason.HOST_REQUESTED}.
    */
   void triggerRefresh();
+
+  /**
+   * Interface users can implement to know when content in the Stream has changed content on screen.
+   */
+  interface ContentChangedListener {
+    /**
+     * Called by Stream when content being shown has changed. This could be new cards being created,
+     * the content of a card changing, etc...
+     */
+    void onContentChanged();
+  }
+
+  /** Interface users can implement to be told about changes to scrolling in the Stream. */
+  interface ScrollListener {
+
+    /**
+     * Constant used to denote that a scroll was performed but scroll delta could not be calculated.
+     * This normally maps to a programmatic scroll.
+     */
+    int UNKNOWN_SCROLL_DELTA = Integer.MIN_VALUE;
+
+    void onScrollStateChanged(@ScrollState int state);
+
+    /**
+     * Called when a scroll happens and provides the amount of pixels scrolled. {@link
+     * #UNKNOWN_SCROLL_DELTA} will be specified if scroll delta would not be determined. An example
+     * of this would be a scroll initiated programmatically.
+     */
+    void onScrolled(int dx, int dy);
+
+    /**
+     * Possible scroll states.
+     *
+     * <p>When adding new values, the value of {@link ScrollState#NEXT_VALUE} should be used and
+     * incremented. When removing values, {@link ScrollState#NEXT_VALUE} should not be changed, and
+     * those values should not be reused.
+     */
+    @IntDef({ScrollState.IDLE, ScrollState.DRAGGING, ScrollState.SETTLING, ScrollState.NEXT_VALUE})
+    @interface ScrollState {
+      /** Stream is not scrolling */
+      int IDLE = 0;
+
+      /** Stream is currently scrolling through external means such as user input. */
+      int DRAGGING = 1;
+
+      /** Stream is animating to a final position. */
+      int SETTLING = 2;
+
+      /** The next value that should be used when adding additional values to the IntDef. */
+      int NEXT_VALUE = 3;
+    }
+  }
 }
diff --git a/src/main/java/com/google/android/libraries/feed/api/host/logging/BasicLoggingApi.java b/src/main/java/com/google/android/libraries/feed/api/host/logging/BasicLoggingApi.java
index 519ce57..2a140c1 100644
--- a/src/main/java/com/google/android/libraries/feed/api/host/logging/BasicLoggingApi.java
+++ b/src/main/java/com/google/android/libraries/feed/api/host/logging/BasicLoggingApi.java
@@ -94,8 +94,9 @@
    * or a network fetch may have been needed.
    *
    * @param timeToPopulateMs time in milliseconds, since {@link
-   *     com.google.android.libraries.feed.api.stream.Stream#onShow()}, it took to show content to
-   *     the user. This does not include time to render but time to populate data in the UI.
+   *     com.google.android.libraries.feed.api.client.stream.Stream#onShow()}, it took to show
+   *     content to the user. This does not include time to render but time to populate data in the
+   *     UI.
    * @param contentCount Count of content shown to user. This will generally be the number of cards.
    */
   void onOpenedWithContent(int timeToPopulateMs, int contentCount);
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/modelprovider/ModelError.java b/src/main/java/com/google/android/libraries/feed/api/internal/modelprovider/ModelError.java
index 1f4770e..475ef60 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/modelprovider/ModelError.java
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/modelprovider/ModelError.java
@@ -19,7 +19,7 @@
 
 /**
  * Class which contains information needed by the {@link
- * com.google.android.libraries.feed.api.stream.Stream} about errors which may occur in the
+ * com.google.android.libraries.feed.api.client.stream.Stream} about errors which may occur in the
  * infrastructure.
  */
 public final class ModelError {
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/stream/BUILD b/src/main/java/com/google/android/libraries/feed/api/internal/stream/BUILD
index 4c29801..4ef79e3 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/stream/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/stream/BUILD
@@ -6,6 +6,7 @@
     name = "stream",
     srcs = glob(["*.java"]),
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/imageloader",
@@ -17,7 +18,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/common",
         "//src/main/java/com/google/android/libraries/feed/api/internal/knowncontent",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream",
         "//src/main/java/com/google/android/libraries/feed/common/concurrent",
         "//src/main/java/com/google/android/libraries/feed/common/protoextensions",
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/stream/BasicStreamFactory.java b/src/main/java/com/google/android/libraries/feed/api/internal/stream/BasicStreamFactory.java
index 4117e3c..632ce60 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/stream/BasicStreamFactory.java
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/stream/BasicStreamFactory.java
@@ -15,6 +15,7 @@
 package com.google.android.libraries.feed.api.internal.stream;
 
 import android.content.Context;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.ApplicationInfo.BuildType;
 import com.google.android.libraries.feed.api.host.config.Configuration;
@@ -31,7 +32,6 @@
 import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
 import com.google.android.libraries.feed.api.internal.knowncontent.FeedKnownContent;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.api.stream.Stream;
 import com.google.android.libraries.feed.basicstream.BasicStream;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
 import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
diff --git a/src/main/java/com/google/android/libraries/feed/api/internal/stream/StreamFactory.java b/src/main/java/com/google/android/libraries/feed/api/internal/stream/StreamFactory.java
index a0854da..9e93265 100644
--- a/src/main/java/com/google/android/libraries/feed/api/internal/stream/StreamFactory.java
+++ b/src/main/java/com/google/android/libraries/feed/api/internal/stream/StreamFactory.java
@@ -15,6 +15,7 @@
 package com.google.android.libraries.feed.api.internal.stream;
 
 import android.content.Context;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.ApplicationInfo.BuildType;
 import com.google.android.libraries.feed.api.host.config.Configuration;
@@ -31,7 +32,6 @@
 import com.google.android.libraries.feed.api.internal.common.ThreadUtils;
 import com.google.android.libraries.feed.api.internal.knowncontent.FeedKnownContent;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.api.stream.Stream;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
 import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
 import com.google.android.libraries.feed.common.time.Clock;
diff --git a/src/main/java/com/google/android/libraries/feed/api/scope/BUILD b/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
index cd19b80..8c13f25 100644
--- a/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/scope/BUILD
@@ -59,6 +59,7 @@
     srcs = ["FeedStreamScope.java"],
     deps = [
         "//src/main/java/com/google/android/libraries/feed/api/client/scope:streamscope",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
         "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream",
diff --git a/src/main/java/com/google/android/libraries/feed/api/scope/FeedStreamScope.java b/src/main/java/com/google/android/libraries/feed/api/scope/FeedStreamScope.java
index 0a1e7e2..d70d836 100644
--- a/src/main/java/com/google/android/libraries/feed/api/scope/FeedStreamScope.java
+++ b/src/main/java/com/google/android/libraries/feed/api/scope/FeedStreamScope.java
@@ -15,8 +15,8 @@
 package com.google.android.libraries.feed.api.scope;
 
 import com.google.android.libraries.feed.api.client.scope.StreamScope;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.api.stream.Stream;
 
 /** Per-stream instance of the feed library. */
 public final class FeedStreamScope implements StreamScope {
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/BUILD b/src/main/java/com/google/android/libraries/feed/api/stream/BUILD
index 8106bc8..2c06ec9 100644
--- a/src/main/java/com/google/android/libraries/feed/api/stream/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/api/stream/BUILD
@@ -5,8 +5,5 @@
 android_library(
     name = "stream",
     srcs = glob(["*.java"]),
-    deps = [
-        "@com_google_code_findbugs_jsr305//jar",
-        "@maven//:com_android_support_support_annotations",
-    ],
+    deps = ["//src/main/java/com/google/android/libraries/feed/api/client/stream"],
 )
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/ContentChangedListener.java b/src/main/java/com/google/android/libraries/feed/api/stream/ContentChangedListener.java
deleted file mode 100644
index d935778..0000000
--- a/src/main/java/com/google/android/libraries/feed/api/stream/ContentChangedListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2018 The Feed Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.android.libraries.feed.api.stream;
-
-/**
- * Interface users can implement to know when content in the Stream has changed content on screen.
- */
-public interface ContentChangedListener {
-  /**
-   * Called by Stream when content being shown has changed. This could be new cards being created,
-   * the content of a card changing, etc...
-   */
-  void onContentChanged();
-}
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/NonDismissibleHeader.java b/src/main/java/com/google/android/libraries/feed/api/stream/NonDismissibleHeader.java
index 116989f..ba701c9 100644
--- a/src/main/java/com/google/android/libraries/feed/api/stream/NonDismissibleHeader.java
+++ b/src/main/java/com/google/android/libraries/feed/api/stream/NonDismissibleHeader.java
@@ -15,6 +15,7 @@
 package com.google.android.libraries.feed.api.stream;
 
 import android.view.View;
+import com.google.android.libraries.feed.api.client.stream.Header;
 
 /**
  * Class providing a default implementation for {@link Header} instances that are not dismissible.
diff --git a/src/main/java/com/google/android/libraries/feed/api/stream/ScrollListener.java b/src/main/java/com/google/android/libraries/feed/api/stream/ScrollListener.java
deleted file mode 100644
index 6d51105..0000000
--- a/src/main/java/com/google/android/libraries/feed/api/stream/ScrollListener.java
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2018 The Feed Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.android.libraries.feed.api.stream;
-
-import android.support.annotation.IntDef;
-
-/** Interface users can implement to be told about changes to scrolling in the Stream. */
-public interface ScrollListener {
-
-  /**
-   * Constant used to denote that a scroll was performed but scroll delta could not be calculated.
-   * This normally maps to a programmatic scroll.
-   */
-  int UNKNOWN_SCROLL_DELTA = Integer.MIN_VALUE;
-
-  void onScrollStateChanged(@ScrollState int state);
-
-  /**
-   * Called when a scroll happens and provides the amount of pixels scrolled. {@link
-   * #UNKNOWN_SCROLL_DELTA} will be specified if scroll delta would not be determined. An example of
-   * this would be a scroll initiated programmatically.
-   */
-  void onScrolled(int dx, int dy);
-
-  /**
-   * Possible scroll states.
-   *
-   * <p>When adding new values, the value of {@link ScrollState#NEXT_VALUE} should be used and
-   * incremented. When removing values, {@link ScrollState#NEXT_VALUE} should not be changed, and
-   * those values should not be reused.
-   */
-  @IntDef({ScrollState.IDLE, ScrollState.DRAGGING, ScrollState.SETTLING, ScrollState.NEXT_VALUE})
-  @interface ScrollState {
-    /** Stream is not scrolling */
-    int IDLE = 0;
-
-    /** Stream is currently scrolling through external means such as user input. */
-    int DRAGGING = 1;
-
-    /** Stream is animating to a final position. */
-    int SETTLING = 2;
-
-    /** The next value that should be used when adding additional values to the IntDef. */
-    int NEXT_VALUE = 3;
-  }
-}
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/BUILD b/src/main/java/com/google/android/libraries/feed/basicstream/BUILD
index b6e732b..cd77ab5 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/BUILD
@@ -8,6 +8,7 @@
     manifest = "AndroidManifest.xml",
     resource_files = glob(["res/**"]),
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/imageloader",
@@ -19,7 +20,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/common",
         "//src/main/java/com/google/android/libraries/feed/api/internal/knowncontent",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/scroll",
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/BasicStream.java b/src/main/java/com/google/android/libraries/feed/basicstream/BasicStream.java
index bfe3f1a..fb7304c 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/BasicStream.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/BasicStream.java
@@ -30,6 +30,8 @@
 import android.view.ContextThemeWrapper;
 import android.view.View;
 import android.view.View.OnLayoutChangeListener;
+import com.google.android.libraries.feed.api.client.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.config.Configuration.ConfigKey;
@@ -53,10 +55,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.State;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderObserver;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.Header;
-import com.google.android.libraries.feed.api.stream.ScrollListener;
-import com.google.android.libraries.feed.api.stream.Stream;
 import com.google.android.libraries.feed.basicstream.internal.StreamItemAnimator;
 import com.google.android.libraries.feed.basicstream.internal.StreamItemTouchCallbacks;
 import com.google.android.libraries.feed.basicstream.internal.StreamRecyclerViewAdapter;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/BUILD b/src/main/java/com/google/android/libraries/feed/basicstream/internal/BUILD
index b87bfb4..85c223c 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/BUILD
@@ -6,9 +6,9 @@
     name = "internal",
     srcs = glob(["*.java"]),
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/stream",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
         "//src/main/java/com/google/android/libraries/feed/common/logging",
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimator.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimator.java
index 6da1864..858c12c 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimator.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimator.java
@@ -17,7 +17,7 @@
 import android.support.annotation.VisibleForTesting;
 import android.support.v7.widget.DefaultItemAnimator;
 import android.support.v7.widget.RecyclerView;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 
 /**
  * {@link DefaultItemAnimator} implementation that notifies the given {@link ContentChangedListener}
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapter.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapter.java
index f3021c2..9533a42 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapter.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapter.java
@@ -29,10 +29,10 @@
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
 import android.widget.FrameLayout;
+import com.google.android.libraries.feed.api.client.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.stream.CardConfiguration;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.Header;
 import com.google.android.libraries.feed.basicstream.internal.drivers.HeaderDriver;
 import com.google.android.libraries.feed.basicstream.internal.drivers.LeafFeatureDriver;
 import com.google.android.libraries.feed.basicstream.internal.drivers.StreamDriver;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
index f3283de..5b19520 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
@@ -8,6 +8,7 @@
     manifest = "AndroidManifest.xml",
     deps = [
         "//src/main/java/com/google/android/libraries/feed/api/client/knowncontent",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
@@ -17,7 +18,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/common",
         "//src/main/java/com/google/android/libraries/feed/api/internal/knowncontent",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/actions",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/pendingdismiss",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/scroll",
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriver.java
index 1348f0f..693cba3 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriver.java
@@ -17,6 +17,7 @@
 import static com.google.android.libraries.feed.common.Validators.checkState;
 
 import android.support.annotation.VisibleForTesting;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -29,7 +30,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelCursor;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.ClusterPendingDismissHelper;
 import com.google.android.libraries.feed.basicstream.internal.viewloggingupdater.ViewLoggingUpdater;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriver.java
index 811c182..07b3196 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriver.java
@@ -15,6 +15,7 @@
 package com.google.android.libraries.feed.basicstream.internal.drivers;
 
 import android.support.annotation.VisibleForTesting;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -27,7 +28,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelCursor;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.ClusterPendingDismissHelper;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.PendingDismissHandler;
 import com.google.android.libraries.feed.basicstream.internal.viewloggingupdater.ViewLoggingUpdater;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriver.java
index 1aea265..726078b 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriver.java
@@ -19,6 +19,7 @@
 import android.support.annotation.VisibleForTesting;
 import android.support.v7.widget.RecyclerView;
 import com.google.android.libraries.feed.api.client.knowncontent.ContentMetadata;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.action.StreamActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
@@ -32,7 +33,6 @@
 import com.google.android.libraries.feed.api.internal.actionparser.ActionParserFactory;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.actions.StreamActionApiImpl;
 import com.google.android.libraries.feed.basicstream.internal.actions.ViewElementActionHandler;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.ClusterPendingDismissHelper;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriver.java
index c2087d5..b0d7ac4 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriver.java
@@ -17,7 +17,7 @@
 import static com.google.android.libraries.feed.common.Validators.checkState;
 
 import android.support.annotation.VisibleForTesting;
-import com.google.android.libraries.feed.api.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Header;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.FeedViewHolder;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.HeaderViewHolder;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.SwipeNotifier;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriver.java
index e01ca01..88f8fdb 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriver.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.support.annotation.VisibleForTesting;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -38,7 +39,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.State;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.drivers.ContinuationDriver.CursorChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.PendingDismissHandler;
 import com.google.android.libraries.feed.basicstream.internal.scroll.BasicStreamScrollMonitor;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriver.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriver.java
index d7d0ea9..7774060 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriver.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriver.java
@@ -19,11 +19,11 @@
 import android.support.annotation.VisibleForTesting;
 import android.view.View;
 import android.view.View.OnClickListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
 import com.google.android.libraries.feed.api.host.logging.RequestReason;
 import com.google.android.libraries.feed.api.host.logging.SpinnerType;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.FeedViewHolder;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.ViewHolderType;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.ZeroStateViewHolder;
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD b/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
index 05a5dc5..648d4e7 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
@@ -8,11 +8,11 @@
     manifest = "AndroidManifest.xml",
     resource_files = glob(["res/**"]),
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/stream",
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionparser",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/common",
         "//src/main/java/com/google/android/libraries/feed/common/logging",
         "//src/main/java/com/google/android/libraries/feed/common/ui",
diff --git a/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolder.java b/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolder.java
index 6c13457..bbf21b6 100644
--- a/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolder.java
+++ b/src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolder.java
@@ -18,7 +18,7 @@
 import android.view.ViewGroup;
 import android.view.ViewParent;
 import android.widget.FrameLayout;
-import com.google.android.libraries.feed.api.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Header;
 import com.google.android.libraries.feed.common.logging.Logger;
 
 /** {@link FeedViewHolder} for headers. */
diff --git a/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD b/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
index e1e40a9..3470f63 100644
--- a/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
@@ -5,7 +5,5 @@
 android_library(
     name = "contentchanged",
     srcs = glob(["*.java"]),
-    deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
-    ],
+    deps = ["//src/main/java/com/google/android/libraries/feed/api/client/stream"],
 )
diff --git a/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListener.java b/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListener.java
index 59675ff..b3ffdbb 100644
--- a/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListener.java
+++ b/src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListener.java
@@ -14,7 +14,7 @@
 
 package com.google.android.libraries.feed.sharedstream.contentchanged;
 
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import java.util.HashSet;
 
 /**
diff --git a/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD b/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
index 176495d..2919b45 100644
--- a/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
+++ b/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
@@ -6,9 +6,9 @@
     name = "scroll",
     srcs = glob(["*.java"]),
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/common/concurrent",
         "//src/main/java/com/google/android/libraries/feed/common/logging",
         "//src/main/java/com/google/android/libraries/feed/common/time",
diff --git a/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifier.java b/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifier.java
index 83b42f2..1181831 100644
--- a/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifier.java
+++ b/src/main/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifier.java
@@ -14,13 +14,13 @@
 
 package com.google.android.libraries.feed.sharedstream.scroll;
 
-import static com.google.android.libraries.feed.api.stream.ScrollListener.UNKNOWN_SCROLL_DELTA;
+import static com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener.UNKNOWN_SCROLL_DELTA;
 
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.ScrollListener;
-import com.google.android.libraries.feed.api.stream.ScrollListener.ScrollState;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener.ScrollState;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
 import com.google.android.libraries.feed.common.logging.Logger;
 import com.google.android.libraries.feed.sharedstream.publicapi.scroll.ScrollObservable;
diff --git a/src/test/java/com/google/android/libraries/feed/api/client/scope/BUILD b/src/test/java/com/google/android/libraries/feed/api/client/scope/BUILD
index 82800ca..2cd26bc 100644
--- a/src/test/java/com/google/android/libraries/feed/api/client/scope/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/api/client/scope/BUILD
@@ -41,6 +41,7 @@
     deps = [
         "//src/main/java/com/google/android/libraries/feed/api/client/scope:streamscope",
         "//src/main/java/com/google/android/libraries/feed/api/client/scope:streamscopebuilder",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/imageloader",
diff --git a/src/test/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilderTest.java b/src/test/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilderTest.java
index 16c1ce9..5b829a2 100644
--- a/src/test/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilderTest.java
+++ b/src/test/java/com/google/android/libraries/feed/api/client/scope/StreamScopeBuilderTest.java
@@ -23,6 +23,7 @@
 
 import android.app.Activity;
 import android.content.Context;
+import com.google.android.libraries.feed.api.client.stream.Stream;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.ApplicationInfo;
 import com.google.android.libraries.feed.api.host.config.ApplicationInfo.BuildType;
@@ -44,7 +45,6 @@
 import com.google.android.libraries.feed.api.internal.protocoladapter.ProtocolAdapter;
 import com.google.android.libraries.feed.api.internal.sessionmanager.FeedSessionManager;
 import com.google.android.libraries.feed.api.internal.stream.StreamFactory;
-import com.google.android.libraries.feed.api.stream.Stream;
 import com.google.android.libraries.feed.common.concurrent.MainThreadRunner;
 import com.google.android.libraries.feed.common.concurrent.TaskQueue;
 import com.google.android.libraries.feed.common.protoextensions.FeedExtensionRegistry;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/BUILD b/src/test/java/com/google/android/libraries/feed/basicstream/BUILD
index 2831dba..37e15f1 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/BUILD
@@ -11,6 +11,7 @@
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
         "//src/main/java/com/google/android/libraries/feed/api/client/knowncontent",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/imageloader",
@@ -22,7 +23,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/common",
         "//src/main/java/com/google/android/libraries/feed/api/internal/knowncontent",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/BasicStreamTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/BasicStreamTest.java
index 9f86124..fad7c57 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/BasicStreamTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/BasicStreamTest.java
@@ -14,7 +14,7 @@
 
 package com.google.android.libraries.feed.basicstream;
 
-import static com.google.android.libraries.feed.api.stream.Stream.POSITION_NOT_KNOWN;
+import static com.google.android.libraries.feed.api.client.stream.Stream.POSITION_NOT_KNOWN;
 import static com.google.android.libraries.feed.basicstream.BasicStream.KEY_STREAM_STATE;
 import static com.google.android.libraries.feed.basicstream.BasicStream.MINIMUM_SPINNER_SHOW_TIME;
 import static com.google.android.libraries.feed.basicstream.BasicStream.MINIMUM_TIME_BEFORE_SHOWING_SPINNER;
@@ -43,6 +43,9 @@
 import android.widget.FrameLayout;
 import com.google.android.libraries.feed.api.client.knowncontent.ContentMetadata;
 import com.google.android.libraries.feed.api.client.knowncontent.KnownContent;
+import com.google.android.libraries.feed.api.client.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.config.Configuration.ConfigKey;
@@ -67,9 +70,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.State;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.ViewDepthProvider;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProviderFactory;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.Header;
-import com.google.android.libraries.feed.api.stream.ScrollListener;
 import com.google.android.libraries.feed.basicstream.internal.StreamItemAnimator;
 import com.google.android.libraries.feed.basicstream.internal.StreamRecyclerViewAdapter;
 import com.google.android.libraries.feed.basicstream.internal.StreamSavedInstanceStateProto.StreamSavedInstanceState;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/BUILD b/src/test/java/com/google/android/libraries/feed/basicstream/internal/BUILD
index a0919e0..864014f 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/BUILD
@@ -10,7 +10,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
         "//third_party:robolectric",
@@ -48,9 +48,9 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/stream",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimatorTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimatorTest.java
index 841b789..61b4722 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimatorTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamItemAnimatorTest.java
@@ -18,7 +18,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.MockitoAnnotations.initMocks;
 
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.FeedViewHolder;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapterTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapterTest.java
index bbacdc9..0f93413 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapterTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/StreamRecyclerViewAdapterTest.java
@@ -32,10 +32,10 @@
 import android.widget.FrameLayout;
 import android.widget.FrameLayout.LayoutParams;
 import android.widget.LinearLayout;
+import com.google.android.libraries.feed.api.client.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.stream.CardConfiguration;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.Header;
 import com.google.android.libraries.feed.basicstream.internal.drivers.ContentDriver;
 import com.google.android.libraries.feed.basicstream.internal.drivers.HeaderDriver;
 import com.google.android.libraries.feed.basicstream.internal.drivers.LeafFeatureDriver;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
index dde54ce..535cc19 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/BUILD
@@ -10,6 +10,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
@@ -17,7 +18,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionmanager",
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionparser",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/pendingdismiss",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewloggingupdater",
@@ -48,6 +48,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
@@ -55,7 +56,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionmanager",
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionparser",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/pendingdismiss",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewloggingupdater",
@@ -86,6 +86,7 @@
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
         "//src/main/java/com/google/android/libraries/feed/api/client/knowncontent",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
@@ -93,7 +94,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionmanager",
         "//src/main/java/com/google/android/libraries/feed/api/internal/actionparser",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/actions",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/pendingdismiss",
@@ -160,7 +160,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
         "//third_party:robolectric",
@@ -197,6 +197,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/action",
         "//src/main/java/com/google/android/libraries/feed/api/host/config",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
@@ -206,7 +207,6 @@
         "//src/main/java/com/google/android/libraries/feed/api/internal/common",
         "//src/main/java/com/google/android/libraries/feed/api/internal/knowncontent",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/testing:fake_feature_driver",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers/testing:fake_leaf_feature_driver",
@@ -243,9 +243,9 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/api/host/logging",
         "//src/main/java/com/google/android/libraries/feed/api/internal/modelprovider",
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/drivers",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
         "//src/main/java/com/google/android/libraries/feed/common/testing",
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriverTest.java
index 3d77010..6261c19 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/CardDriverTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -33,7 +34,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelChild.Type;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.ClusterPendingDismissHelper;
 import com.google.android.libraries.feed.basicstream.internal.viewloggingupdater.ViewLoggingUpdater;
 import com.google.android.libraries.feed.common.concurrent.testing.FakeMainThreadRunner;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriverTest.java
index 88f5e02..eeb592b 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ClusterDriverTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -32,7 +33,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelChild.Type;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.PendingDismissHandler;
 import com.google.android.libraries.feed.basicstream.internal.viewloggingupdater.ViewLoggingUpdater;
 import com.google.android.libraries.feed.common.concurrent.testing.FakeMainThreadRunner;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriverTest.java
index 254e371..1277879 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ContentDriverTest.java
@@ -28,6 +28,7 @@
 
 import android.support.v7.widget.RecyclerView;
 import com.google.android.libraries.feed.api.client.knowncontent.ContentMetadata;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.action.StreamActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
@@ -41,7 +42,6 @@
 import com.google.android.libraries.feed.api.internal.actionparser.ActionParserFactory;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelFeature;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.actions.StreamActionApiImpl;
 import com.google.android.libraries.feed.basicstream.internal.actions.ViewElementActionHandler;
 import com.google.android.libraries.feed.basicstream.internal.pendingdismiss.ClusterPendingDismissHelper;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriverTest.java
index f4a3d16..a04225d 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/HeaderDriverTest.java
@@ -23,7 +23,7 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.MockitoAnnotations.initMocks;
 
-import com.google.android.libraries.feed.api.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Header;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.HeaderViewHolder;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.SwipeNotifier;
 import org.junit.Before;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriverTest.java
index e5b3934..91e4ff8 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/StreamDriverTest.java
@@ -30,6 +30,7 @@
 
 import android.app.Activity;
 import android.content.Context;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.action.ActionApi;
 import com.google.android.libraries.feed.api.host.config.Configuration;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
@@ -48,7 +49,6 @@
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.RemoveTrackingFactory;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider.State;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.drivers.StreamDriver.StreamContentListener;
 import com.google.android.libraries.feed.basicstream.internal.drivers.testing.FakeFeatureDriver;
 import com.google.android.libraries.feed.basicstream.internal.drivers.testing.FakeLeafFeatureDriver;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriverTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriverTest.java
index f4d303c..a190696 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriverTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/drivers/ZeroStateDriverTest.java
@@ -32,11 +32,11 @@
 import android.content.Context;
 import android.view.View.OnClickListener;
 import android.widget.FrameLayout;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import com.google.android.libraries.feed.api.host.logging.BasicLoggingApi;
 import com.google.android.libraries.feed.api.host.logging.RequestReason;
 import com.google.android.libraries.feed.api.host.logging.SpinnerType;
 import com.google.android.libraries.feed.api.internal.modelprovider.ModelProvider;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
 import com.google.android.libraries.feed.basicstream.internal.viewholders.ZeroStateViewHolder;
 import com.google.android.libraries.feed.common.time.Clock;
 import com.google.android.libraries.feed.common.time.testing.FakeClock;
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD b/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
index db1e400..7fcaffb 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/BUILD
@@ -31,7 +31,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/basicstream/internal/viewholders",
         "//third_party:robolectric",
         "@com_google_protobuf_javalite//:protobuf_java_lite",
diff --git a/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolderTest.java b/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolderTest.java
index 36e5cda..b2d4080 100644
--- a/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolderTest.java
+++ b/src/test/java/com/google/android/libraries/feed/basicstream/internal/viewholders/HeaderViewHolderTest.java
@@ -23,7 +23,7 @@
 import android.app.Activity;
 import android.content.Context;
 import android.widget.FrameLayout;
-import com.google.android.libraries.feed.api.stream.Header;
+import com.google.android.libraries.feed.api.client.stream.Header;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD b/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
index 904d24d..00227fe 100644
--- a/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/BUILD
@@ -10,7 +10,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/sharedstream/contentchanged",
         "//third_party:robolectric",
         "@com_google_protobuf_javalite//:protobuf_java_lite",
diff --git a/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListenerTest.java b/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListenerTest.java
index 430d426..4c17fc2 100644
--- a/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListenerTest.java
+++ b/src/test/java/com/google/android/libraries/feed/sharedstream/contentchanged/StreamContentChangedListenerTest.java
@@ -18,7 +18,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.MockitoAnnotations.initMocks;
 
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD b/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
index 1a91c34..fa9cea6 100644
--- a/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
+++ b/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/BUILD
@@ -10,7 +10,7 @@
     aapt_version = "aapt2",
     manifest_values = DEFAULT_ANDROID_LOCAL_TEST_MANIFEST,
     deps = [
-        "//src/main/java/com/google/android/libraries/feed/api/stream",
+        "//src/main/java/com/google/android/libraries/feed/api/client/stream",
         "//src/main/java/com/google/android/libraries/feed/common/concurrent/testing",
         "//src/main/java/com/google/android/libraries/feed/common/testing",
         "//src/main/java/com/google/android/libraries/feed/common/time/testing",
diff --git a/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifierTest.java b/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifierTest.java
index 66973a6..6619740 100644
--- a/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifierTest.java
+++ b/src/test/java/com/google/android/libraries/feed/sharedstream/scroll/ScrollListenerNotifierTest.java
@@ -14,7 +14,7 @@
 
 package com.google.android.libraries.feed.sharedstream.scroll;
 
-import static com.google.android.libraries.feed.api.stream.ScrollListener.UNKNOWN_SCROLL_DELTA;
+import static com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener.UNKNOWN_SCROLL_DELTA;
 import static com.google.android.libraries.feed.common.testing.RunnableSubject.assertThatRunnable;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.never;
@@ -24,9 +24,9 @@
 import android.app.Activity;
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
-import com.google.android.libraries.feed.api.stream.ContentChangedListener;
-import com.google.android.libraries.feed.api.stream.ScrollListener;
-import com.google.android.libraries.feed.api.stream.ScrollListener.ScrollState;
+import com.google.android.libraries.feed.api.client.stream.Stream.ContentChangedListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener;
+import com.google.android.libraries.feed.api.client.stream.Stream.ScrollListener.ScrollState;
 import com.google.android.libraries.feed.common.concurrent.testing.FakeMainThreadRunner;
 import com.google.android.libraries.feed.common.time.testing.FakeClock;
 import com.google.android.libraries.feed.sharedstream.publicapi.scroll.ScrollObservable;