import typing

import android.graphics
import android.hardware.camera2.params
import android.location
import android.media
import android.os
import android.util
import android.view
import java
import java.chaquopy
import java.io
import java.lang
import java.nio
import java.util
import java.util.concurrent

class CameraAccessException(android.util.AndroidException):
    CAMERA_DISABLED: typing.ClassVar[int] = ...
    CAMERA_DISCONNECTED: typing.ClassVar[int] = ...
    CAMERA_ERROR: typing.ClassVar[int] = ...
    CAMERA_IN_USE: typing.ClassVar[int] = ...
    MAX_CAMERAS_IN_USE: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, problem: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, problem: int | java.jint | java.lang.Integer, message: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, problem: int | java.jint | java.lang.Integer, cause: java.lang.Throwable, /) -> None: ...
    @typing.overload
    def __init__(self, problem: int | java.jint | java.lang.Integer, message: str | java.lang.String, cause: java.lang.Throwable, /) -> None: ...
    def getReason(self) -> int: ...

class CameraCaptureSession(java.lang.AutoCloseable):
    def __init__(self) -> None: ...
    def abortCaptures(self) -> None: ...
    def capture(self, arg1: CaptureRequest, arg2: CameraCaptureSession.CaptureCallback, arg3: android.os.Handler, /) -> int: ...
    def captureBurst(self, arg1: java.util.List[CaptureRequest], arg2: CameraCaptureSession.CaptureCallback, arg3: android.os.Handler, /) -> int: ...
    def captureBurstRequests(self, requests: java.util.List[CaptureRequest], executor: java.util.concurrent.Executor, listener: CameraCaptureSession.CaptureCallback, /) -> int: ...
    def captureSingleRequest(self, request: CaptureRequest, executor: java.util.concurrent.Executor, listener: CameraCaptureSession.CaptureCallback, /) -> int: ...
    def close(self) -> None: ...
    def finalizeOutputConfigurations(self, arg1: java.util.List[android.hardware.camera2.params.OutputConfiguration], /) -> None: ...
    def getDevice(self) -> CameraDevice: ...
    def getInputSurface(self) -> android.view.Surface | None: ...
    def isReprocessable(self) -> bool: ...
    def prepare(self, arg1: android.view.Surface, /) -> None: ...
    def setRepeatingBurst(self, arg1: java.util.List[CaptureRequest], arg2: CameraCaptureSession.CaptureCallback, arg3: android.os.Handler, /) -> int: ...
    def setRepeatingBurstRequests(self, requests: java.util.List[CaptureRequest], executor: java.util.concurrent.Executor, listener: CameraCaptureSession.CaptureCallback, /) -> int: ...
    def setRepeatingRequest(self, arg1: CaptureRequest, arg2: CameraCaptureSession.CaptureCallback, arg3: android.os.Handler, /) -> int: ...
    def setSingleRepeatingRequest(self, request: CaptureRequest, executor: java.util.concurrent.Executor, listener: CameraCaptureSession.CaptureCallback, /) -> int: ...
    def stopRepeating(self) -> None: ...
    def supportsOfflineProcessing(self, surface: android.view.Surface, /) -> bool: ...
    def switchToOffline(self, offlineSurfaces: java.util.Collection[android.view.Surface], executor: java.util.concurrent.Executor, listener: CameraOfflineSession.CameraOfflineSessionCallback, /) -> CameraOfflineSession | None: ...
    def updateOutputConfiguration(self, config: android.hardware.camera2.params.OutputConfiguration, /) -> None: ...

    class StateCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onActive(self, session: CameraCaptureSession, /) -> None: ...
        def onCaptureQueueEmpty(self, session: CameraCaptureSession, /) -> None: ...
        def onClosed(self, session: CameraCaptureSession, /) -> None: ...
        def onConfigureFailed(self, arg1: CameraCaptureSession, /) -> None: ...
        def onConfigured(self, arg1: CameraCaptureSession, /) -> None: ...
        def onReady(self, session: CameraCaptureSession, /) -> None: ...
        def onSurfacePrepared(self, session: CameraCaptureSession, surface: android.view.Surface, /) -> None: ...

    class CaptureCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onCaptureBufferLost(self, session: CameraCaptureSession, request: CaptureRequest, target: android.view.Surface, frameNumber: int | java.jlong | java.lang.Long, /) -> None: ...
        def onCaptureCompleted(self, session: CameraCaptureSession, request: CaptureRequest, result: TotalCaptureResult, /) -> None: ...
        def onCaptureFailed(self, session: CameraCaptureSession, request: CaptureRequest, failure: CaptureFailure, /) -> None: ...
        def onCaptureProgressed(self, session: CameraCaptureSession, request: CaptureRequest, partialResult: CaptureResult, /) -> None: ...
        def onCaptureSequenceAborted(self, session: CameraCaptureSession, sequenceId: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCaptureSequenceCompleted(self, session: CameraCaptureSession, sequenceId: int | java.jint | java.lang.Integer, frameNumber: int | java.jlong | java.lang.Long, /) -> None: ...
        def onCaptureStarted(self, session: CameraCaptureSession, request: CaptureRequest, timestamp: int | java.jlong | java.lang.Long, frameNumber: int | java.jlong | java.lang.Long, /) -> None: ...
        def onReadoutStarted(self, session: CameraCaptureSession, request: CaptureRequest, timestamp: int | java.jlong | java.lang.Long, frameNumber: int | java.jlong | java.lang.Long, /) -> None: ...


_CameraCharacteristics__Key__T = typing.TypeVar('_CameraCharacteristics__Key__T')  # <T>
class CameraCharacteristics(CameraMetadata[CameraCharacteristics.Key[java.lang.Object]]):
    AUTOMOTIVE_LENS_FACING: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    AUTOMOTIVE_LOCATION: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    COLOR_CORRECTION_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Integer]]] = ...
    CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AE_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AE_AVAILABLE_PRIORITY_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.util.Range[java.lang.Integer]]]] = ...
    CONTROL_AE_COMPENSATION_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Integer]]] = ...
    CONTROL_AE_COMPENSATION_STEP: typing.ClassVar[CameraCharacteristics.Key[android.util.Rational]] = ...
    CONTROL_AE_LOCK_AVAILABLE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    CONTROL_AF_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AUTOFRAMING_AVAILABLE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    CONTROL_AVAILABLE_EFFECTS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.Capability]]] = ...
    CONTROL_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AVAILABLE_SCENE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AVAILABLE_SETTINGS_OVERRIDES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AWB_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    CONTROL_AWB_LOCK_AVAILABLE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Float]]] = ...
    CONTROL_MAX_REGIONS_AE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    CONTROL_MAX_REGIONS_AF: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    CONTROL_MAX_REGIONS_AWB: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Integer]]] = ...
    CONTROL_ZOOM_RATIO_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Float]]] = ...
    DEPTH_DEPTH_IS_EXCLUSIVE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    DISTORTION_CORRECTION_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    EDGE_AVAILABLE_EDGE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    FLASH_INFO_AVAILABLE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    FLASH_INFO_STRENGTH_DEFAULT_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    FLASH_SINGLE_STRENGTH_MAX_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    FLASH_TORCH_STRENGTH_MAX_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.DeviceStateSensorOrientationMap]] = ...
    INFO_SESSION_CONFIGURATION_QUERY_VERSION: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    INFO_VERSION: typing.ClassVar[CameraCharacteristics.Key[java.lang.String]] = ...
    JPEG_AVAILABLE_THUMBNAIL_SIZES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.util.Size]]] = ...
    LENS_DISTORTION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_DISTORTION_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_FACING: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    LENS_INFO_AVAILABLE_APERTURES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_INFO_AVAILABLE_FILTER_DENSITIES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_INFO_AVAILABLE_FOCAL_LENGTHS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    LENS_INFO_HYPERFOCAL_DISTANCE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Float]] = ...
    LENS_INFO_MINIMUM_FOCUS_DISTANCE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Float]] = ...
    LENS_INTRINSIC_CALIBRATION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_POSE_REFERENCE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    LENS_POSE_ROTATION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_POSE_TRANSLATION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_RADIAL_DISTORTION: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    REPROCESS_MAX_CAPTURE_STALL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_AVAILABLE_CAPABILITIES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    REQUEST_AVAILABLE_COLOR_SPACE_PROFILES: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceProfiles]] = ...
    REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.DynamicRangeProfiles]] = ...
    REQUEST_MAX_NUM_INPUT_STREAMS: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_MAX_NUM_OUTPUT_PROC: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_MAX_NUM_OUTPUT_PROC_STALLING: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_MAX_NUM_OUTPUT_RAW: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_PARTIAL_RESULT_COUNT: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    REQUEST_PIPELINE_MAX_DEPTH: typing.ClassVar[CameraCharacteristics.Key[java.lang.Byte]] = ...
    REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Long]] = ...
    SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: typing.ClassVar[CameraCharacteristics.Key[java.lang.Float]] = ...
    SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJLong]] = ...
    SCALER_CROPPING_TYPE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SCALER_DEFAULT_SECURE_IMAGE_SIZE: typing.ClassVar[CameraCharacteristics.Key[android.util.Size]] = ...
    SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MANDATORY_PREVIEW_STABILIZATION_OUTPUT_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MANDATORY_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MANDATORY_TEN_BIT_OUTPUT_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MANDATORY_USE_CASE_STREAM_COMBINATIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MandatoryStreamCombination]]] = ...
    SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.MultiResolutionStreamConfigurationMap]] = ...
    SCALER_STREAM_CONFIGURATION_MAP: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.StreamConfigurationMap]] = ...
    SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.StreamConfigurationMap]] = ...
    SENSOR_AVAILABLE_TEST_PATTERN_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    SENSOR_BLACK_LEVEL_PATTERN: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.BlackLevelPattern]] = ...
    SENSOR_CALIBRATION_TRANSFORM1: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_CALIBRATION_TRANSFORM2: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_COLOR_TRANSFORM1: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_COLOR_TRANSFORM2: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_FORWARD_MATRIX1: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_FORWARD_MATRIX2: typing.ClassVar[CameraCharacteristics.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    SENSOR_INFO_ACTIVE_ARRAY_SIZE: typing.ClassVar[CameraCharacteristics.Key[android.graphics.Rect]] = ...
    SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[android.graphics.Rect]] = ...
    SENSOR_INFO_BINNING_FACTOR: typing.ClassVar[CameraCharacteristics.Key[android.util.Size]] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_INFO_EXPOSURE_TIME_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Long]]] = ...
    SENSOR_INFO_LENS_SHADING_APPLIED: typing.ClassVar[CameraCharacteristics.Key[java.lang.Boolean]] = ...
    SENSOR_INFO_MAX_FRAME_DURATION: typing.ClassVar[CameraCharacteristics.Key[java.lang.Long]] = ...
    SENSOR_INFO_PHYSICAL_SIZE: typing.ClassVar[CameraCharacteristics.Key[android.util.SizeF]] = ...
    SENSOR_INFO_PIXEL_ARRAY_SIZE: typing.ClassVar[CameraCharacteristics.Key[android.util.Size]] = ...
    SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[android.util.Size]] = ...
    SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: typing.ClassVar[CameraCharacteristics.Key[android.graphics.Rect]] = ...
    SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: typing.ClassVar[CameraCharacteristics.Key[android.graphics.Rect]] = ...
    SENSOR_INFO_SENSITIVITY_RANGE: typing.ClassVar[CameraCharacteristics.Key[android.util.Range[java.lang.Integer]]] = ...
    SENSOR_INFO_TIMESTAMP_SOURCE: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_INFO_WHITE_LEVEL: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_MAX_ANALOG_SENSITIVITY: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_OPTICAL_BLACK_REGIONS: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArray[android.graphics.Rect]]] = ...
    SENSOR_ORIENTATION: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_READOUT_TIMESTAMP: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_REFERENCE_ILLUMINANT1: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SENSOR_REFERENCE_ILLUMINANT2: typing.ClassVar[CameraCharacteristics.Key[java.lang.Byte]] = ...
    SHADING_AVAILABLE_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJBoolean]] = ...
    STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    STATISTICS_INFO_MAX_FACE_COUNT: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    SYNC_MAX_LATENCY: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    TONEMAP_AVAILABLE_TONE_MAP_MODES: typing.ClassVar[CameraCharacteristics.Key[java.chaquopy.JavaArrayJInt]] = ...
    TONEMAP_MAX_CURVE_POINTS: typing.ClassVar[CameraCharacteristics.Key[java.lang.Integer]] = ...
    _get__T = typing.TypeVar('_get__T')  # <T>
    def get(self, key: CameraCharacteristics.Key[_get__T], /) -> _get__T | None: ...
    def getAvailableCaptureRequestKeys(self) -> java.util.List[CaptureRequest.Key[java.lang.Object]]: ...
    def getAvailableCaptureResultKeys(self) -> java.util.List[CaptureResult.Key[java.lang.Object]]: ...
    def getAvailablePhysicalCameraRequestKeys(self) -> java.util.List[CaptureRequest.Key[java.lang.Object]] | None: ...
    def getAvailableSessionCharacteristicsKeys(self) -> java.util.List[CameraCharacteristics.Key[java.lang.Object]]: ...
    def getAvailableSessionKeys(self) -> java.util.List[CaptureRequest.Key[java.lang.Object]] | None: ...
    def getKeys(self) -> java.util.List[CameraCharacteristics.Key[java.lang.Object]]: ...
    def getKeysNeedingPermission(self) -> java.util.List[CameraCharacteristics.Key[java.lang.Object]]: ...
    def getPhysicalCameraIds(self) -> java.util.Set[java.lang.String]: ...
    def getRecommendedStreamConfigurationMap(self, usecase: int | java.jint | java.lang.Integer, /) -> android.hardware.camera2.params.RecommendedStreamConfigurationMap | None: ...
    class Key(java.lang.Object, typing.Generic[_CameraCharacteristics__Key__T]):
        def __init__(self, name: str | java.lang.String, type: typing.Type[_CameraCharacteristics__Key__T], /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getName(self) -> str: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...

class CameraConstrainedHighSpeedCaptureSession(CameraCaptureSession):
    def __init__(self) -> None: ...
    def createHighSpeedRequestList(self, arg1: CaptureRequest, /) -> java.util.List[CaptureRequest]: ...

class CameraDevice(java.lang.AutoCloseable):
    AUDIO_RESTRICTION_NONE: typing.ClassVar[int] = ...
    AUDIO_RESTRICTION_VIBRATION: typing.ClassVar[int] = ...
    AUDIO_RESTRICTION_VIBRATION_SOUND: typing.ClassVar[int] = ...
    TEMPLATE_MANUAL: typing.ClassVar[int] = ...
    TEMPLATE_PREVIEW: typing.ClassVar[int] = ...
    TEMPLATE_RECORD: typing.ClassVar[int] = ...
    TEMPLATE_STILL_CAPTURE: typing.ClassVar[int] = ...
    TEMPLATE_VIDEO_SNAPSHOT: typing.ClassVar[int] = ...
    TEMPLATE_ZERO_SHUTTER_LAG: typing.ClassVar[int] = ...
    def close(self) -> None: ...
    @typing.overload
    def createCaptureRequest(self, arg1: int | java.jint | java.lang.Integer, /) -> CaptureRequest.Builder: ...
    @typing.overload
    def createCaptureRequest(self, templateType: int | java.jint | java.lang.Integer, physicalCameraIdSet: java.util.Set[java.lang.String], /) -> CaptureRequest.Builder: ...
    @typing.overload
    def createCaptureSession(self, config: android.hardware.camera2.params.SessionConfiguration, /) -> None: ...
    @typing.overload
    def createCaptureSession(self, arg1: java.util.List[android.view.Surface], arg2: CameraCaptureSession.StateCallback, arg3: android.os.Handler, /) -> None: ...
    def createCaptureSessionByOutputConfigurations(self, arg1: java.util.List[android.hardware.camera2.params.OutputConfiguration], arg2: CameraCaptureSession.StateCallback, arg3: android.os.Handler, /) -> None: ...
    def createConstrainedHighSpeedCaptureSession(self, arg1: java.util.List[android.view.Surface], arg2: CameraCaptureSession.StateCallback, arg3: android.os.Handler, /) -> None: ...
    def createExtensionSession(self, extensionConfiguration: android.hardware.camera2.params.ExtensionSessionConfiguration, /) -> None: ...
    def createReprocessCaptureRequest(self, arg1: TotalCaptureResult, /) -> CaptureRequest.Builder: ...
    def createReprocessableCaptureSession(self, arg1: android.hardware.camera2.params.InputConfiguration, arg2: java.util.List[android.view.Surface], arg3: CameraCaptureSession.StateCallback, arg4: android.os.Handler, /) -> None: ...
    def createReprocessableCaptureSessionByConfigurations(self, arg1: android.hardware.camera2.params.InputConfiguration, arg2: java.util.List[android.hardware.camera2.params.OutputConfiguration], arg3: CameraCaptureSession.StateCallback, arg4: android.os.Handler, /) -> None: ...
    def getCameraAudioRestriction(self) -> int: ...
    def getId(self) -> str: ...
    def isSessionConfigurationSupported(self, sessionConfig: android.hardware.camera2.params.SessionConfiguration, /) -> bool: ...
    def setCameraAudioRestriction(self, mode: int | java.jint | java.lang.Integer, /) -> None: ...

    class StateCallback(java.lang.Object):
        ERROR_CAMERA_DEVICE: typing.ClassVar[int] = ...
        ERROR_CAMERA_DISABLED: typing.ClassVar[int] = ...
        ERROR_CAMERA_IN_USE: typing.ClassVar[int] = ...
        ERROR_CAMERA_SERVICE: typing.ClassVar[int] = ...
        ERROR_MAX_CAMERAS_IN_USE: typing.ClassVar[int] = ...
        def __init__(self) -> None: ...
        def onClosed(self, camera: CameraDevice, /) -> None: ...
        def onDisconnected(self, arg1: CameraDevice, /) -> None: ...
        def onError(self, arg1: CameraDevice, arg2: int | java.jint | java.lang.Integer, /) -> None: ...
        def onOpened(self, arg1: CameraDevice, /) -> None: ...

    class CameraDeviceSetup(java.lang.Object):
        def createCaptureRequest(self, arg1: int | java.jint | java.lang.Integer, /) -> CaptureRequest.Builder: ...
        def getId(self) -> str: ...
        def getSessionCharacteristics(self, arg1: android.hardware.camera2.params.SessionConfiguration, /) -> CameraCharacteristics: ...
        def isSessionConfigurationSupported(self, arg1: android.hardware.camera2.params.SessionConfiguration, /) -> bool: ...
        def openCamera(self, arg1: java.util.concurrent.Executor, arg2: CameraDevice.StateCallback, /) -> None: ...

class CameraExtensionCharacteristics(java.lang.Object):
    EXTENSION_AUTOMATIC: typing.ClassVar[int] = ...
    EXTENSION_BEAUTY: typing.ClassVar[int] = ...
    EXTENSION_BOKEH: typing.ClassVar[int] = ...
    EXTENSION_FACE_RETOUCH: typing.ClassVar[int] = ...
    EXTENSION_HDR: typing.ClassVar[int] = ...
    EXTENSION_NIGHT: typing.ClassVar[int] = ...
    _get__T = typing.TypeVar('_get__T')  # <T>
    def get(self, extension: int | java.jint | java.lang.Integer, key: CameraCharacteristics.Key[_get__T], /) -> _get__T | None: ...
    def getAvailableCaptureRequestKeys(self, extension: int | java.jint | java.lang.Integer, /) -> java.util.Set[CaptureRequest.Key]: ...
    def getAvailableCaptureResultKeys(self, extension: int | java.jint | java.lang.Integer, /) -> java.util.Set[CaptureResult.Key]: ...
    def getEstimatedCaptureLatencyRangeMillis(self, extension: int | java.jint | java.lang.Integer, captureOutputSize: android.util.Size, format: int | java.jint | java.lang.Integer, /) -> android.util.Range[java.lang.Long] | None: ...
    @typing.overload
    def getExtensionSupportedSizes(self, extension: int | java.jint | java.lang.Integer, format: int | java.jint | java.lang.Integer, /) -> java.util.List[android.util.Size]: ...
    @typing.overload
    def getExtensionSupportedSizes(self, extension: int | java.jint | java.lang.Integer, klass: typing.Type[java.lang.Object], /) -> java.util.List[android.util.Size]: ...
    def getKeys(self, extension: int | java.jint | java.lang.Integer, /) -> java.util.Set[CameraCharacteristics.Key]: ...
    def getPostviewSupportedSizes(self, extension: int | java.jint | java.lang.Integer, captureSize: android.util.Size, format: int | java.jint | java.lang.Integer, /) -> java.util.List[android.util.Size]: ...
    def getSupportedExtensions(self) -> java.util.List[java.lang.Integer]: ...
    def isCaptureProcessProgressAvailable(self, extension: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isPostviewAvailable(self, extension: int | java.jint | java.lang.Integer, /) -> bool: ...

class CameraExtensionSession(java.lang.AutoCloseable):
    def capture(self, request: CaptureRequest, executor: java.util.concurrent.Executor, listener: CameraExtensionSession.ExtensionCaptureCallback, /) -> int: ...
    def close(self) -> None: ...
    def getDevice(self) -> CameraDevice: ...
    def getRealtimeStillCaptureLatency(self) -> CameraExtensionSession.StillCaptureLatency | None: ...
    def setRepeatingRequest(self, request: CaptureRequest, executor: java.util.concurrent.Executor, listener: CameraExtensionSession.ExtensionCaptureCallback, /) -> int: ...
    def stopRepeating(self) -> None: ...

    class StillCaptureLatency(java.lang.Object):
        def __init__(self, captureLatency: int | java.jlong | java.lang.Long, processingLatency: int | java.jlong | java.lang.Long, /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getCaptureLatency(self) -> int: ...
        def getProcessingLatency(self) -> int: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...

    class StateCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onClosed(self, session: CameraExtensionSession, /) -> None: ...
        def onConfigureFailed(self, arg1: CameraExtensionSession, /) -> None: ...
        def onConfigured(self, arg1: CameraExtensionSession, /) -> None: ...

    class ExtensionCaptureCallback(java.lang.Object):
        def __init__(self) -> None: ...
        @typing.overload
        def onCaptureFailed(self, session: CameraExtensionSession, request: CaptureRequest, /) -> None: ...
        @typing.overload
        def onCaptureFailed(self, session: CameraExtensionSession, request: CaptureRequest, failure: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCaptureProcessProgressed(self, session: CameraExtensionSession, request: CaptureRequest, progress: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCaptureProcessStarted(self, session: CameraExtensionSession, request: CaptureRequest, /) -> None: ...
        def onCaptureResultAvailable(self, session: CameraExtensionSession, request: CaptureRequest, result: TotalCaptureResult, /) -> None: ...
        def onCaptureSequenceAborted(self, session: CameraExtensionSession, sequenceId: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCaptureSequenceCompleted(self, session: CameraExtensionSession, sequenceId: int | java.jint | java.lang.Integer, /) -> None: ...
        def onCaptureStarted(self, session: CameraExtensionSession, request: CaptureRequest, timestamp: int | java.jlong | java.lang.Long, /) -> None: ...

class CameraManager(java.lang.Object):
    def getCameraCharacteristics(self, cameraId: str | java.lang.String, /) -> CameraCharacteristics: ...
    def getCameraDeviceSetup(self, cameraId: str | java.lang.String, /) -> CameraDevice.CameraDeviceSetup: ...
    def getCameraExtensionCharacteristics(self, cameraId: str | java.lang.String, /) -> CameraExtensionCharacteristics: ...
    def getCameraIdList(self) -> java.chaquopy.JavaArray[java.lang.String]: ...
    def getConcurrentCameraIds(self) -> java.util.Set[java.util.Set[java.lang.String]]: ...
    def getTorchStrengthLevel(self, cameraId: str | java.lang.String, /) -> int: ...
    def isCameraDeviceSetupSupported(self, cameraId: str | java.lang.String, /) -> bool: ...
    def isConcurrentSessionConfigurationSupported(self, cameraIdAndSessionConfig: java.util.Map[java.lang.String, android.hardware.camera2.params.SessionConfiguration], /) -> bool: ...
    @typing.overload
    def openCamera(self, cameraId: str | java.lang.String, callback: CameraDevice.StateCallback, handler: android.os.Handler, /) -> None: ...
    @typing.overload
    def openCamera(self, cameraId: str | java.lang.String, executor: java.util.concurrent.Executor, callback: CameraDevice.StateCallback, /) -> None: ...
    @typing.overload
    def registerAvailabilityCallback(self, callback: CameraManager.AvailabilityCallback, handler: android.os.Handler, /) -> None: ...
    @typing.overload
    def registerAvailabilityCallback(self, executor: java.util.concurrent.Executor, callback: CameraManager.AvailabilityCallback, /) -> None: ...
    @typing.overload
    def registerTorchCallback(self, callback: CameraManager.TorchCallback, handler: android.os.Handler, /) -> None: ...
    @typing.overload
    def registerTorchCallback(self, executor: java.util.concurrent.Executor, callback: CameraManager.TorchCallback, /) -> None: ...
    def setTorchMode(self, cameraId: str | java.lang.String, enabled: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def turnOnTorchWithStrengthLevel(self, cameraId: str | java.lang.String, torchStrength: int | java.jint | java.lang.Integer, /) -> None: ...
    def unregisterAvailabilityCallback(self, callback: CameraManager.AvailabilityCallback, /) -> None: ...
    def unregisterTorchCallback(self, callback: CameraManager.TorchCallback, /) -> None: ...

    class TorchCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onTorchModeChanged(self, cameraId: str | java.lang.String, enabled: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def onTorchModeUnavailable(self, cameraId: str | java.lang.String, /) -> None: ...
        def onTorchStrengthLevelChanged(self, cameraId: str | java.lang.String, newStrengthLevel: int | java.jint | java.lang.Integer, /) -> None: ...

    class AvailabilityCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onCameraAccessPrioritiesChanged(self) -> None: ...
        def onCameraAvailable(self, cameraId: str | java.lang.String, /) -> None: ...
        def onCameraUnavailable(self, cameraId: str | java.lang.String, /) -> None: ...
        def onPhysicalCameraAvailable(self, cameraId: str | java.lang.String, physicalCameraId: str | java.lang.String, /) -> None: ...
        def onPhysicalCameraUnavailable(self, cameraId: str | java.lang.String, physicalCameraId: str | java.lang.String, /) -> None: ...

_CameraMetadata__TKey = typing.TypeVar('_CameraMetadata__TKey')  # <TKey>
class CameraMetadata(java.lang.Object, typing.Generic[_CameraMetadata__TKey]):
    AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTERIOR_FRONT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTERIOR_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTERIOR_OTHER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTERIOR_REAR: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTRA_FRONT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTRA_LEFT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTRA_OTHER: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTRA_REAR: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_EXTRA_RIGHT: typing.ClassVar[int] = ...
    AUTOMOTIVE_LOCATION_INTERIOR: typing.ClassVar[int] = ...
    COLOR_CORRECTION_ABERRATION_MODE_FAST: typing.ClassVar[int] = ...
    COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    COLOR_CORRECTION_ABERRATION_MODE_OFF: typing.ClassVar[int] = ...
    COLOR_CORRECTION_MODE_CCT: typing.ClassVar[int] = ...
    COLOR_CORRECTION_MODE_FAST: typing.ClassVar[int] = ...
    COLOR_CORRECTION_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    COLOR_CORRECTION_MODE_TRANSFORM_MATRIX: typing.ClassVar[int] = ...
    CONTROL_AE_ANTIBANDING_MODE_50HZ: typing.ClassVar[int] = ...
    CONTROL_AE_ANTIBANDING_MODE_60HZ: typing.ClassVar[int] = ...
    CONTROL_AE_ANTIBANDING_MODE_AUTO: typing.ClassVar[int] = ...
    CONTROL_AE_ANTIBANDING_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON_ALWAYS_FLASH: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON_AUTO_FLASH: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON_EXTERNAL_FLASH: typing.ClassVar[int] = ...
    CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY: typing.ClassVar[int] = ...
    CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL: typing.ClassVar[int] = ...
    CONTROL_AE_PRECAPTURE_TRIGGER_IDLE: typing.ClassVar[int] = ...
    CONTROL_AE_PRECAPTURE_TRIGGER_START: typing.ClassVar[int] = ...
    CONTROL_AE_PRIORITY_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_AE_PRIORITY_MODE_SENSOR_EXPOSURE_TIME_PRIORITY: typing.ClassVar[int] = ...
    CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_CONVERGED: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_FLASH_REQUIRED: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_INACTIVE: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_LOCKED: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_PRECAPTURE: typing.ClassVar[int] = ...
    CONTROL_AE_STATE_SEARCHING: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_AUTO: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_CONTINUOUS_PICTURE: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_CONTINUOUS_VIDEO: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_EDOF: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_MACRO: typing.ClassVar[int] = ...
    CONTROL_AF_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_AF_SCENE_CHANGE_DETECTED: typing.ClassVar[int] = ...
    CONTROL_AF_SCENE_CHANGE_NOT_DETECTED: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_ACTIVE_SCAN: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_FOCUSED_LOCKED: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_INACTIVE: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_NOT_FOCUSED_LOCKED: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_PASSIVE_FOCUSED: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_PASSIVE_SCAN: typing.ClassVar[int] = ...
    CONTROL_AF_STATE_PASSIVE_UNFOCUSED: typing.ClassVar[int] = ...
    CONTROL_AF_TRIGGER_CANCEL: typing.ClassVar[int] = ...
    CONTROL_AF_TRIGGER_IDLE: typing.ClassVar[int] = ...
    CONTROL_AF_TRIGGER_START: typing.ClassVar[int] = ...
    CONTROL_AUTOFRAMING_OFF: typing.ClassVar[int] = ...
    CONTROL_AUTOFRAMING_ON: typing.ClassVar[int] = ...
    CONTROL_AUTOFRAMING_STATE_CONVERGED: typing.ClassVar[int] = ...
    CONTROL_AUTOFRAMING_STATE_FRAMING: typing.ClassVar[int] = ...
    CONTROL_AUTOFRAMING_STATE_INACTIVE: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_AUTO: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_CLOUDY_DAYLIGHT: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_DAYLIGHT: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_FLUORESCENT: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_INCANDESCENT: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_SHADE: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_TWILIGHT: typing.ClassVar[int] = ...
    CONTROL_AWB_MODE_WARM_FLUORESCENT: typing.ClassVar[int] = ...
    CONTROL_AWB_STATE_CONVERGED: typing.ClassVar[int] = ...
    CONTROL_AWB_STATE_INACTIVE: typing.ClassVar[int] = ...
    CONTROL_AWB_STATE_LOCKED: typing.ClassVar[int] = ...
    CONTROL_AWB_STATE_SEARCHING: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_CUSTOM: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_MANUAL: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_MOTION_TRACKING: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_PREVIEW: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_STILL_CAPTURE: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_VIDEO_RECORD: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT: typing.ClassVar[int] = ...
    CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_AQUA: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_BLACKBOARD: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_MONO: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_NEGATIVE: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_POSTERIZE: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_SEPIA: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_SOLARIZE: typing.ClassVar[int] = ...
    CONTROL_EFFECT_MODE_WHITEBOARD: typing.ClassVar[int] = ...
    CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS: typing.ClassVar[int] = ...
    CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE: typing.ClassVar[int] = ...
    CONTROL_EXTENDED_SCENE_MODE_DISABLED: typing.ClassVar[int] = ...
    CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE: typing.ClassVar[int] = ...
    CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE: typing.ClassVar[int] = ...
    CONTROL_MODE_AUTO: typing.ClassVar[int] = ...
    CONTROL_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_MODE_OFF_KEEP_STATE: typing.ClassVar[int] = ...
    CONTROL_MODE_USE_EXTENDED_SCENE_MODE: typing.ClassVar[int] = ...
    CONTROL_MODE_USE_SCENE_MODE: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_ACTION: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_BARCODE: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_BEACH: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_CANDLELIGHT: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_DISABLED: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_FACE_PRIORITY: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_FIREWORKS: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_HDR: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_LANDSCAPE: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_NIGHT: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_NIGHT_PORTRAIT: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_PARTY: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_PORTRAIT: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_SNOW: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_SPORTS: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_STEADYPHOTO: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_SUNSET: typing.ClassVar[int] = ...
    CONTROL_SCENE_MODE_THEATRE: typing.ClassVar[int] = ...
    CONTROL_SETTINGS_OVERRIDE_OFF: typing.ClassVar[int] = ...
    CONTROL_SETTINGS_OVERRIDE_ZOOM: typing.ClassVar[int] = ...
    CONTROL_VIDEO_STABILIZATION_MODE_OFF: typing.ClassVar[int] = ...
    CONTROL_VIDEO_STABILIZATION_MODE_ON: typing.ClassVar[int] = ...
    CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION: typing.ClassVar[int] = ...
    CONTROL_ZOOM_METHOD_AUTO: typing.ClassVar[int] = ...
    CONTROL_ZOOM_METHOD_ZOOM_RATIO: typing.ClassVar[int] = ...
    DISTORTION_CORRECTION_MODE_FAST: typing.ClassVar[int] = ...
    DISTORTION_CORRECTION_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    DISTORTION_CORRECTION_MODE_OFF: typing.ClassVar[int] = ...
    EDGE_MODE_FAST: typing.ClassVar[int] = ...
    EDGE_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    EDGE_MODE_OFF: typing.ClassVar[int] = ...
    EDGE_MODE_ZERO_SHUTTER_LAG: typing.ClassVar[int] = ...
    EXTENSION_NIGHT_MODE_INDICATOR_OFF: typing.ClassVar[int] = ...
    EXTENSION_NIGHT_MODE_INDICATOR_ON: typing.ClassVar[int] = ...
    EXTENSION_NIGHT_MODE_INDICATOR_UNKNOWN: typing.ClassVar[int] = ...
    FLASH_MODE_OFF: typing.ClassVar[int] = ...
    FLASH_MODE_SINGLE: typing.ClassVar[int] = ...
    FLASH_MODE_TORCH: typing.ClassVar[int] = ...
    FLASH_STATE_CHARGING: typing.ClassVar[int] = ...
    FLASH_STATE_FIRED: typing.ClassVar[int] = ...
    FLASH_STATE_PARTIAL: typing.ClassVar[int] = ...
    FLASH_STATE_READY: typing.ClassVar[int] = ...
    FLASH_STATE_UNAVAILABLE: typing.ClassVar[int] = ...
    HOT_PIXEL_MODE_FAST: typing.ClassVar[int] = ...
    HOT_PIXEL_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    HOT_PIXEL_MODE_OFF: typing.ClassVar[int] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL_3: typing.ClassVar[int] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL: typing.ClassVar[int] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL_FULL: typing.ClassVar[int] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY: typing.ClassVar[int] = ...
    INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED: typing.ClassVar[int] = ...
    LENS_FACING_BACK: typing.ClassVar[int] = ...
    LENS_FACING_EXTERNAL: typing.ClassVar[int] = ...
    LENS_FACING_FRONT: typing.ClassVar[int] = ...
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE: typing.ClassVar[int] = ...
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED: typing.ClassVar[int] = ...
    LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED: typing.ClassVar[int] = ...
    LENS_OPTICAL_STABILIZATION_MODE_OFF: typing.ClassVar[int] = ...
    LENS_OPTICAL_STABILIZATION_MODE_ON: typing.ClassVar[int] = ...
    LENS_POSE_REFERENCE_AUTOMOTIVE: typing.ClassVar[int] = ...
    LENS_POSE_REFERENCE_GYROSCOPE: typing.ClassVar[int] = ...
    LENS_POSE_REFERENCE_PRIMARY_CAMERA: typing.ClassVar[int] = ...
    LENS_POSE_REFERENCE_UNDEFINED: typing.ClassVar[int] = ...
    LENS_STATE_MOVING: typing.ClassVar[int] = ...
    LENS_STATE_STATIONARY: typing.ClassVar[int] = ...
    LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE: typing.ClassVar[int] = ...
    LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED: typing.ClassVar[int] = ...
    NOISE_REDUCTION_MODE_FAST: typing.ClassVar[int] = ...
    NOISE_REDUCTION_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    NOISE_REDUCTION_MODE_MINIMAL: typing.ClassVar[int] = ...
    NOISE_REDUCTION_MODE_OFF: typing.ClassVar[int] = ...
    NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_COLOR_SPACE_PROFILES: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_RAW: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR: typing.ClassVar[int] = ...
    REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL: typing.ClassVar[int] = ...
    SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD: typing.ClassVar[int] = ...
    SCALER_CROPPING_TYPE_CENTER_ONLY: typing.ClassVar[int] = ...
    SCALER_CROPPING_TYPE_FREEFORM: typing.ClassVar[int] = ...
    SCALER_ROTATE_AND_CROP_180: typing.ClassVar[int] = ...
    SCALER_ROTATE_AND_CROP_270: typing.ClassVar[int] = ...
    SCALER_ROTATE_AND_CROP_90: typing.ClassVar[int] = ...
    SCALER_ROTATE_AND_CROP_AUTO: typing.ClassVar[int] = ...
    SCALER_ROTATE_AND_CROP_NONE: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB: typing.ClassVar[int] = ...
    SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB: typing.ClassVar[int] = ...
    SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME: typing.ClassVar[int] = ...
    SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN: typing.ClassVar[int] = ...
    SENSOR_PIXEL_MODE_DEFAULT: typing.ClassVar[int] = ...
    SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION: typing.ClassVar[int] = ...
    SENSOR_READOUT_TIMESTAMP_HARDWARE: typing.ClassVar[int] = ...
    SENSOR_READOUT_TIMESTAMP_NOT_SUPPORTED: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_D50: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_D55: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_D65: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_D75: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_FLASH: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_SHADE: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN: typing.ClassVar[int] = ...
    SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_COLOR_BARS: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_CUSTOM1: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_OFF: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_PN9: typing.ClassVar[int] = ...
    SENSOR_TEST_PATTERN_MODE_SOLID_COLOR: typing.ClassVar[int] = ...
    SHADING_MODE_FAST: typing.ClassVar[int] = ...
    SHADING_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    SHADING_MODE_OFF: typing.ClassVar[int] = ...
    STATISTICS_FACE_DETECT_MODE_FULL: typing.ClassVar[int] = ...
    STATISTICS_FACE_DETECT_MODE_OFF: typing.ClassVar[int] = ...
    STATISTICS_FACE_DETECT_MODE_SIMPLE: typing.ClassVar[int] = ...
    STATISTICS_LENS_SHADING_MAP_MODE_OFF: typing.ClassVar[int] = ...
    STATISTICS_LENS_SHADING_MAP_MODE_ON: typing.ClassVar[int] = ...
    STATISTICS_OIS_DATA_MODE_OFF: typing.ClassVar[int] = ...
    STATISTICS_OIS_DATA_MODE_ON: typing.ClassVar[int] = ...
    STATISTICS_SCENE_FLICKER_50HZ: typing.ClassVar[int] = ...
    STATISTICS_SCENE_FLICKER_60HZ: typing.ClassVar[int] = ...
    STATISTICS_SCENE_FLICKER_NONE: typing.ClassVar[int] = ...
    SYNC_MAX_LATENCY_PER_FRAME_CONTROL: typing.ClassVar[int] = ...
    SYNC_MAX_LATENCY_UNKNOWN: typing.ClassVar[int] = ...
    TONEMAP_MODE_CONTRAST_CURVE: typing.ClassVar[int] = ...
    TONEMAP_MODE_FAST: typing.ClassVar[int] = ...
    TONEMAP_MODE_GAMMA_VALUE: typing.ClassVar[int] = ...
    TONEMAP_MODE_HIGH_QUALITY: typing.ClassVar[int] = ...
    TONEMAP_MODE_PRESET_CURVE: typing.ClassVar[int] = ...
    TONEMAP_PRESET_CURVE_REC709: typing.ClassVar[int] = ...
    TONEMAP_PRESET_CURVE_SRGB: typing.ClassVar[int] = ...
    def getKeys(self) -> java.util.List[_CameraMetadata__TKey]: ...

class CameraOfflineSession(CameraCaptureSession):
    def __init__(self) -> None: ...
    def close(self) -> None: ...

    class CameraOfflineSessionCallback(java.lang.Object):
        STATUS_INTERNAL_ERROR: typing.ClassVar[int] = ...
        def __init__(self) -> None: ...
        def onClosed(self, arg1: CameraOfflineSession, /) -> None: ...
        def onError(self, arg1: CameraOfflineSession, arg2: int | java.jint | java.lang.Integer, /) -> None: ...
        def onIdle(self, arg1: CameraOfflineSession, /) -> None: ...
        def onReady(self, arg1: CameraOfflineSession, /) -> None: ...
        def onSwitchFailed(self, arg1: CameraOfflineSession, /) -> None: ...

class CaptureFailure(java.lang.Object):
    REASON_ERROR: typing.ClassVar[int] = ...
    REASON_FLUSHED: typing.ClassVar[int] = ...
    def getFrameNumber(self) -> int: ...
    def getPhysicalCameraId(self) -> str | None: ...
    def getReason(self) -> int: ...
    def getRequest(self) -> CaptureRequest: ...
    def getSequenceId(self) -> int: ...
    def wasImageCaptured(self) -> bool: ...


_CaptureRequest__Key__T = typing.TypeVar('_CaptureRequest__Key__T')  # <T>
class CaptureRequest(CameraMetadata[CaptureRequest.Key[java.lang.Object]], android.os.Parcelable):
    BLACK_LEVEL_LOCK: typing.ClassVar[CaptureRequest.Key[java.lang.Boolean]] = ...
    COLOR_CORRECTION_ABERRATION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_COLOR_TEMPERATURE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_COLOR_TINT: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_GAINS: typing.ClassVar[CaptureRequest.Key[android.hardware.camera2.params.RggbChannelVector]] = ...
    COLOR_CORRECTION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_TRANSFORM: typing.ClassVar[CaptureRequest.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    CONTROL_AE_ANTIBANDING_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AE_EXPOSURE_COMPENSATION: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AE_LOCK: typing.ClassVar[CaptureRequest.Key[java.lang.Boolean]] = ...
    CONTROL_AE_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AE_PRECAPTURE_TRIGGER: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AE_PRIORITY_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AE_REGIONS: typing.ClassVar[CaptureRequest.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_AE_TARGET_FPS_RANGE: typing.ClassVar[CaptureRequest.Key[android.util.Range[java.lang.Integer]]] = ...
    CONTROL_AF_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AF_REGIONS: typing.ClassVar[CaptureRequest.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_AF_TRIGGER: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AUTOFRAMING: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AWB_LOCK: typing.ClassVar[CaptureRequest.Key[java.lang.Boolean]] = ...
    CONTROL_AWB_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_AWB_REGIONS: typing.ClassVar[CaptureRequest.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_CAPTURE_INTENT: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_EFFECT_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_ENABLE_ZSL: typing.ClassVar[CaptureRequest.Key[java.lang.Boolean]] = ...
    CONTROL_EXTENDED_SCENE_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_POST_RAW_SENSITIVITY_BOOST: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_SCENE_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_SETTINGS_OVERRIDE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_VIDEO_STABILIZATION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_ZOOM_METHOD: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    CONTROL_ZOOM_RATIO: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[CaptureRequest]] = ...
    DISTORTION_CORRECTION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    EDGE_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    EXTENSION_STRENGTH: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    FLASH_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    FLASH_STRENGTH_LEVEL: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    HOT_PIXEL_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    JPEG_GPS_LOCATION: typing.ClassVar[CaptureRequest.Key[android.location.Location]] = ...
    JPEG_ORIENTATION: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    JPEG_QUALITY: typing.ClassVar[CaptureRequest.Key[java.lang.Byte]] = ...
    JPEG_THUMBNAIL_QUALITY: typing.ClassVar[CaptureRequest.Key[java.lang.Byte]] = ...
    JPEG_THUMBNAIL_SIZE: typing.ClassVar[CaptureRequest.Key[android.util.Size]] = ...
    LENS_APERTURE: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    LENS_FILTER_DENSITY: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    LENS_FOCAL_LENGTH: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    LENS_FOCUS_DISTANCE: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    LENS_OPTICAL_STABILIZATION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    NOISE_REDUCTION_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    SCALER_CROP_REGION: typing.ClassVar[CaptureRequest.Key[android.graphics.Rect]] = ...
    SCALER_ROTATE_AND_CROP: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    SENSOR_EXPOSURE_TIME: typing.ClassVar[CaptureRequest.Key[java.lang.Long]] = ...
    SENSOR_FRAME_DURATION: typing.ClassVar[CaptureRequest.Key[java.lang.Long]] = ...
    SENSOR_PIXEL_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    SENSOR_SENSITIVITY: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    SENSOR_TEST_PATTERN_DATA: typing.ClassVar[CaptureRequest.Key[java.chaquopy.JavaArrayJInt]] = ...
    SENSOR_TEST_PATTERN_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    SHADING_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    STATISTICS_FACE_DETECT_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    STATISTICS_HOT_PIXEL_MAP_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Boolean]] = ...
    STATISTICS_LENS_SHADING_MAP_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    STATISTICS_OIS_DATA_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    TONEMAP_CURVE: typing.ClassVar[CaptureRequest.Key[android.hardware.camera2.params.TonemapCurve]] = ...
    TONEMAP_GAMMA: typing.ClassVar[CaptureRequest.Key[java.lang.Float]] = ...
    TONEMAP_MODE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    TONEMAP_PRESET_CURVE: typing.ClassVar[CaptureRequest.Key[java.lang.Integer]] = ...
    def describeContents(self) -> int: ...
    def equals(self, other: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def finalize(self) -> None: ...
    _get__T = typing.TypeVar('_get__T')  # <T>
    def get(self, key: CaptureRequest.Key[_get__T], /) -> _get__T | None: ...
    def getKeys(self) -> java.util.List[CaptureRequest.Key[java.lang.Object]]: ...
    def getTag(self) -> java.lang.Object | None: ...
    def hashCode(self) -> int: ...
    def isReprocess(self) -> bool: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
    class Key(java.lang.Object, typing.Generic[_CaptureRequest__Key__T]):
        def __init__(self, name: str | java.lang.String, type: typing.Type[_CaptureRequest__Key__T], /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getName(self) -> str: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...

    class Builder(java.lang.Object):
        def addTarget(self, outputTarget: android.view.Surface, /) -> None: ...
        def build(self) -> CaptureRequest: ...
        _get__T = typing.TypeVar('_get__T')  # <T>
        def get(self, key: CaptureRequest.Key[_get__T], /) -> _get__T: ...
        _getPhysicalCameraKey__T = typing.TypeVar('_getPhysicalCameraKey__T')  # <T>
        def getPhysicalCameraKey(self, key: CaptureRequest.Key[_getPhysicalCameraKey__T], physicalCameraId: str | java.lang.String, /) -> _getPhysicalCameraKey__T: ...
        def removeTarget(self, outputTarget: android.view.Surface, /) -> None: ...
        _set__T = typing.TypeVar('_set__T')  # <T>
        def set(self, key: CaptureRequest.Key[_set__T], value: _set__T, /) -> None: ...
        _setPhysicalCameraKey__T = typing.TypeVar('_setPhysicalCameraKey__T')  # <T>
        def setPhysicalCameraKey(self, key: CaptureRequest.Key[_setPhysicalCameraKey__T], value: _setPhysicalCameraKey__T, physicalCameraId: str | java.lang.String, /) -> CaptureRequest.Builder: ...
        def setTag(self, tag: java.lang.Object | int | bool | float | str, /) -> None: ...


_CaptureResult__Key__T = typing.TypeVar('_CaptureResult__Key__T')  # <T>
class CaptureResult(CameraMetadata[CaptureResult.Key[java.lang.Object]]):
    BLACK_LEVEL_LOCK: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    COLOR_CORRECTION_ABERRATION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_COLOR_TEMPERATURE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_COLOR_TINT: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_GAINS: typing.ClassVar[CaptureResult.Key[android.hardware.camera2.params.RggbChannelVector]] = ...
    COLOR_CORRECTION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    COLOR_CORRECTION_TRANSFORM: typing.ClassVar[CaptureResult.Key[android.hardware.camera2.params.ColorSpaceTransform]] = ...
    CONTROL_AE_ANTIBANDING_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_EXPOSURE_COMPENSATION: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_LOCK: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    CONTROL_AE_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_PRECAPTURE_TRIGGER: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_PRIORITY_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_REGIONS: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_AE_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AE_TARGET_FPS_RANGE: typing.ClassVar[CaptureResult.Key[android.util.Range[java.lang.Integer]]] = ...
    CONTROL_AF_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AF_REGIONS: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_AF_SCENE_CHANGE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AF_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AF_TRIGGER: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AUTOFRAMING: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AUTOFRAMING_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AWB_LOCK: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    CONTROL_AWB_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_AWB_REGIONS: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.MeteringRectangle]]] = ...
    CONTROL_AWB_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_CAPTURE_INTENT: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_EFFECT_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_ENABLE_ZSL: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    CONTROL_EXTENDED_SCENE_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_LOW_LIGHT_BOOST_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_POST_RAW_SENSITIVITY_BOOST: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_SCENE_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_SETTINGS_OVERRIDE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_VIDEO_STABILIZATION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_ZOOM_METHOD: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    CONTROL_ZOOM_RATIO: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    DISTORTION_CORRECTION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    EDGE_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    EXTENSION_CURRENT_TYPE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    EXTENSION_NIGHT_MODE_INDICATOR: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    EXTENSION_STRENGTH: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    FLASH_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    FLASH_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    FLASH_STRENGTH_LEVEL: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    HOT_PIXEL_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    JPEG_GPS_LOCATION: typing.ClassVar[CaptureResult.Key[android.location.Location]] = ...
    JPEG_ORIENTATION: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    JPEG_QUALITY: typing.ClassVar[CaptureResult.Key[java.lang.Byte]] = ...
    JPEG_THUMBNAIL_QUALITY: typing.ClassVar[CaptureResult.Key[java.lang.Byte]] = ...
    JPEG_THUMBNAIL_SIZE: typing.ClassVar[CaptureResult.Key[android.util.Size]] = ...
    LENS_APERTURE: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    LENS_DISTORTION: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_FILTER_DENSITY: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    LENS_FOCAL_LENGTH: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    LENS_FOCUS_DISTANCE: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    LENS_FOCUS_RANGE: typing.ClassVar[CaptureResult.Key[android.util.Pair[java.lang.Float, java.lang.Float]]] = ...
    LENS_INTRINSIC_CALIBRATION: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_OPTICAL_STABILIZATION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    LENS_POSE_ROTATION: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_POSE_TRANSLATION: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_RADIAL_DISTORTION: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    LENS_STATE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: typing.ClassVar[CaptureResult.Key[java.lang.String]] = ...
    LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION: typing.ClassVar[CaptureResult.Key[android.graphics.Rect]] = ...
    NOISE_REDUCTION_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    REPROCESS_EFFECTIVE_EXPOSURE_FACTOR: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    REQUEST_PIPELINE_DEPTH: typing.ClassVar[CaptureResult.Key[java.lang.Byte]] = ...
    SCALER_CROP_REGION: typing.ClassVar[CaptureResult.Key[android.graphics.Rect]] = ...
    SCALER_RAW_CROP_REGION: typing.ClassVar[CaptureResult.Key[android.graphics.Rect]] = ...
    SCALER_ROTATE_AND_CROP: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    SENSOR_DYNAMIC_BLACK_LEVEL: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJFloat]] = ...
    SENSOR_DYNAMIC_WHITE_LEVEL: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    SENSOR_EXPOSURE_TIME: typing.ClassVar[CaptureResult.Key[java.lang.Long]] = ...
    SENSOR_FRAME_DURATION: typing.ClassVar[CaptureResult.Key[java.lang.Long]] = ...
    SENSOR_GREEN_SPLIT: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    SENSOR_NEUTRAL_COLOR_POINT: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.util.Rational]]] = ...
    SENSOR_NOISE_PROFILE: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.util.Pair[java.lang.Double, java.lang.Double]]]] = ...
    SENSOR_PIXEL_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    SENSOR_RAW_BINNING_FACTOR_USED: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    SENSOR_ROLLING_SHUTTER_SKEW: typing.ClassVar[CaptureResult.Key[java.lang.Long]] = ...
    SENSOR_SENSITIVITY: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    SENSOR_TEST_PATTERN_DATA: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArrayJInt]] = ...
    SENSOR_TEST_PATTERN_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    SENSOR_TIMESTAMP: typing.ClassVar[CaptureResult.Key[java.lang.Long]] = ...
    SHADING_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    STATISTICS_FACES: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.Face]]] = ...
    STATISTICS_FACE_DETECT_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    STATISTICS_HOT_PIXEL_MAP: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.graphics.Point]]] = ...
    STATISTICS_HOT_PIXEL_MAP_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Boolean]] = ...
    STATISTICS_LENS_INTRINSICS_SAMPLES: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.LensIntrinsicsSample]]] = ...
    STATISTICS_LENS_SHADING_CORRECTION_MAP: typing.ClassVar[CaptureResult.Key[android.hardware.camera2.params.LensShadingMap]] = ...
    STATISTICS_LENS_SHADING_MAP_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    STATISTICS_OIS_DATA_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    STATISTICS_OIS_SAMPLES: typing.ClassVar[CaptureResult.Key[java.chaquopy.JavaArray[android.hardware.camera2.params.OisSample]]] = ...
    STATISTICS_SCENE_FLICKER: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    TONEMAP_CURVE: typing.ClassVar[CaptureResult.Key[android.hardware.camera2.params.TonemapCurve]] = ...
    TONEMAP_GAMMA: typing.ClassVar[CaptureResult.Key[java.lang.Float]] = ...
    TONEMAP_MODE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    TONEMAP_PRESET_CURVE: typing.ClassVar[CaptureResult.Key[java.lang.Integer]] = ...
    _get__T = typing.TypeVar('_get__T')  # <T>
    def get(self, key: CaptureResult.Key[_get__T], /) -> _get__T | None: ...
    def getCameraId(self) -> str: ...
    def getFrameNumber(self) -> int: ...
    def getKeys(self) -> java.util.List[CaptureResult.Key[java.lang.Object]]: ...
    def getRequest(self) -> CaptureRequest: ...
    def getSequenceId(self) -> int: ...
    class Key(java.lang.Object, typing.Generic[_CaptureResult__Key__T]):
        def __init__(self, name: str | java.lang.String, type: typing.Type[_CaptureResult__Key__T], /) -> None: ...
        def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getName(self) -> str: ...
        def hashCode(self) -> int: ...
        def toString(self) -> str: ...

