import typing

import android.os
import java
import java.lang

class ProviderProperties(android.os.Parcelable):
    ACCURACY_COARSE: typing.ClassVar[int] = ...
    ACCURACY_FINE: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ProviderProperties]] = ...
    POWER_USAGE_HIGH: typing.ClassVar[int] = ...
    POWER_USAGE_LOW: typing.ClassVar[int] = ...
    POWER_USAGE_MEDIUM: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAccuracy(self) -> int: ...
    def getPowerUsage(self) -> int: ...
    def hasAltitudeSupport(self) -> bool: ...
    def hasBearingSupport(self) -> bool: ...
    def hasCellRequirement(self) -> bool: ...
    def hasMonetaryCost(self) -> bool: ...
    def hasNetworkRequirement(self) -> bool: ...
    def hasSatelliteRequirement(self) -> bool: ...
    def hasSpeedSupport(self) -> bool: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, providerProperties: ProviderProperties, /) -> None: ...
        def build(self) -> ProviderProperties: ...
        def setAccuracy(self, accuracy: int | java.jint | java.lang.Integer, /) -> ProviderProperties.Builder: ...
        def setHasAltitudeSupport(self, supportsAltitude: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasBearingSupport(self, supportsBearing: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasCellRequirement(self, requiresCell: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasMonetaryCost(self, monetaryCost: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasNetworkRequirement(self, requiresNetwork: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasSatelliteRequirement(self, requiresSatellite: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setHasSpeedSupport(self, supportsSpeed: bool | java.jboolean | java.lang.Boolean, /) -> ProviderProperties.Builder: ...
        def setPowerUsage(self, powerUsage: int | java.jint | java.lang.Integer, /) -> ProviderProperties.Builder: ...
