import typing

import android.os
import android.ranging
import android.ranging.ble.cs
import android.ranging.ble.rssi
import android.ranging.uwb
import android.ranging.wifi.rtt
import java
import java.lang
import java.util

class RawInitiatorRangingConfig(android.os.Parcelable, android.ranging.RangingConfig):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[RawInitiatorRangingConfig]] = ...
    def describeContents(self) -> int: ...
    def getRawRangingDevices(self) -> java.util.List[RawRangingDevice]: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def addRawRangingDevice(self, rangingDevice: RawRangingDevice, /) -> RawInitiatorRangingConfig.Builder: ...
        def addRawRangingDevices(self, rangingDevices: java.util.List[RawRangingDevice], /) -> RawInitiatorRangingConfig.Builder: ...
        def build(self) -> RawInitiatorRangingConfig: ...

class RawRangingDevice(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[RawRangingDevice]] = ...
    UPDATE_RATE_FREQUENT: typing.ClassVar[int] = ...
    UPDATE_RATE_INFREQUENT: typing.ClassVar[int] = ...
    UPDATE_RATE_NORMAL: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def getBleRssiRangingParams(self) -> android.ranging.ble.rssi.BleRssiRangingParams: ...
    def getCsRangingParams(self) -> android.ranging.ble.cs.BleCsRangingParams: ...
    def getRangingDevice(self) -> android.ranging.RangingDevice: ...
    def getRttRangingParams(self) -> android.ranging.wifi.rtt.RttRangingParams: ...
    def getUwbRangingParams(self) -> android.ranging.uwb.UwbRangingParams: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def build(self) -> RawRangingDevice: ...
        def setBleRssiRangingParams(self, params: android.ranging.ble.rssi.BleRssiRangingParams, /) -> RawRangingDevice.Builder: ...
        def setCsRangingParams(self, params: android.ranging.ble.cs.BleCsRangingParams, /) -> RawRangingDevice.Builder: ...
        def setRangingDevice(self, rangingDevice: android.ranging.RangingDevice, /) -> RawRangingDevice.Builder: ...
        def setRttRangingParams(self, params: android.ranging.wifi.rtt.RttRangingParams, /) -> RawRangingDevice.Builder: ...
        def setUwbRangingParams(self, params: android.ranging.uwb.UwbRangingParams, /) -> RawRangingDevice.Builder: ...

class RawResponderRangingConfig(android.os.Parcelable, android.ranging.RangingConfig):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[RawResponderRangingConfig]] = ...
    def describeContents(self) -> int: ...
    def getRawRangingDevice(self) -> RawRangingDevice: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self) -> None: ...
        def build(self) -> RawResponderRangingConfig: ...
        def setRawRangingDevice(self, rangingDevice: RawRangingDevice, /) -> RawResponderRangingConfig.Builder: ...
