// Signature format: 4.0
package androidx.bluetooth {

  public final class AdvertiseParams {
    ctor public AdvertiseParams(optional boolean shouldIncludeDeviceAddress, optional boolean shouldIncludeDeviceName, optional boolean isConnectable, optional boolean isDiscoverable, optional int timeoutMillis, optional java.util.Map<java.lang.Integer,byte[]> manufacturerData, optional java.util.Map<java.util.UUID,byte[]> serviceData, optional java.util.List<java.util.UUID> serviceUuids);
    method public java.util.Map<java.lang.Integer,byte[]> getManufacturerData();
    method public java.util.Map<java.util.UUID,byte[]> getServiceData();
    method public java.util.List<java.util.UUID> getServiceUuids();
    method public boolean getShouldIncludeDeviceAddress();
    method public boolean getShouldIncludeDeviceName();
    method public int getTimeoutMillis();
    method public boolean isConnectable();
    method public boolean isDiscoverable();
    property public final boolean isConnectable;
    property public final boolean isDiscoverable;
    property public final java.util.Map<java.lang.Integer,byte[]> manufacturerData;
    property public final java.util.Map<java.util.UUID,byte[]> serviceData;
    property public final java.util.List<java.util.UUID> serviceUuids;
    property public final boolean shouldIncludeDeviceAddress;
    property public final boolean shouldIncludeDeviceName;
    property public final int timeoutMillis;
  }

  public final class BluetoothDevice {
    method @RequiresPermission(anyOf={"android.permission.BLUETOOTH", "android.permission.BLUETOOTH_CONNECT"}) public int getBondState();
    method public java.util.UUID getId();
    method @RequiresPermission(anyOf={"android.permission.BLUETOOTH", "android.permission.BLUETOOTH_CONNECT"}) public String? getName();
    property @RequiresPermission(anyOf={"android.permission.BLUETOOTH", "android.permission.BLUETOOTH_CONNECT"}) public final int bondState;
    property public final java.util.UUID id;
    property @RequiresPermission(anyOf={"android.permission.BLUETOOTH", "android.permission.BLUETOOTH_CONNECT"}) public final String? name;
  }

  public final class BluetoothLe {
    ctor public BluetoothLe(android.content.Context context);
    method @RequiresPermission("android.permission.BLUETOOTH_ADVERTISE") public kotlinx.coroutines.flow.Flow<java.lang.Integer> advertise(androidx.bluetooth.AdvertiseParams advertiseParams);
  }

}

