import typing

import android.content
import android.graphics
import android.graphics.drawable
import android.hardware
import android.location
import android.os
import java
import java.chaquopy
import java.lang
import org.osmdroid.views.util.constants

class DefaultResourceProxyImpl(ResourceProxy, org.osmdroid.views.util.constants.MapViewConstants):
    def __init__(self, pContext: android.content.Context, /) -> None: ...
    def getBitmap(self, pResId: ResourceProxy.bitmap, /) -> android.graphics.Bitmap: ...
    def getDisplayMetricsDensity(self) -> float: ...
    def getDrawable(self, pResId: ResourceProxy.bitmap, /) -> android.graphics.drawable.Drawable: ...
    @typing.overload
    def getString(self, pResId: ResourceProxy.string, /) -> str: ...
    @typing.overload
    def getString(self, pResId: ResourceProxy.string, /, *formatArgs: java.lang.Object) -> str: ...

class LocationListenerProxy(android.location.LocationListener):
    def __init__(self, pLocationManager: android.location.LocationManager, /) -> None: ...
    def onLocationChanged(self, arg0: android.location.Location, /) -> None: ...
    def onProviderDisabled(self, arg0: str | java.lang.String, /) -> None: ...
    def onProviderEnabled(self, arg0: str | java.lang.String, /) -> None: ...
    def onStatusChanged(self, arg0: str | java.lang.String, arg1: int | java.jint | java.lang.Integer, arg2: android.os.Bundle, /) -> None: ...
    def startListening(self, pListener: android.location.LocationListener, pUpdateTime: int | java.jlong | java.lang.Long, pUpdateDistance: float | java.jfloat | java.lang.Float, /) -> bool: ...
    def stopListening(self) -> None: ...

class ResourceProxy(java.lang.Object):
    def getBitmap(self, arg1: ResourceProxy.bitmap, /) -> android.graphics.Bitmap: ...
    def getDisplayMetricsDensity(self) -> float: ...
    def getDrawable(self, arg1: ResourceProxy.bitmap, /) -> android.graphics.drawable.Drawable: ...
    @typing.overload
    def getString(self, arg1: ResourceProxy.string, /) -> str: ...
    @typing.overload
    def getString(self, arg1: ResourceProxy.string, /, *arg2: java.lang.Object) -> str: ...

    class bitmap(java.lang.Enum[ResourceProxy.bitmap]):
        center: typing.ClassVar[ResourceProxy.bitmap] = ...
        direction_arrow: typing.ClassVar[ResourceProxy.bitmap] = ...
        ic_menu_compass: typing.ClassVar[ResourceProxy.bitmap] = ...
        ic_menu_mapmode: typing.ClassVar[ResourceProxy.bitmap] = ...
        ic_menu_mylocation: typing.ClassVar[ResourceProxy.bitmap] = ...
        ic_menu_offline: typing.ClassVar[ResourceProxy.bitmap] = ...
        marker_default: typing.ClassVar[ResourceProxy.bitmap] = ...
        marker_default_focused_base: typing.ClassVar[ResourceProxy.bitmap] = ...
        navto_small: typing.ClassVar[ResourceProxy.bitmap] = ...
        next: typing.ClassVar[ResourceProxy.bitmap] = ...
        person: typing.ClassVar[ResourceProxy.bitmap] = ...
        previous: typing.ClassVar[ResourceProxy.bitmap] = ...
        unknown: typing.ClassVar[ResourceProxy.bitmap] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> ResourceProxy.bitmap: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[ResourceProxy.bitmap]: ...

    class string(java.lang.Enum[ResourceProxy.string]):
        base_nl: typing.ClassVar[ResourceProxy.string] = ...
        bing: typing.ClassVar[ResourceProxy.string] = ...
        cloudmade_small: typing.ClassVar[ResourceProxy.string] = ...
        cloudmade_standard: typing.ClassVar[ResourceProxy.string] = ...
        compass: typing.ClassVar[ResourceProxy.string] = ...
        cyclemap: typing.ClassVar[ResourceProxy.string] = ...
        fiets_nl: typing.ClassVar[ResourceProxy.string] = ...
        format_distance_feet: typing.ClassVar[ResourceProxy.string] = ...
        format_distance_kilometers: typing.ClassVar[ResourceProxy.string] = ...
        format_distance_meters: typing.ClassVar[ResourceProxy.string] = ...
        format_distance_miles: typing.ClassVar[ResourceProxy.string] = ...
        format_distance_nautical_miles: typing.ClassVar[ResourceProxy.string] = ...
        map_mode: typing.ClassVar[ResourceProxy.string] = ...
        mapbox: typing.ClassVar[ResourceProxy.string] = ...
        mapnik: typing.ClassVar[ResourceProxy.string] = ...
        mapquest_aerial: typing.ClassVar[ResourceProxy.string] = ...
        mapquest_osm: typing.ClassVar[ResourceProxy.string] = ...
        my_location: typing.ClassVar[ResourceProxy.string] = ...
        offline_mode: typing.ClassVar[ResourceProxy.string] = ...
        online_mode: typing.ClassVar[ResourceProxy.string] = ...
        public_transport: typing.ClassVar[ResourceProxy.string] = ...
        roads_nl: typing.ClassVar[ResourceProxy.string] = ...
        unknown: typing.ClassVar[ResourceProxy.string] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> ResourceProxy.string: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[ResourceProxy.string]: ...

class SensorEventListenerProxy(android.hardware.SensorEventListener):
    def __init__(self, pSensorManager: android.hardware.SensorManager, /) -> None: ...
    def onAccuracyChanged(self, pSensor: android.hardware.Sensor, pAccuracy: int | java.jint | java.lang.Integer, /) -> None: ...
    def onSensorChanged(self, pEvent: android.hardware.SensorEvent, /) -> None: ...
    def startListening(self, pListener: android.hardware.SensorEventListener, pSensorType: int | java.jint | java.lang.Integer, pRate: int | java.jint | java.lang.Integer, /) -> bool: ...
    def stopListening(self) -> None: ...