class DngCreator(java.lang.AutoCloseable):
    MAX_THUMBNAIL_DIMENSION: typing.ClassVar[int] = ...
    def __init__(self, characteristics: CameraCharacteristics, metadata: CaptureResult, /) -> None: ...
    def close(self) -> None: ...
    def finalize(self) -> None: ...
    def setDescription(self, description: str | java.lang.String, /) -> DngCreator: ...
    def setLocation(self, location: android.location.Location, /) -> DngCreator: ...
    def setOrientation(self, orientation: int | java.jint | java.lang.Integer, /) -> DngCreator: ...
    @typing.overload
    def setThumbnail(self, pixels: android.graphics.Bitmap, /) -> DngCreator: ...
    @typing.overload
    def setThumbnail(self, pixels: android.media.Image, /) -> DngCreator: ...
    def writeByteBuffer(self, dngOutput: java.io.OutputStream, size: android.util.Size, pixels: java.nio.ByteBuffer, offset: int | java.jlong | java.lang.Long, /) -> None: ...
    def writeImage(self, dngOutput: java.io.OutputStream, pixels: android.media.Image, /) -> None: ...
    def writeInputStream(self, dngOutput: java.io.OutputStream, size: android.util.Size, pixels: java.io.InputStream, offset: int | java.jlong | java.lang.Long, /) -> None: ...

