/**@class android.net.NetworkRequest.Builder
@extends java.lang.Object

 Builder used to create {@link android.net.NetworkRequest} objects.  Specify the Network features
 needed in terms of {@link android.net.NetworkCapabilities} features
*/
var Builder = {

/**Build {@link android.net.NetworkRequest} give the current set of capabilities.
*/
build : function(  ) {},

/**Add the given capability requirement to this builder.  These represent
 the requested network's required capabilities.  Note that when searching
 for a network to satisfy a request, all capabilities requested must be
 satisfied.  See {@link android.net.NetworkCapabilities} for {@code NET_CAPABILITIY_*}
 definitions.
@param {Number} capability The {@code NetworkCapabilities.NET_CAPABILITY_*} to add.
@return {Object {android.net.NetworkRequest.Builder}} The builder to facilitate chaining
         {@code builder.addCapability(...).addCapability();}.
*/
addCapability : function(  ) {},

/**Removes (if found) the given capability from this builder instance.
@param {Number} capability The {@code NetworkCapabilities.NET_CAPABILITY_*} to remove.
@return {Object {android.net.NetworkRequest.Builder}} The builder to facilitate chaining.
*/
removeCapability : function(  ) {},

/**Completely clears all the {@code NetworkCapabilities} from this builder instance,
 removing even the capabilities that are set by default when the object is constructed.
@return {Object {android.net.NetworkRequest.Builder}} The builder to facilitate chaining.
@hide 
*/
clearCapabilities : function(  ) {},

/**Adds the given transport requirement to this builder.  These represent
 the set of allowed transports for the request.  Only networks using one
 of these transports will satisfy the request.  If no particular transports
 are required, none should be specified here.  See {@link android.net.NetworkCapabilities}
 for {@code TRANSPORT_*} definitions.
@param {Number} transportType The {@code NetworkCapabilities.TRANSPORT_*} to add.
@return {Object {android.net.NetworkRequest.Builder}} The builder to facilitate chaining.
*/
addTransportType : function(  ) {},

/**Removes (if found) the given transport from this builder instance.
@param {Number} transportType The {@code NetworkCapabilities.TRANSPORT_*} to remove.
@return {Object {android.net.NetworkRequest.Builder}} The builder to facilitate chaining.
*/
removeTransportType : function(  ) {},

/**
@hide 
*/
setLinkUpstreamBandwidthKbps : function(  ) {},

/**
@hide 
*/
setLinkDownstreamBandwidthKbps : function(  ) {},

/**Sets the optional bearer specific network specifier.
 This has no meaning if a single transport is also not specified, so calling
 this without a single transport set will generate an exception, as will
 subsequently adding or removing transports after this is set.
 </p>
 The interpretation of this {@code String} is bearer specific and bearers that use
 it should document their particulars.  For example, Bluetooth may use some sort of
 device id while WiFi could used ssid and/or bssid.  Cellular may use carrier spn.
@param {String} networkSpecifier An {@code String} of opaque format used to specify the bearer
                         specific network specifier where the bearer has a choice of
                         networks.
*/
setNetworkSpecifier : function(  ) {},


};