# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtSensors, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtSensors`

import PySide6.QtSensors
import PySide6.QtCore

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QAccelerometer(PySide6.QtSensors.QSensor):

    accelerationModeChanged  : typing.ClassVar[Signal] = ... # accelerationModeChanged(AccelerationMode)

    class AccelerationMode(enum.Enum):

        Combined                  = 0x0
        Gravity                   = 0x1
        User                      = 0x2


class QAccelerometerFilter(PySide6.QtSensors.QSensorFilter): ...


class QAccelerometerReading(PySide6.QtSensors.QSensorReading): ...


class QAmbientLightFilter(PySide6.QtSensors.QSensorFilter): ...


class QAmbientLightReading(PySide6.QtSensors.QSensorReading):

    class LightLevel(enum.Enum):

        Undefined                 = 0x0
        Dark                      = 0x1
        Twilight                  = 0x2
        Light                     = 0x3
        Bright                    = 0x4
        Sunny                     = 0x5


class QAmbientLightSensor(PySide6.QtSensors.QSensor): ...


class QAmbientTemperatureFilter(PySide6.QtSensors.QSensorFilter): ...


class QAmbientTemperatureReading(PySide6.QtSensors.QSensorReading): ...


class QAmbientTemperatureSensor(PySide6.QtSensors.QSensor): ...


class QCompass(PySide6.QtSensors.QSensor): ...


class QCompassFilter(PySide6.QtSensors.QSensorFilter): ...


class QCompassReading(PySide6.QtSensors.QSensorReading): ...


class QGyroscope(PySide6.QtSensors.QSensor): ...


class QGyroscopeFilter(PySide6.QtSensors.QSensorFilter): ...


class QGyroscopeReading(PySide6.QtSensors.QSensorReading): ...


class QHumidityFilter(PySide6.QtSensors.QSensorFilter): ...


class QHumidityReading(PySide6.QtSensors.QSensorReading): ...


class QHumiditySensor(PySide6.QtSensors.QSensor): ...


class QIRProximityFilter(PySide6.QtSensors.QSensorFilter): ...


class QIRProximityReading(PySide6.QtSensors.QSensorReading): ...


class QIRProximitySensor(PySide6.QtSensors.QSensor): ...


class QIntList: ...


class QLidFilter(PySide6.QtSensors.QSensorFilter): ...


class QLidReading(PySide6.QtSensors.QSensorReading):

    backLidChanged           : typing.ClassVar[Signal] = ... # backLidChanged(bool)
    frontLidChanged          : typing.ClassVar[Signal] = ... # frontLidChanged(bool)


class QLidSensor(PySide6.QtSensors.QSensor): ...


class QLightFilter(PySide6.QtSensors.QSensorFilter): ...


class QLightReading(PySide6.QtSensors.QSensorReading): ...


class QLightSensor(PySide6.QtSensors.QSensor):

    fieldOfViewChanged       : typing.ClassVar[Signal] = ... # fieldOfViewChanged(double)


class QMagnetometer(PySide6.QtSensors.QSensor):

    returnGeoValuesChanged   : typing.ClassVar[Signal] = ... # returnGeoValuesChanged(bool)


class QMagnetometerFilter(PySide6.QtSensors.QSensorFilter): ...


class QMagnetometerReading(PySide6.QtSensors.QSensorReading): ...


class QOrientationFilter(PySide6.QtSensors.QSensorFilter): ...


class QOrientationReading(PySide6.QtSensors.QSensorReading):

    class Orientation(enum.Enum):

        Undefined                 = 0x0
        TopUp                     = 0x1
        TopDown                   = 0x2
        LeftUp                    = 0x3
        RightUp                   = 0x4
        FaceUp                    = 0x5
        FaceDown                  = 0x6


class QOrientationSensor(PySide6.QtSensors.QSensor): ...


class QPressureFilter(PySide6.QtSensors.QSensorFilter): ...


class QPressureReading(PySide6.QtSensors.QSensorReading): ...


class QPressureSensor(PySide6.QtSensors.QSensor): ...


class QProximityFilter(PySide6.QtSensors.QSensorFilter): ...


