import typing

import android.location
import android.net
import android.net.wifi
import android.net.wifi.aware
import android.os
import android.util
import java
import java.chaquopy
import java.lang
import java.util
import java.util.concurrent

class CivicLocationKeys(java.lang.Object):
    ADDITIONAL_CODE: typing.ClassVar[int] = ...
    APT: typing.ClassVar[int] = ...
    BOROUGH: typing.ClassVar[int] = ...
    BRANCH_ROAD_NAME: typing.ClassVar[int] = ...
    BUILDING: typing.ClassVar[int] = ...
    CITY: typing.ClassVar[int] = ...
    COUNTY: typing.ClassVar[int] = ...
    DESK: typing.ClassVar[int] = ...
    FLOOR: typing.ClassVar[int] = ...
    GROUP_OF_STREETS: typing.ClassVar[int] = ...
    HNO: typing.ClassVar[int] = ...
    HNS: typing.ClassVar[int] = ...
    LANGUAGE: typing.ClassVar[int] = ...
    LMK: typing.ClassVar[int] = ...
    LOC: typing.ClassVar[int] = ...
    NAM: typing.ClassVar[int] = ...
    NEIGHBORHOOD: typing.ClassVar[int] = ...
    PCN: typing.ClassVar[int] = ...
    POD: typing.ClassVar[int] = ...
    POSTAL_CODE: typing.ClassVar[int] = ...
    PO_BOX: typing.ClassVar[int] = ...
    PRD: typing.ClassVar[int] = ...
    PRIMARY_ROAD_NAME: typing.ClassVar[int] = ...
    ROAD_SECTION: typing.ClassVar[int] = ...
    ROOM: typing.ClassVar[int] = ...
    SCRIPT: typing.ClassVar[int] = ...
    STATE: typing.ClassVar[int] = ...
    STREET_NAME_POST_MODIFIER: typing.ClassVar[int] = ...
    STREET_NAME_PRE_MODIFIER: typing.ClassVar[int] = ...
    STS: typing.ClassVar[int] = ...
    SUBBRANCH_ROAD_NAME: typing.ClassVar[int] = ...
    TYPE_OF_PLACE: typing.ClassVar[int] = ...

class PasnConfig(android.os.Parcelable):
    AKM_FILS_EAP_SHA256: typing.ClassVar[int] = ...
    AKM_FILS_EAP_SHA384: typing.ClassVar[int] = ...
    AKM_FT_EAP_SHA256: typing.ClassVar[int] = ...
    AKM_FT_EAP_SHA384: typing.ClassVar[int] = ...
    AKM_FT_PSK_SHA256: typing.ClassVar[int] = ...
    AKM_FT_PSK_SHA384: typing.ClassVar[int] = ...
    AKM_NONE: typing.ClassVar[int] = ...
    AKM_PASN: typing.ClassVar[int] = ...
    AKM_SAE: typing.ClassVar[int] = ...
    CIPHER_CCMP_128: typing.ClassVar[int] = ...
    CIPHER_CCMP_256: typing.ClassVar[int] = ...
    CIPHER_GCMP_128: typing.ClassVar[int] = ...
    CIPHER_GCMP_256: typing.ClassVar[int] = ...
    CIPHER_NONE: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PasnConfig]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getBaseAkms(self) -> int: ...
    def getCiphers(self) -> int: ...
    def getPasnComebackCookie(self) -> java.chaquopy.JavaArrayJByte: ...
    def getPassword(self) -> str: ...
    def getWifiSsid(self) -> android.net.wifi.WifiSsid: ...
    def hashCode(self) -> int: ...
    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, baseAkms: int | java.jint | java.lang.Integer, ciphers: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> PasnConfig: ...
        def setPasnComebackCookie(self, pasnComebackCookie: java.chaquopy.JavaArrayJByte, /) -> PasnConfig.Builder: ...
        def setPassword(self, password: str | java.lang.String, /) -> PasnConfig.Builder: ...
        def setWifiSsid(self, wifiSsid: android.net.wifi.WifiSsid, /) -> PasnConfig.Builder: ...

