// 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 BluetoothAddress {
    ctor public BluetoothAddress(String address, int addressType);
    method public String getAddress();
    method public int getAddressType();
    method public void setAddressType(int);
    property public final String address;
    property public final int addressType;
  }

  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);
  }

  public final class ScanFilter {
    ctor public ScanFilter(optional androidx.bluetooth.BluetoothAddress? deviceAddress, optional int manufacturerId, optional byte[]? manufacturerData, optional byte[]? manufacturerDataMask, optional java.util.UUID? serviceDataUuid, optional byte[]? serviceData, optional byte[]? serviceDataMask, optional java.util.UUID? serviceUuid, optional java.util.UUID? serviceUuidMask);
    method public androidx.bluetooth.BluetoothAddress? getDeviceAddress();
    method public byte[]? getManufacturerData();
    method public byte[]? getManufacturerDataMask();
    method public int getManufacturerId();
    method public byte[]? getServiceData();
    method public byte[]? getServiceDataMask();
    method public java.util.UUID? getServiceDataUuid();
    method public java.util.UUID? getServiceUuid();
    method public java.util.UUID? getServiceUuidMask();
    property public final androidx.bluetooth.BluetoothAddress? deviceAddress;
    property public final byte[]? manufacturerData;
    property public final byte[]? manufacturerDataMask;
    property public final int manufacturerId;
    property public final byte[]? serviceData;
    property public final byte[]? serviceDataMask;
    property public final java.util.UUID? serviceDataUuid;
    property public final java.util.UUID? serviceUuid;
    property public final java.util.UUID? serviceUuidMask;
    field public static final androidx.bluetooth.ScanFilter.Companion Companion;
    field public static final int MANUFACTURER_FILTER_NONE = -1; // 0xffffffff
  }

  public static final class ScanFilter.Companion {
  }

}

