from cmvr.api import common_pb2 as _common_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class FrameData(_message.Message):
    __slots__ = ("data", "width", "height", "type", "codec", "is_key_frame")
    class FrameType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
        __slots__ = ()
        U8C1: _ClassVar[FrameData.FrameType]
        U16C1: _ClassVar[FrameData.FrameType]
        U8C3: _ClassVar[FrameData.FrameType]
        U16C3: _ClassVar[FrameData.FrameType]
        F16C1: _ClassVar[FrameData.FrameType]
        F32C1: _ClassVar[FrameData.FrameType]
    U8C1: FrameData.FrameType
    U16C1: FrameData.FrameType
    U8C3: FrameData.FrameType
    U16C3: FrameData.FrameType
    F16C1: FrameData.FrameType
    F32C1: FrameData.FrameType
    DATA_FIELD_NUMBER: _ClassVar[int]
    WIDTH_FIELD_NUMBER: _ClassVar[int]
    HEIGHT_FIELD_NUMBER: _ClassVar[int]
    TYPE_FIELD_NUMBER: _ClassVar[int]
    CODEC_FIELD_NUMBER: _ClassVar[int]
    IS_KEY_FRAME_FIELD_NUMBER: _ClassVar[int]
    data: bytes
    width: int
    height: int
    type: FrameData.FrameType
    codec: str
    is_key_frame: bool
    def __init__(self, data: _Optional[bytes] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., type: _Optional[_Union[FrameData.FrameType, str]] = ..., codec: _Optional[str] = ..., is_key_frame: _Optional[bool] = ...) -> None: ...

class CameraIntrinsics(_message.Message):
    __slots__ = ("cx", "cy", "fx", "fy", "coeffs")
    CX_FIELD_NUMBER: _ClassVar[int]
    CY_FIELD_NUMBER: _ClassVar[int]
    FX_FIELD_NUMBER: _ClassVar[int]
    FY_FIELD_NUMBER: _ClassVar[int]
    COEFFS_FIELD_NUMBER: _ClassVar[int]
    cx: float
    cy: float
    fx: float
    fy: float
    coeffs: _containers.RepeatedScalarFieldContainer[float]
    def __init__(self, cx: _Optional[float] = ..., cy: _Optional[float] = ..., fx: _Optional[float] = ..., fy: _Optional[float] = ..., coeffs: _Optional[_Iterable[float]] = ...) -> None: ...

class CameraState(_message.Message):
    __slots__ = ("is_initialized", "is_opened", "is_streaming", "is_recording", "is_error", "error_message", "fps", "width", "height")
    IS_INITIALIZED_FIELD_NUMBER: _ClassVar[int]
    IS_OPENED_FIELD_NUMBER: _ClassVar[int]
    IS_STREAMING_FIELD_NUMBER: _ClassVar[int]
    IS_RECORDING_FIELD_NUMBER: _ClassVar[int]
    IS_ERROR_FIELD_NUMBER: _ClassVar[int]
    ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
    FPS_FIELD_NUMBER: _ClassVar[int]
    WIDTH_FIELD_NUMBER: _ClassVar[int]
    HEIGHT_FIELD_NUMBER: _ClassVar[int]
    is_initialized: bool
    is_opened: bool
    is_streaming: bool
    is_recording: bool
    is_error: bool
    error_message: str
    fps: int
    width: int
    height: int
    def __init__(self, is_initialized: _Optional[bool] = ..., is_opened: _Optional[bool] = ..., is_streaming: _Optional[bool] = ..., is_recording: _Optional[bool] = ..., is_error: _Optional[bool] = ..., error_message: _Optional[str] = ..., fps: _Optional[int] = ..., width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ...

class GetCameraStateCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "state")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        STATE_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        state: CameraState
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., state: _Optional[_Union[CameraState, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class StartCameraCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class StopCameraCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetRGBImageCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "color_frame", "intrinsics")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        COLOR_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        color_frame: FrameData
        intrinsics: CameraIntrinsics
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., color_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetDepthImageCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "depth_frame", "intrinsics")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        DEPTH_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        depth_frame: FrameData
        intrinsics: CameraIntrinsics
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., depth_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetRGBDImagesCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "color_frame", "depth_frame", "intrinsics")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        COLOR_FRAME_FIELD_NUMBER: _ClassVar[int]
        DEPTH_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        color_frame: FrameData
        depth_frame: FrameData
        intrinsics: CameraIntrinsics
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., color_frame: _Optional[_Union[FrameData, _Mapping]] = ..., depth_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class StartCameraRecordingCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "video_path")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VIDEO_PATH_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        video_path: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., video_path: _Optional[str] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class StopCameraRecordingCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetRGBImageStreamCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "eof")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        EOF_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        eof: bool
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., eof: _Optional[bool] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "color_frame", "intrinsics", "seq_no")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        COLOR_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        SEQ_NO_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        color_frame: FrameData
        intrinsics: CameraIntrinsics
        seq_no: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., color_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ..., seq_no: _Optional[int] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetDepthImageStreamCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "eof")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        EOF_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        eof: bool
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., eof: _Optional[bool] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "depth_frame", "intrinsics", "seq_no")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        DEPTH_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        SEQ_NO_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        depth_frame: FrameData
        intrinsics: CameraIntrinsics
        seq_no: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., depth_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ..., seq_no: _Optional[int] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetRGBDImagesStreamCommand(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "eof")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        EOF_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        eof: bool
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., eof: _Optional[bool] = ...) -> None: ...
    class Feedback(_message.Message):
        __slots__ = ("header", "color_frame", "depth_frame", "intrinsics", "seq_no")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        COLOR_FRAME_FIELD_NUMBER: _ClassVar[int]
        DEPTH_FRAME_FIELD_NUMBER: _ClassVar[int]
        INTRINSICS_FIELD_NUMBER: _ClassVar[int]
        SEQ_NO_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        color_frame: FrameData
        depth_frame: FrameData
        intrinsics: CameraIntrinsics
        seq_no: int
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., color_frame: _Optional[_Union[FrameData, _Mapping]] = ..., depth_frame: _Optional[_Union[FrameData, _Mapping]] = ..., intrinsics: _Optional[_Union[CameraIntrinsics, _Mapping]] = ..., seq_no: _Optional[int] = ...) -> None: ...
    def __init__(self) -> None: ...