class RangingRequest(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[RangingRequest]] = ...
    SECURITY_MODE_OPEN: typing.ClassVar[int] = ...
    SECURITY_MODE_OPPORTUNISTIC: typing.ClassVar[int] = ...
    SECURITY_MODE_SECURE_AUTH: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    @staticmethod
    def getDefaultRttBurstSize() -> int: ...
    @staticmethod
    def getMaxPeers() -> int: ...
    @staticmethod
    def getMaxRttBurstSize() -> int: ...
    @staticmethod
    def getMinRttBurstSize() -> int: ...
    def getRttBurstSize(self) -> int: ...
    def getSecurityMode(self) -> int: ...
    def hashCode(self) -> int: ...
    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 addAccessPoint(self, apInfo: android.net.wifi.ScanResult, /) -> RangingRequest.Builder: ...
        def addAccessPoints(self, apInfos: java.util.List[android.net.wifi.ScanResult], /) -> RangingRequest.Builder: ...
        def addNon80211mcCapableAccessPoint(self, apInfo: android.net.wifi.ScanResult, /) -> RangingRequest.Builder: ...
        def addNon80211mcCapableAccessPoints(self, apInfos: java.util.List[android.net.wifi.ScanResult], /) -> RangingRequest.Builder: ...
        def addResponder(self, responder: ResponderConfig, /) -> RangingRequest.Builder: ...
        def addResponders(self, responders: java.util.List[ResponderConfig], /) -> RangingRequest.Builder: ...
        @typing.overload
        def addWifiAwarePeer(self, peerMacAddress: android.net.MacAddress, /) -> RangingRequest.Builder: ...
        @typing.overload
        def addWifiAwarePeer(self, peerHandle: android.net.wifi.aware.PeerHandle, /) -> RangingRequest.Builder: ...
        def build(self) -> RangingRequest: ...
        def setRttBurstSize(self, rttBurstSize: int | java.jint | java.lang.Integer, /) -> RangingRequest.Builder: ...
        def setSecurityMode(self, securityMode: int | java.jint | java.lang.Integer, /) -> RangingRequest.Builder: ...

