| AppVisibilityListener | A listener interface for monitoring the sender application's UI visibility. |
| CastStateListener | A listener interface for monitoring the current CastState. |
| DiscoveryManagerListener | A listener interface for monitoring the availability of Cast devices. |
| IntroductoryOverlay | A simple overlay view that highlights the Cast button to the user. |
| IntroductoryOverlay.OnOverlayDismissedListener | An interface to notify the clients when the overlay is dismissed explicitly when the user taps on the confirmation button. |
| OptionsProvider | Developers should implement this interface to provide options needed to create and initialize
CastContext. |
| SessionManagerListener<T extends Session> | A listener interface for monitoring events of a particular type of Session instance. |
| CastButtonFactory | A factory class to set up a MenuItem or a MediaRouteButton to be used as a Cast
button. |
| CastContext | A singleton class containing global context for the Cast SDK. |
| CastOptions | Configuration parameters for initializing the CastContext. |
| CastOptions.Builder | A builder to create an instance of CastOptions which is used to initialize the
CastContext. |
| CastSession | An implementation of Session for managing connections to a Cast receiver device. |
| CastState | The possible casting states. |
| IntroductoryOverlay.Builder | The builder class that creates an instance of IntroductoryOverlay. |
| ReconnectionService | A service to run in the background when the playback of a media starts, to help with reconnection if needed. |
| Session | An abstract base class representing a session with a receiver application. |
| SessionManager | A class that manages Session instances. |
| SessionProvider | An abstract base class for performing session construction. |