"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright (c) farm-ng, inc.

Licensed under the Amiga Development Kit License (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://github.com/farm-ng/amiga-dev-kit/blob/main/LICENSE

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _EncoderProfile:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _EncoderProfileEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EncoderProfile.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    H264_BASELINE: _EncoderProfile.ValueType  # 0
    H264_HIGH: _EncoderProfile.ValueType  # 1
    H264_MAIN: _EncoderProfile.ValueType  # 2
    H265_MAIN: _EncoderProfile.ValueType  # 3
    MJPEG: _EncoderProfile.ValueType  # 4

class EncoderProfile(_EncoderProfile, metaclass=_EncoderProfileEnumTypeWrapper):
    """The encoding format for the video stream
    https://docs.luxonis.com/projects/api/en/latest/references/python/#depthai.VideoEncoderProperties.Profile
    """

H264_BASELINE: EncoderProfile.ValueType  # 0
H264_HIGH: EncoderProfile.ValueType  # 1
H264_MAIN: EncoderProfile.ValueType  # 2
H265_MAIN: EncoderProfile.ValueType  # 3
MJPEG: EncoderProfile.ValueType  # 4
global___EncoderProfile = EncoderProfile

class _RateControlMode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RateControlModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RateControlMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CBR: _RateControlMode.ValueType  # 0
    """Constant Bit Rate"""
    VBR: _RateControlMode.ValueType  # 1
    """Variable Bit Rate"""

class RateControlMode(_RateControlMode, metaclass=_RateControlModeEnumTypeWrapper):
    """The rate control mode for the video stream
    https://docs.luxonis.com/projects/api/en/latest/references/python/#depthai.VideoEncoderProperties.RateControlMode
    """

CBR: RateControlMode.ValueType  # 0
"""Constant Bit Rate"""
VBR: RateControlMode.ValueType  # 1
"""Variable Bit Rate"""
global___RateControlMode = RateControlMode

class _PixelFormat:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PixelFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PixelFormat.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN: _PixelFormat.ValueType  # 0
    YUV420: _PixelFormat.ValueType  # 1
    RAW8: _PixelFormat.ValueType  # 2
    Encoded: _PixelFormat.ValueType  # 3

class PixelFormat(_PixelFormat, metaclass=_PixelFormatEnumTypeWrapper): ...

UNKNOWN: PixelFormat.ValueType  # 0
YUV420: PixelFormat.ValueType  # 1
RAW8: PixelFormat.ValueType  # 2
Encoded: PixelFormat.ValueType  # 3
global___PixelFormat = PixelFormat

@typing.final
class Vec2I64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    x: builtins.int
    y: builtins.int
    def __init__(
        self,
        *,
        x: builtins.int = ...,
        y: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ...

global___Vec2I64 = Vec2I64

@typing.final
class Vec2F32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    x: builtins.float
    y: builtins.float
    def __init__(
        self,
        *,
        x: builtins.float = ...,
        y: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ...

global___Vec2F32 = Vec2F32

@typing.final
class Vec2F64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    x: builtins.float
    y: builtins.float
    def __init__(
        self,
        *,
        x: builtins.float = ...,
        y: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y"]) -> None: ...

global___Vec2F64 = Vec2F64

@typing.final
class Vec3I64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    x: builtins.int
    y: builtins.int
    z: builtins.int
    def __init__(
        self,
        *,
        x: builtins.int = ...,
        y: builtins.int = ...,
        z: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y", "z", b"z"]) -> None: ...

global___Vec3I64 = Vec3I64

@typing.final
class Vec3F32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    x: builtins.float
    y: builtins.float
    z: builtins.float
    def __init__(
        self,
        *,
        x: builtins.float = ...,
        y: builtins.float = ...,
        z: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y", "z", b"z"]) -> None: ...

global___Vec3F32 = Vec3F32

@typing.final
class Vec3F64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    X_FIELD_NUMBER: builtins.int
    Y_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    x: builtins.float
    y: builtins.float
    z: builtins.float
    def __init__(
        self,
        *,
        x: builtins.float = ...,
        y: builtins.float = ...,
        z: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["x", b"x", "y", b"y", "z", b"z"]) -> None: ...

global___Vec3F64 = Vec3F64

@typing.final
class Mat2F32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COL_0_FIELD_NUMBER: builtins.int
    COL_1_FIELD_NUMBER: builtins.int
    @property
    def col_0(self) -> global___Vec2F32: ...
    @property
    def col_1(self) -> global___Vec2F32: ...
    def __init__(
        self,
        *,
        col_0: global___Vec2F32 | None = ...,
        col_1: global___Vec2F32 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1"]) -> None: ...

global___Mat2F32 = Mat2F32

@typing.final
class Mat2F64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COL_0_FIELD_NUMBER: builtins.int
    COL_1_FIELD_NUMBER: builtins.int
    @property
    def col_0(self) -> global___Vec2F64: ...
    @property
    def col_1(self) -> global___Vec2F64: ...
    def __init__(
        self,
        *,
        col_0: global___Vec2F64 | None = ...,
        col_1: global___Vec2F64 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1"]) -> None: ...

global___Mat2F64 = Mat2F64

@typing.final
class Mat3F32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COL_0_FIELD_NUMBER: builtins.int
    COL_1_FIELD_NUMBER: builtins.int
    COL_2_FIELD_NUMBER: builtins.int
    @property
    def col_0(self) -> global___Vec3F32: ...
    @property
    def col_1(self) -> global___Vec3F32: ...
    @property
    def col_2(self) -> global___Vec3F32: ...
    def __init__(
        self,
        *,
        col_0: global___Vec3F32 | None = ...,
        col_1: global___Vec3F32 | None = ...,
        col_2: global___Vec3F32 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1", "col_2", b"col_2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1", "col_2", b"col_2"]) -> None: ...

global___Mat3F32 = Mat3F32

@typing.final
class Mat3F64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COL_0_FIELD_NUMBER: builtins.int
    COL_1_FIELD_NUMBER: builtins.int
    COL_2_FIELD_NUMBER: builtins.int
    @property
    def col_0(self) -> global___Vec3F64: ...
    @property
    def col_1(self) -> global___Vec3F64: ...
    @property
    def col_2(self) -> global___Vec3F64: ...
    def __init__(
        self,
        *,
        col_0: global___Vec3F64 | None = ...,
        col_1: global___Vec3F64 | None = ...,
        col_2: global___Vec3F64 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1", "col_2", b"col_2"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["col_0", b"col_0", "col_1", b"col_1", "col_2", b"col_2"]) -> None: ...

global___Mat3F64 = Mat3F64

@typing.final
class VecXF32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["data", b"data"]) -> None: ...

global___VecXF32 = VecXF32

@typing.final
class VecXF64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        data: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["data", b"data"]) -> None: ...

global___VecXF64 = VecXF64

@typing.final
class MatXF32(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROWS_FIELD_NUMBER: builtins.int
    COLS_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    rows: builtins.int
    cols: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        rows: builtins.int = ...,
        cols: builtins.int = ...,
        data: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cols", b"cols", "data", b"data", "rows", b"rows"]) -> None: ...

global___MatXF32 = MatXF32

@typing.final
class MatXF64(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROWS_FIELD_NUMBER: builtins.int
    COLS_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    rows: builtins.int
    cols: builtins.int
    @property
    def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        rows: builtins.int = ...,
        cols: builtins.int = ...,
        data: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cols", b"cols", "data", b"data", "rows", b"rows"]) -> None: ...

global___MatXF64 = MatXF64

@typing.final
class CameraSettings(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AUTO_EXPOSURE_FIELD_NUMBER: builtins.int
    EXPOSURE_TIME_FIELD_NUMBER: builtins.int
    ISO_VALUE_FIELD_NUMBER: builtins.int
    LENS_POS_FIELD_NUMBER: builtins.int
    auto_exposure: builtins.bool
    exposure_time: builtins.int
    iso_value: builtins.int
    lens_pos: builtins.int
    def __init__(
        self,
        *,
        auto_exposure: builtins.bool = ...,
        exposure_time: builtins.int = ...,
        iso_value: builtins.int = ...,
        lens_pos: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["auto_exposure", b"auto_exposure", "exposure_time", b"exposure_time", "iso_value", b"iso_value", "lens_pos", b"lens_pos"]) -> None: ...

global___CameraSettings = CameraSettings

@typing.final
class EncoderOptions(google.protobuf.message.Message):
    """The options for the video encoder"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROFILE_FIELD_NUMBER: builtins.int
    RATE_CONTROL_MODE_FIELD_NUMBER: builtins.int
    CBR_PREFERRED_BITRATE_KBPS_FIELD_NUMBER: builtins.int
    VBR_OR_MJPEG_QUALITY_FIELD_NUMBER: builtins.int
    FRAMES_PER_KEYFRAME_FIELD_NUMBER: builtins.int
    profile: global___EncoderProfile.ValueType
    """The profile to use for encoding."""
    rate_control_mode: global___RateControlMode.ValueType
    """The rate control mode to use."""
    cbr_preferred_bitrate_kbps: builtins.int
    """The preferred bitrate for constant bitrate (CBR) mode, in kilobits per second (kbps)."""
    vbr_or_mjpeg_quality: builtins.int
    """The quality setting for variable bitrate (VBR) mode or MJPEG encoding.
    For VBR mode, this represents the desired quality level.
    For MJPEG encoding, this represents the JPEG quality level.
    """
    frames_per_keyframe: builtins.int
    """The number of frames between keyframes."""
    def __init__(
        self,
        *,
        profile: global___EncoderProfile.ValueType = ...,
        rate_control_mode: global___RateControlMode.ValueType = ...,
        cbr_preferred_bitrate_kbps: builtins.int = ...,
        vbr_or_mjpeg_quality: builtins.int = ...,
        frames_per_keyframe: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cbr_preferred_bitrate_kbps", b"cbr_preferred_bitrate_kbps", "frames_per_keyframe", b"frames_per_keyframe", "profile", b"profile", "rate_control_mode", b"rate_control_mode", "vbr_or_mjpeg_quality", b"vbr_or_mjpeg_quality"]) -> None: ...

global___EncoderOptions = EncoderOptions

@typing.final
class Resolution(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    width: builtins.int
    height: builtins.int
    def __init__(
        self,
        *,
        width: builtins.int = ...,
        height: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ...

global___Resolution = Resolution

@typing.final
class OakImageMeta(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CATEGORY_FIELD_NUMBER: builtins.int
    INSTANCE_NUM_FIELD_NUMBER: builtins.int
    SEQUENCE_NUM_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    TIMESTAMP_DEVICE_FIELD_NUMBER: builtins.int
    TIMESTAMP_RECV_FIELD_NUMBER: builtins.int
    SETTINGS_FIELD_NUMBER: builtins.int
    ENCODER_OPTIONS_FIELD_NUMBER: builtins.int
    RESOLUTION_FIELD_NUMBER: builtins.int
    PIXEL_FORMAT_FIELD_NUMBER: builtins.int
    category: builtins.int
    """DepthAI catetory"""
    instance_num: builtins.int
    """DepthAI instance number"""
    sequence_num: builtins.int
    """for synchronization between left, right and stereo"""
    timestamp: builtins.float
    """seconds, capture time (begin of exposure) synchronized with host monotonic"""
    timestamp_device: builtins.float
    """seconds, capture time (begin of exposure) in the device monotonic clock"""
    timestamp_recv: builtins.float
    """seconds, host receive time in host monotonic clock"""
    pixel_format: global___PixelFormat.ValueType
    @property
    def settings(self) -> global___CameraSettings: ...
    @property
    def encoder_options(self) -> global___EncoderOptions: ...
    @property
    def resolution(self) -> global___Resolution: ...
    def __init__(
        self,
        *,
        category: builtins.int = ...,
        instance_num: builtins.int = ...,
        sequence_num: builtins.int = ...,
        timestamp: builtins.float = ...,
        timestamp_device: builtins.float = ...,
        timestamp_recv: builtins.float = ...,
        settings: global___CameraSettings | None = ...,
        encoder_options: global___EncoderOptions | None = ...,
        resolution: global___Resolution | None = ...,
        pixel_format: global___PixelFormat.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["encoder_options", b"encoder_options", "resolution", b"resolution", "settings", b"settings"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["category", b"category", "encoder_options", b"encoder_options", "instance_num", b"instance_num", "pixel_format", b"pixel_format", "resolution", b"resolution", "sequence_num", b"sequence_num", "settings", b"settings", "timestamp", b"timestamp", "timestamp_device", b"timestamp_device", "timestamp_recv", b"timestamp_recv"]) -> None: ...

global___OakImageMeta = OakImageMeta

@typing.final
class OakFrame(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    META_FIELD_NUMBER: builtins.int
    IMAGE_DATA_FIELD_NUMBER: builtins.int
    image_data: builtins.bytes
    """decode/encode with cv2.imencode/cv2.imdecode"""
    @property
    def meta(self) -> global___OakImageMeta: ...
    def __init__(
        self,
        *,
        meta: global___OakImageMeta | None = ...,
        image_data: builtins.bytes = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["meta", b"meta"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["image_data", b"image_data", "meta", b"meta"]) -> None: ...

global___OakFrame = OakFrame

@typing.final
class OakGyro(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GYRO_FIELD_NUMBER: builtins.int
    SEQUENCE_NUM_FIELD_NUMBER: builtins.int
    ACCURACY_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    TIMESTAMP_DEVICE_FIELD_NUMBER: builtins.int
    TIMESTAMP_RECV_FIELD_NUMBER: builtins.int
    sequence_num: builtins.int
    accuracy: builtins.str
    timestamp: builtins.float
    """See OakImageMeta"""
    timestamp_device: builtins.float
    """See OakImageMeta"""
    timestamp_recv: builtins.float
    """See OakImageMeta"""
    @property
    def gyro(self) -> global___Vec3F32: ...
    def __init__(
        self,
        *,
        gyro: global___Vec3F32 | None = ...,
        sequence_num: builtins.int = ...,
        accuracy: builtins.str = ...,
        timestamp: builtins.float = ...,
        timestamp_device: builtins.float = ...,
        timestamp_recv: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gyro", b"gyro"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["accuracy", b"accuracy", "gyro", b"gyro", "sequence_num", b"sequence_num", "timestamp", b"timestamp", "timestamp_device", b"timestamp_device", "timestamp_recv", b"timestamp_recv"]) -> None: ...

global___OakGyro = OakGyro

@typing.final
class OakAccelero(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCELERO_FIELD_NUMBER: builtins.int
    SEQUENCE_NUM_FIELD_NUMBER: builtins.int
    ACCURACY_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    TIMESTAMP_DEVICE_FIELD_NUMBER: builtins.int
    TIMESTAMP_RECV_FIELD_NUMBER: builtins.int
    sequence_num: builtins.int
    accuracy: builtins.str
    timestamp: builtins.float
    """See OakImageMeta"""
    timestamp_device: builtins.float
    """See OakImageMeta"""
    timestamp_recv: builtins.float
    """See OakImageMeta"""
    @property
    def accelero(self) -> global___Vec3F32: ...
    def __init__(
        self,
        *,
        accelero: global___Vec3F32 | None = ...,
        sequence_num: builtins.int = ...,
        accuracy: builtins.str = ...,
        timestamp: builtins.float = ...,
        timestamp_device: builtins.float = ...,
        timestamp_recv: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["accelero", b"accelero"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["accelero", b"accelero", "accuracy", b"accuracy", "sequence_num", b"sequence_num", "timestamp", b"timestamp", "timestamp_device", b"timestamp_device", "timestamp_recv", b"timestamp_recv"]) -> None: ...

global___OakAccelero = OakAccelero

@typing.final
class OakImuPacket(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GYRO_PACKET_FIELD_NUMBER: builtins.int
    ACCELERO_PACKET_FIELD_NUMBER: builtins.int
    @property
    def gyro_packet(self) -> global___OakGyro: ...
    @property
    def accelero_packet(self) -> global___OakAccelero: ...
    def __init__(
        self,
        *,
        gyro_packet: global___OakGyro | None = ...,
        accelero_packet: global___OakAccelero | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["accelero_packet", b"accelero_packet", "gyro_packet", b"gyro_packet"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["accelero_packet", b"accelero_packet", "gyro_packet", b"gyro_packet"]) -> None: ...

global___OakImuPacket = OakImuPacket

@typing.final
class OakImuPackets(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PACKETS_FIELD_NUMBER: builtins.int
    @property
    def packets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OakImuPacket]: ...
    def __init__(
        self,
        *,
        packets: collections.abc.Iterable[global___OakImuPacket] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["packets", b"packets"]) -> None: ...

global___OakImuPackets = OakImuPackets

@typing.final
class OakTrackedFeaturePacket(google.protobuf.message.Message):
    """Message for a single tracked feature"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    XY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    AGE_FIELD_NUMBER: builtins.int
    HARRISSCORE_FIELD_NUMBER: builtins.int
    TRACKINGERROR_FIELD_NUMBER: builtins.int
    id: builtins.int
    age: builtins.int
    harrisScore: builtins.float
    trackingError: builtins.float
    @property
    def xy(self) -> global___Vec2F32: ...
    def __init__(
        self,
        *,
        xy: global___Vec2F32 | None = ...,
        id: builtins.int = ...,
        age: builtins.int = ...,
        harrisScore: builtins.float = ...,
        trackingError: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["xy", b"xy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["age", b"age", "harrisScore", b"harrisScore", "id", b"id", "trackingError", b"trackingError", "xy", b"xy"]) -> None: ...

global___OakTrackedFeaturePacket = OakTrackedFeaturePacket

@typing.final
class OakTrackedFeaturePackets(google.protobuf.message.Message):
    """Message for sending tracked features from the device to the host
    Reference: https://docs.luxonis.com/projects/api/en/latest/components/nodes/feature_tracker/
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PACKETS_FIELD_NUMBER: builtins.int
    SEQUENCE_NUM_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    TIMESTAMP_DEVICE_FIELD_NUMBER: builtins.int
    TIMESTAMP_RECV_FIELD_NUMBER: builtins.int
    sequence_num: builtins.int
    timestamp: builtins.float
    """See OakImageMeta"""
    timestamp_device: builtins.float
    """See OakImageMeta"""
    timestamp_recv: builtins.float
    """See OakImageMeta"""
    @property
    def packets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OakTrackedFeaturePacket]: ...
    def __init__(
        self,
        *,
        packets: collections.abc.Iterable[global___OakTrackedFeaturePacket] | None = ...,
        sequence_num: builtins.int = ...,
        timestamp: builtins.float = ...,
        timestamp_device: builtins.float = ...,
        timestamp_recv: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["packets", b"packets", "sequence_num", b"sequence_num", "timestamp", b"timestamp", "timestamp_device", b"timestamp_device", "timestamp_recv", b"timestamp_recv"]) -> None: ...

global___OakTrackedFeaturePackets = OakTrackedFeaturePackets

@typing.final
class OakDeviceInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    MXID_FIELD_NUMBER: builtins.int
    IP_FIELD_NUMBER: builtins.int
    name: builtins.str
    mxid: builtins.str
    ip: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        mxid: builtins.str = ...,
        ip: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["ip", b"ip", "mxid", b"mxid", "name", b"name"]) -> None: ...

global___OakDeviceInfo = OakDeviceInfo

@typing.final
class OakSyncFrame(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LEFT_FIELD_NUMBER: builtins.int
    RIGHT_FIELD_NUMBER: builtins.int
    RGB_FIELD_NUMBER: builtins.int
    DISPARITY_FIELD_NUMBER: builtins.int
    NN_FIELD_NUMBER: builtins.int
    IMU_PACKETS_FIELD_NUMBER: builtins.int
    SEQUENCE_NUM_FIELD_NUMBER: builtins.int
    DEVICE_INFO_FIELD_NUMBER: builtins.int
    sequence_num: builtins.int
    @property
    def left(self) -> global___OakFrame: ...
    @property
    def right(self) -> global___OakFrame: ...
    @property
    def rgb(self) -> global___OakFrame: ...
    @property
    def disparity(self) -> global___OakFrame: ...
    @property
    def nn(self) -> global___OakNNData: ...
    @property
    def imu_packets(self) -> global___OakImuPackets: ...
    @property
    def device_info(self) -> global___OakDeviceInfo: ...
    def __init__(
        self,
        *,
        left: global___OakFrame | None = ...,
        right: global___OakFrame | None = ...,
        rgb: global___OakFrame | None = ...,
        disparity: global___OakFrame | None = ...,
        nn: global___OakNNData | None = ...,
        imu_packets: global___OakImuPackets | None = ...,
        sequence_num: builtins.int = ...,
        device_info: global___OakDeviceInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["device_info", b"device_info", "disparity", b"disparity", "imu_packets", b"imu_packets", "left", b"left", "nn", b"nn", "rgb", b"rgb", "right", b"right"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["device_info", b"device_info", "disparity", b"disparity", "imu_packets", b"imu_packets", "left", b"left", "nn", b"nn", "rgb", b"rgb", "right", b"right", "sequence_num", b"sequence_num"]) -> None: ...

global___OakSyncFrame = OakSyncFrame

@typing.final
class OakNNData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    META_FIELD_NUMBER: builtins.int
    NUM_CHANNELS_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    num_channels: builtins.int
    height: builtins.int
    width: builtins.int
    data: builtins.bytes
    @property
    def meta(self) -> global___OakImageMeta: ...
    def __init__(
        self,
        *,
        meta: global___OakImageMeta | None = ...,
        num_channels: builtins.int = ...,
        height: builtins.int = ...,
        width: builtins.int = ...,
        data: builtins.bytes = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["meta", b"meta"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["data", b"data", "height", b"height", "meta", b"meta", "num_channels", b"num_channels", "width", b"width"]) -> None: ...

global___OakNNData = OakNNData

@typing.final
class Pair(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

global___Pair = Pair

@typing.final
class Metadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAIRS_FIELD_NUMBER: builtins.int
    @property
    def pairs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Pair]: ...
    def __init__(
        self,
        *,
        pairs: collections.abc.Iterable[global___Pair] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["pairs", b"pairs"]) -> None: ...

global___Metadata = Metadata

@typing.final
class OakDataSample(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FRAME_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    @property
    def frame(self) -> global___OakSyncFrame: ...
    @property
    def metadata(self) -> global___Metadata: ...
    def __init__(
        self,
        *,
        frame: global___OakSyncFrame | None = ...,
        metadata: global___Metadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["frame", b"frame", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["frame", b"frame", "metadata", b"metadata"]) -> None: ...

global___OakDataSample = OakDataSample

@typing.final
class RotationMatrix(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROTATION_MATRIX_FIELD_NUMBER: builtins.int
    @property
    def rotation_matrix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        rotation_matrix: collections.abc.Iterable[builtins.float] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["rotation_matrix", b"rotation_matrix"]) -> None: ...

global___RotationMatrix = RotationMatrix

@typing.final
class Extrinsics(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROTATION_MATRIX_FIELD_NUMBER: builtins.int
    SPEC_TRANSLATION_FIELD_NUMBER: builtins.int
    TO_CAMERA_SOCKET_FIELD_NUMBER: builtins.int
    TRANSLATION_FIELD_NUMBER: builtins.int
    to_camera_socket: builtins.int
    @property
    def rotation_matrix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    @property
    def spec_translation(self) -> global___Vec3F32: ...
    @property
    def translation(self) -> global___Vec3F32: ...
    def __init__(
        self,
        *,
        rotation_matrix: collections.abc.Iterable[builtins.float] | None = ...,
        spec_translation: global___Vec3F32 | None = ...,
        to_camera_socket: builtins.int = ...,
        translation: global___Vec3F32 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["spec_translation", b"spec_translation", "translation", b"translation"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["rotation_matrix", b"rotation_matrix", "spec_translation", b"spec_translation", "to_camera_socket", b"to_camera_socket", "translation", b"translation"]) -> None: ...

global___Extrinsics = Extrinsics

@typing.final
class CameraData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CAMERA_NUMBER_FIELD_NUMBER: builtins.int
    CAMERA_TYPE_FIELD_NUMBER: builtins.int
    DISTORTION_COEFF_FIELD_NUMBER: builtins.int
    EXTRINSICS_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    INTRINSIC_MATRIX_FIELD_NUMBER: builtins.int
    LENS_POSITION_FIELD_NUMBER: builtins.int
    SPEC_HFOV_DEG_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    camera_number: builtins.int
    camera_type: builtins.int
    height: builtins.int
    lens_position: builtins.int
    spec_hfov_deg: builtins.float
    width: builtins.int
    @property
    def distortion_coeff(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    @property
    def extrinsics(self) -> global___Extrinsics: ...
    @property
    def intrinsic_matrix(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        camera_number: builtins.int = ...,
        camera_type: builtins.int = ...,
        distortion_coeff: collections.abc.Iterable[builtins.float] | None = ...,
        extrinsics: global___Extrinsics | None = ...,
        height: builtins.int = ...,
        intrinsic_matrix: collections.abc.Iterable[builtins.float] | None = ...,
        lens_position: builtins.int = ...,
        spec_hfov_deg: builtins.float = ...,
        width: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["extrinsics", b"extrinsics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["camera_number", b"camera_number", "camera_type", b"camera_type", "distortion_coeff", b"distortion_coeff", "extrinsics", b"extrinsics", "height", b"height", "intrinsic_matrix", b"intrinsic_matrix", "lens_position", b"lens_position", "spec_hfov_deg", b"spec_hfov_deg", "width", b"width"]) -> None: ...

global___CameraData = CameraData

@typing.final
class StereoRectificationData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LEFT_CAMERA_SOCKET_FIELD_NUMBER: builtins.int
    RECTIFIED_ROTATION_LEFT_FIELD_NUMBER: builtins.int
    RECTIFIED_ROTATION_RIGHT_FIELD_NUMBER: builtins.int
    RIGHT_CAMERA_SOCKET_FIELD_NUMBER: builtins.int
    left_camera_socket: builtins.int
    right_camera_socket: builtins.int
    @property
    def rectified_rotation_left(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    @property
    def rectified_rotation_right(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        left_camera_socket: builtins.int = ...,
        rectified_rotation_left: collections.abc.Iterable[builtins.float] | None = ...,
        rectified_rotation_right: collections.abc.Iterable[builtins.float] | None = ...,
        right_camera_socket: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["left_camera_socket", b"left_camera_socket", "rectified_rotation_left", b"rectified_rotation_left", "rectified_rotation_right", b"rectified_rotation_right", "right_camera_socket", b"right_camera_socket"]) -> None: ...

global___StereoRectificationData = StereoRectificationData

@typing.final
class OakCalibration(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BATCH_NAME_FIELD_NUMBER: builtins.int
    BATCH_TIME_FIELD_NUMBER: builtins.int
    BOARD_CONF_FIELD_NUMBER: builtins.int
    BOARD_CUSTOM_FIELD_NUMBER: builtins.int
    BOARD_NAME_FIELD_NUMBER: builtins.int
    BOARD_OPTIONS_FIELD_NUMBER: builtins.int
    BOARD_REV_FIELD_NUMBER: builtins.int
    CAMERA_DATA_FIELD_NUMBER: builtins.int
    HARDWARE_CONF_FIELD_NUMBER: builtins.int
    IMU_EXTRINSICS_FIELD_NUMBER: builtins.int
    MISCELLANEOUS_DATA_FIELD_NUMBER: builtins.int
    PRODUCT_NAME_FIELD_NUMBER: builtins.int
    STEREO_RECTIFICATION_DATA_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    batch_name: builtins.str
    batch_time: builtins.int
    board_conf: builtins.str
    board_custom: builtins.str
    board_name: builtins.str
    board_options: builtins.int
    board_rev: builtins.str
    hardware_conf: builtins.str
    product_name: builtins.str
    version: builtins.int
    @property
    def camera_data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CameraData]: ...
    @property
    def imu_extrinsics(self) -> global___Extrinsics: ...
    @property
    def miscellaneous_data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def stereo_rectification_data(self) -> global___StereoRectificationData: ...
    def __init__(
        self,
        *,
        batch_name: builtins.str = ...,
        batch_time: builtins.int = ...,
        board_conf: builtins.str = ...,
        board_custom: builtins.str = ...,
        board_name: builtins.str = ...,
        board_options: builtins.int = ...,
        board_rev: builtins.str = ...,
        camera_data: collections.abc.Iterable[global___CameraData] | None = ...,
        hardware_conf: builtins.str = ...,
        imu_extrinsics: global___Extrinsics | None = ...,
        miscellaneous_data: collections.abc.Iterable[builtins.str] | None = ...,
        product_name: builtins.str = ...,
        stereo_rectification_data: global___StereoRectificationData | None = ...,
        version: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["imu_extrinsics", b"imu_extrinsics", "stereo_rectification_data", b"stereo_rectification_data"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["batch_name", b"batch_name", "batch_time", b"batch_time", "board_conf", b"board_conf", "board_custom", b"board_custom", "board_name", b"board_name", "board_options", b"board_options", "board_rev", b"board_rev", "camera_data", b"camera_data", "hardware_conf", b"hardware_conf", "imu_extrinsics", b"imu_extrinsics", "miscellaneous_data", b"miscellaneous_data", "product_name", b"product_name", "stereo_rectification_data", b"stereo_rectification_data", "version", b"version"]) -> None: ...

global___OakCalibration = OakCalibration