class RangingResult(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[RangingResult]] = ...
    STATUS_FAIL: typing.ClassVar[int] = ...
    STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC: typing.ClassVar[int] = ...
    STATUS_SUCCESS: typing.ClassVar[int] = ...
    UNSPECIFIED: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def get80211azInitiatorTxLtfRepetitionsCount(self) -> int: ...
    def get80211azNumberOfRxSpatialStreams(self) -> int: ...
    def get80211azNumberOfTxSpatialStreams(self) -> int: ...
    def get80211azResponderTxLtfRepetitionsCount(self) -> int: ...
    def getDistanceMm(self) -> int: ...
    def getDistanceStdDevMm(self) -> int: ...
    def getLci(self) -> java.chaquopy.JavaArrayJByte: ...
    def getLcr(self) -> java.chaquopy.JavaArrayJByte: ...
    def getMacAddress(self) -> android.net.MacAddress | None: ...
    def getMaxTimeBetweenNtbMeasurementsMicros(self) -> int: ...
    def getMeasurementBandwidth(self) -> int: ...
    def getMeasurementChannelFrequencyMHz(self) -> int: ...
    def getMinTimeBetweenNtbMeasurementsMicros(self) -> int: ...
    def getNumAttemptedMeasurements(self) -> int: ...
    def getNumSuccessfulMeasurements(self) -> int: ...
    def getPasnComebackAfterMillis(self) -> int: ...
    def getPasnComebackCookie(self) -> java.chaquopy.JavaArrayJByte: ...
    def getPeerHandle(self) -> android.net.wifi.aware.PeerHandle | None: ...
    def getRangingTimestampMillis(self) -> int: ...
    def getRssi(self) -> int: ...
    def getSecureHeLtfProtocolVersion(self) -> int: ...
    def getStatus(self) -> int: ...
    def getUnverifiedResponderLocation(self) -> ResponderLocation | None: ...
    def hashCode(self) -> int: ...
    def is80211azNtbMeasurement(self) -> bool: ...
    def is80211mcMeasurement(self) -> bool: ...
    def isRangingAuthenticated(self) -> bool: ...
    def isRangingFrameProtected(self) -> bool: ...
    def isSecureHeLtfEnabled(self) -> bool: ...
    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) -> RangingResult: ...
        def set80211azInitiatorTxLtfRepetitionsCount(self, i2rTxLtfRepetitions: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def set80211azNtbMeasurement(self, is80211azNtbMeasurement: bool | java.jboolean | java.lang.Boolean, /) -> RangingResult.Builder: ...
        def set80211azNumberOfRxSpatialStreams(self, numRxSpatialStreams: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def set80211azNumberOfTxSpatialStreams(self, numTxSpatialStreams: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def set80211azResponderTxLtfRepetitionsCount(self, r2iTxLtfRepetitions: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def set80211mcMeasurement(self, is80211mcMeasurement: bool | java.jboolean | java.lang.Boolean, /) -> RangingResult.Builder: ...
        def setDistanceMm(self, distanceMm: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setDistanceStdDevMm(self, distanceStdDevMm: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setLci(self, lci: java.chaquopy.JavaArrayJByte, /) -> RangingResult.Builder: ...
        def setLcr(self, lcr: java.chaquopy.JavaArrayJByte, /) -> RangingResult.Builder: ...
        def setMacAddress(self, macAddress: android.net.MacAddress, /) -> RangingResult.Builder: ...
        def setMaxTimeBetweenNtbMeasurementsMicros(self, ntbMaxMeasurementTime: int | java.jlong | java.lang.Long, /) -> RangingResult.Builder: ...
        def setMeasurementBandwidth(self, measurementBandwidth: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setMeasurementChannelFrequencyMHz(self, frequencyMHz: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setMinTimeBetweenNtbMeasurementsMicros(self, ntbMinMeasurementTime: int | java.jlong | java.lang.Long, /) -> RangingResult.Builder: ...
        def setNumAttemptedMeasurements(self, numAttemptedMeasurements: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setNumSuccessfulMeasurements(self, numSuccessfulMeasurements: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setPasnComebackAfterMillis(self, comebackAfterMillis: int | java.jlong | java.lang.Long, /) -> RangingResult.Builder: ...
        def setPasnComebackCookie(self, pasnComebackCookie: java.chaquopy.JavaArrayJByte, /) -> RangingResult.Builder: ...
        def setPeerHandle(self, peerHandle: android.net.wifi.aware.PeerHandle, /) -> RangingResult.Builder: ...
        def setRangingAuthenticated(self, isRangingAuthenticated: bool | java.jboolean | java.lang.Boolean, /) -> RangingResult.Builder: ...
        def setRangingFrameProtected(self, isRangingFrameProtected: bool | java.jboolean | java.lang.Boolean, /) -> RangingResult.Builder: ...
        def setRangingTimestampMillis(self, timestamp: int | java.jlong | java.lang.Long, /) -> RangingResult.Builder: ...
        def setRssi(self, rssi: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setSecureHeLtfEnabled(self, isSecureHeLtfEnabled: bool | java.jboolean | java.lang.Boolean, /) -> RangingResult.Builder: ...
        def setSecureHeLtfProtocolVersion(self, secureHeLtfProtocolVersion: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setStatus(self, status: int | java.jint | java.lang.Integer, /) -> RangingResult.Builder: ...
        def setUnverifiedResponderLocation(self, responderLocation: ResponderLocation, /) -> RangingResult.Builder: ...

class RangingResultCallback(java.lang.Object):
    STATUS_CODE_FAIL: typing.ClassVar[int] = ...
    STATUS_CODE_FAIL_RTT_NOT_AVAILABLE: typing.ClassVar[int] = ...
    def __init__(self) -> None: ...
    def onRangingFailure(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...
    def onRangingResults(self, arg1: java.util.List[RangingResult], /) -> None: ...

class ResponderConfig(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ResponderConfig]] = ...
    RESPONDER_AP: typing.ClassVar[int] = ...
    RESPONDER_STA: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    @staticmethod
    def fromScanResult(scanResult: android.net.wifi.ScanResult, /) -> ResponderConfig: ...
    def getCenterFreq0Mhz(self) -> int: ...
    def getCenterFreq1Mhz(self) -> int: ...
    def getChannelWidth(self) -> int: ...
    def getFrequencyMhz(self) -> int: ...
    def getMacAddress(self) -> android.net.MacAddress | None: ...
    def getPreamble(self) -> int: ...
    def getResponderType(self) -> int: ...
    def getSecureRangingConfig(self) -> SecureRangingConfig: ...
    def hashCode(self) -> int: ...
    def is80211azNtbSupported(self) -> bool: ...
    def is80211mcSupported(self) -> bool: ...
    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) -> ResponderConfig: ...
        def set80211azNtbSupported(self, supports80211azNtb: bool | java.jboolean | java.lang.Boolean, /) -> ResponderConfig.Builder: ...
        def set80211mcSupported(self, supports80211mc: bool | java.jboolean | java.lang.Boolean, /) -> ResponderConfig.Builder: ...
        def setCenterFreq0Mhz(self, centerFreq0: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setCenterFreq1Mhz(self, centerFreq1: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setChannelWidth(self, channelWidth: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setFrequencyMhz(self, frequency: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setMacAddress(self, macAddress: android.net.MacAddress, /) -> ResponderConfig.Builder: ...
        def setPreamble(self, preamble: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setResponderType(self, responderType: int | java.jint | java.lang.Integer, /) -> ResponderConfig.Builder: ...
        def setSecureRangingConfig(self, secureRangingConfig: SecureRangingConfig, /) -> ResponderConfig.Builder: ...

class ResponderLocation(android.os.Parcelable):
    ALTITUDE_FLOORS: typing.ClassVar[int] = ...
    ALTITUDE_METERS: typing.ClassVar[int] = ...
    ALTITUDE_UNDEFINED: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ResponderLocation]] = ...
    DATUM_NAD83_MLLW: typing.ClassVar[int] = ...
    DATUM_NAD83_NAV88: typing.ClassVar[int] = ...
    DATUM_UNDEFINED: typing.ClassVar[int] = ...
    DATUM_WGS84: typing.ClassVar[int] = ...
    LCI_VERSION_1: typing.ClassVar[int] = ...
    LOCATION_FIXED: typing.ClassVar[int] = ...
    LOCATION_MOVEMENT_UNKNOWN: typing.ClassVar[int] = ...
    LOCATION_RESERVED: typing.ClassVar[int] = ...
    LOCATION_VARIABLE: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAltitude(self) -> float: ...
    def getAltitudeType(self) -> int: ...
    def getAltitudeUncertainty(self) -> float: ...
    def getColocatedBssids(self) -> java.util.List[android.net.MacAddress]: ...
    def getDatum(self) -> int: ...
    def getExpectedToMove(self) -> int: ...
    def getFloorNumber(self) -> float: ...
    def getHeightAboveFloorMeters(self) -> float: ...
    def getHeightAboveFloorUncertaintyMeters(self) -> float: ...
    def getLatitude(self) -> float: ...
    def getLatitudeUncertainty(self) -> float: ...
    def getLciVersion(self) -> int: ...
    def getLongitude(self) -> float: ...
    def getLongitudeUncertainty(self) -> float: ...
    def getMapImageMimeType(self) -> str | None: ...
    def getMapImageUri(self) -> android.net.Uri | None: ...
    def getRegisteredLocationAgreementIndication(self) -> bool: ...
    def hashCode(self) -> int: ...
    def isLciSubelementValid(self) -> bool: ...
    def isZaxisSubelementValid(self) -> bool: ...
    def toCivicLocationAddress(self) -> android.location.Address | None: ...
    def toCivicLocationSparseArray(self) -> android.util.SparseArray[java.lang.String] | None: ...
    def toLocation(self) -> android.location.Location: ...
    def writeToParcel(self, parcel: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SecureRangingConfig(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SecureRangingConfig]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getPasnConfig(self) -> PasnConfig: ...
    def hashCode(self) -> int: ...
    def isRangingFrameProtectionEnabled(self) -> bool: ...
    def isSecureHeLtfEnabled(self) -> bool: ...
    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, pasnConfig: PasnConfig, /) -> None: ...
        def build(self) -> SecureRangingConfig: ...
        def setRangingFrameProtectionEnabled(self, enableRangingFrameProtection: bool | java.jboolean | java.lang.Boolean, /) -> SecureRangingConfig.Builder: ...
        def setSecureHeLtfEnabled(self, enableSecureHeLtf: bool | java.jboolean | java.lang.Boolean, /) -> SecureRangingConfig.Builder: ...

class WifiRttManager(java.lang.Object):
    ACTION_WIFI_RTT_STATE_CHANGED: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_LCI: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_LCR: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_NTB_INITIATOR: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_ONE_SIDED_RTT: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_RANGING_FRAME_PROTECTION_SUPPORTED: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_SECURE_HE_LTF_SUPPORTED: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER: typing.ClassVar[str] = ...
    CHARACTERISTICS_KEY_INT_MAX_SUPPORTED_SECURE_HE_LTF_PROTO_VERSION: typing.ClassVar[str] = ...
    def getRttCharacteristics(self) -> android.os.Bundle: ...
    def isAvailable(self) -> bool: ...
    def startRanging(self, request: RangingRequest, executor: java.util.concurrent.Executor, callback: RangingResultCallback, /) -> None: ...