class MultiResolutionImageReader(java.lang.AutoCloseable):
    @typing.overload
    def __init__(self, streams: java.util.Collection[android.hardware.camera2.params.MultiResolutionStreamInfo], format: int | java.jint | java.lang.Integer, maxImages: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, streams: java.util.Collection[android.hardware.camera2.params.MultiResolutionStreamInfo], format: int | java.jint | java.lang.Integer, maxImages: int | java.jint | java.lang.Integer, usage: int | java.jlong | java.lang.Long, /) -> None: ...
    def close(self) -> None: ...
    def finalize(self) -> None: ...
    def flush(self) -> None: ...
    def getStreamInfoForImageReader(self, reader: android.media.ImageReader, /) -> android.hardware.camera2.params.MultiResolutionStreamInfo: ...
    def getSurface(self) -> android.view.Surface: ...
    def setOnImageAvailableListener(self, listener: android.media.ImageReader.OnImageAvailableListener, executor: java.util.concurrent.Executor, /) -> None: ...

class TotalCaptureResult(CaptureResult):
    def getPartialResults(self) -> java.util.List[CaptureResult]: ...
    def getPhysicalCameraResults(self) -> java.util.Map[java.lang.String, CaptureResult]: ...
    def getPhysicalCameraTotalResults(self) -> java.util.Map[java.lang.String, TotalCaptureResult]: ...