class QProximityReading(PySide6.QtSensors.QSensorReading): ...


class QProximitySensor(PySide6.QtSensors.QSensor): ...


class QRotationFilter(PySide6.QtSensors.QSensorFilter): ...


class QRotationReading(PySide6.QtSensors.QSensorReading): ...


class QRotationSensor(PySide6.QtSensors.QSensor):

    hasZChanged              : typing.ClassVar[Signal] = ... # hasZChanged(bool)


class QSensor(PySide6.QtCore.QObject):

    activeChanged            : typing.ClassVar[Signal] = ... # activeChanged()
    alwaysOnChanged          : typing.ClassVar[Signal] = ... # alwaysOnChanged()
    availableSensorsChanged  : typing.ClassVar[Signal] = ... # availableSensorsChanged()
    axesOrientationModeChanged: typing.ClassVar[Signal] = ... # axesOrientationModeChanged(AxesOrientationMode)
    bufferSizeChanged        : typing.ClassVar[Signal] = ... # bufferSizeChanged(int)
    busyChanged              : typing.ClassVar[Signal] = ... # busyChanged()
    currentOrientationChanged: typing.ClassVar[Signal] = ... # currentOrientationChanged(int)
    dataRateChanged          : typing.ClassVar[Signal] = ... # dataRateChanged()
    efficientBufferSizeChanged: typing.ClassVar[Signal] = ... # efficientBufferSizeChanged(int)
    identifierChanged        : typing.ClassVar[Signal] = ... # identifierChanged()
    maxBufferSizeChanged     : typing.ClassVar[Signal] = ... # maxBufferSizeChanged(int)
    readingChanged           : typing.ClassVar[Signal] = ... # readingChanged()
    sensorError              : typing.ClassVar[Signal] = ... # sensorError(int)
    skipDuplicatesChanged    : typing.ClassVar[Signal] = ... # skipDuplicatesChanged(bool)
    userOrientationChanged   : typing.ClassVar[Signal] = ... # userOrientationChanged(int)

    class AxesOrientationMode(enum.Enum):

        FixedOrientation          = 0x0
        AutomaticOrientation      = 0x1
        UserOrientation           = 0x2

    class Feature(enum.Enum):

        Buffering                 = 0x0
        AlwaysOn                  = 0x1
        GeoValues                 = 0x2
        FieldOfView               = 0x3
        AccelerationMode          = 0x4
        SkipDuplicates            = 0x5
        AxesOrientation           = 0x6
        PressureSensorTemperature = 0x7
        Reserved                  = 0x101


class QSensorBackend(PySide6.QtCore.QObject): ...


class QSensorBackendFactory(Shiboken.Object): ...


class QSensorChangesInterface(Shiboken.Object): ...


class QSensorFilter(Shiboken.Object): ...


class QSensorManager(Shiboken.Object): ...


class QSensorPluginInterface(Shiboken.Object): ...


class QSensorReading(PySide6.QtCore.QObject): ...


class QTapFilter(PySide6.QtSensors.QSensorFilter): ...


class QTapReading(PySide6.QtSensors.QSensorReading):

    class TapDirection(enum.Enum):

        Undefined                 = 0x0
        X                         = 0x1
        Y                         = 0x2
        Z                         = 0x4
        X_Pos                     = 0x11
        Y_Pos                     = 0x22
        Z_Pos                     = 0x44
        X_Neg                     = 0x101
        X_Both                    = 0x111
        Y_Neg                     = 0x202
        Y_Both                    = 0x222
        Z_Neg                     = 0x404
        Z_Both                    = 0x444


class QTapSensor(PySide6.QtSensors.QSensor):

    returnDoubleTapEventsChanged: typing.ClassVar[Signal] = ... # returnDoubleTapEventsChanged(bool)


class QTiltFilter(PySide6.QtSensors.QSensorFilter): ...


class QTiltReading(PySide6.QtSensors.QSensorReading): ...


class QTiltSensor(PySide6.QtSensors.QSensor): ...


class qoutputrange(Shiboken.Object): ...


# eof
