/**@class android.net.NetworkStats
 implements android.os.Parcelable

@extends java.lang.Object

 Collection of active network statistics. Can contain summary details across
 all interfaces, or details with per-UID granularity. Internally stores data
 as a large table, closely matching {@code /proc/} data format. This structure
 optimizes for rapid in-memory comparison, but consider using
 {@link android.net.NetworkStatsHistory} when persisting.

 @hide
*/
var NetworkStats = {

/**{@link #iface} value when interface details unavailable. */
IFACE_ALL : "null",
/**{@link #uid} value when UID details unavailable. */
UID_ALL : "-1",
/**{@link #tag} value matching any tag. */
TAG_ALL : "-1",
/**{@link #set} value when all sets combined, not including debug sets. */
SET_ALL : "-1",
/**{@link #set} value where background data is accounted. */
SET_DEFAULT : "0",
/**{@link #set} value where foreground data is accounted. */
SET_FOREGROUND : "1",
/**All {@link #set} value greater than SET_DEBUG_START are debug {@link #set} values. */
SET_DEBUG_START : "1000",
/**Debug {@link #set} value when the VPN stats are moved in. */
SET_DBG_VPN_IN : "1001",
/**Debug {@link #set} value when the VPN stats are moved out of a vpn UID. */
SET_DBG_VPN_OUT : "1002",
/**{@link #tag} value for total data across all tags. */
TAG_NONE : "0",
/***/
CREATOR : "null",
/**
*/
writeToParcel : function(  ) {},

/**
*/
clone : function(  ) {},

/**
*/
addIfaceValues : function(  ) {},

/**
*/
addValues : function(  ) {},

/**Add new stats entry, copying from given {@link android.net.NetworkStats.Entry}. The {@link android.net.NetworkStats.Entry}
 object can be recycled across multiple calls.
*/
addValues : function(  ) {},

/**Return specific stats entry.
*/
getValues : function(  ) {},

/**
*/
getElapsedRealtime : function(  ) {},

/**
*/
setElapsedRealtime : function(  ) {},

/**Return age of this {@link android.net.NetworkStats} object with respect to
 {@link SystemClock#elapsedRealtime()}.
*/
getElapsedRealtimeAge : function(  ) {},

/**
*/
size : function(  ) {},

/**
*/
internalSize : function(  ) {},

/**
*/
combineValues : function(  ) {},

/**
*/
combineValues : function(  ) {},

/**Combine given values with an existing row, or create a new row if
 {@link #findIndex(String, int, int, int)} is unable to find match. Can
 also be used to subtract values from existing rows.
*/
combineValues : function(  ) {},

/**Combine all values from another {@link android.net.NetworkStats} into this object.
*/
combineAllValues : function(  ) {},

/**Find first stats index that matches the requested parameters.
*/
findIndex : function(  ) {},

/**Find first stats index that matches the requested parameters, starting
 search around the hinted index as an optimization.
*/
findIndexHinted : function(  ) {},

/**Splice in {@link #operations} from the given {@link android.net.NetworkStats} based
 on matching {@link #uid} and {@link #tag} rows. Ignores {@link #iface},
 since operation counts are at data layer.
*/
spliceOperationsFrom : function(  ) {},

/**Return list of unique interfaces known by this data structure.
*/
getUniqueIfaces : function(  ) {},

/**Return list of unique UIDs known by this data structure.
*/
getUniqueUids : function(  ) {},

/**Return total bytes represented by this snapshot object, usually used when
 checking if a {@link #subtract}(NetworkStats) delta passes a threshold.
*/
getTotalBytes : function(  ) {},

/**Return total of all fields represented by this snapshot object.
*/
getTotal : function(  ) {},

/**Return total of all fields represented by this snapshot object matching
 the requested {@link #uid}.
*/
getTotal : function(  ) {},

/**Return total of all fields represented by this snapshot object matching
 the requested {@link #iface}.
*/
getTotal : function(  ) {},

/**
*/
getTotalIncludingTags : function(  ) {},

/**Fast path for battery stats.
*/
getTotalPackets : function(  ) {},

/**Subtract the given {@link android.net.NetworkStats}, effectively leaving the delta
 between two snapshots in time. Assumes that statistics rows collect over
 time, and that none of them have disappeared.
*/
subtract : function(  ) {},

/**Subtract the two given {@link android.net.NetworkStats} objects, returning the delta
 between two snapshots in time. Assumes that statistics rows collect over
 time, and that none of them have disappeared.
 <p>
 If counters have rolled backwards, they are clamped to {@code 0} and
 reported to the given {@link android.net.NetworkStats.NonMonotonicObserver}.
*/
subtract : function(  ) {},

/**Subtract the two given {@link android.net.NetworkStats} objects, returning the delta
 between two snapshots in time. Assumes that statistics rows collect over
 time, and that none of them have disappeared.
 <p>
 If counters have rolled backwards, they are clamped to {@code 0} and
 reported to the given {@link android.net.NetworkStats.NonMonotonicObserver}.
 <p>
 If <var>recycle</var> is supplied, this NetworkStats object will be
 reused (and returned) as the result if it is large enough to contain
 the data.
*/
subtract : function(  ) {},

/**Return total statistics grouped by {@link #iface}; doesn't mutate the
 original structure.
*/
groupedByIface : function(  ) {},

/**Return total statistics grouped by {@link #uid}; doesn't mutate the
 original structure.
*/
groupedByUid : function(  ) {},

/**Return all rows except those attributed to the requested UID; doesn't
 mutate the original structure.
*/
withoutUids : function(  ) {},

/**
*/
dump : function(  ) {},

/**Return text description of {@link #set} value.
*/
setToString : function(  ) {},

/**Return text description of {@link #set} value.
*/
setToCheckinString : function(  ) {},

/**
@return {Boolean} true if the querySet matches the dataSet.
*/
setMatches : function(  ) {},

/**Return text description of {@link #tag} value.
*/
tagToString : function(  ) {},

/**
*/
toString : function(  ) {},

/**
*/
describeContents : function(  ) {},

/**VPN accounting. Move some VPN's underlying traffic to other UIDs that use tun0 iface.

 This method should only be called on delta NetworkStats. Do not call this method on a
 snapshot {@link android.net.NetworkStats} object because the tunUid and/or the underlyingIface may
 change over time.

 This method performs adjustments for one active VPN package and one VPN iface at a time.

 It is possible for the VPN software to use multiple underlying networks. This method
 only migrates traffic for the primary underlying network.
@param {Number} tunUid uid of the VPN application
@param {String} tunIface iface of the vpn tunnel
@param {String} underlyingIface the primary underlying network iface used by the VPN application
@return {Boolean} true if it successfully adjusts the accounting for VPN, false otherwise
*/
migrateTun : function(  ) {},


};