// Signature format: 2.0
package android.net.vcn {

  public class VcnManager {
    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
  }

  public static interface VcnManager.VcnNetworkPolicyChangeListener {
    method public void onPolicyChanged();
  }

  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
    method public boolean isTeardownRequested();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
  }

}

