"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
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

@typing_extensions.final
class ClientCommand(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UUID_FIELD_NUMBER: builtins.int
    LOG_MESSAGE_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    IMAGE_FIELD_NUMBER: builtins.int
    CONTROL_CHANGED_FIELD_NUMBER: builtins.int
    KEY_EVENT_OCCURRED_FIELD_NUMBER: builtins.int
    CAMERA_STATE_FIELD_NUMBER: builtins.int
    CAMEARA_STATE_CHANGED_FIELD_NUMBER: builtins.int
    UUID: builtins.str
    log_message: builtins.str
    @property
    def result(self) -> global___Result: ...
    @property
    def image(self) -> global___Image: ...
    @property
    def control_changed(self) -> global___ControlChanged: ...
    @property
    def key_event_occurred(self) -> global___KeyEventOccurred: ...
    @property
    def camera_state(self) -> global___CameraState: ...
    @property
    def cameara_state_changed(self) -> global___CameraState: ...
    def __init__(
        self,
        *,
        UUID: builtins.str = ...,
        log_message: builtins.str = ...,
        result: global___Result | None = ...,
        image: global___Image | None = ...,
        control_changed: global___ControlChanged | None = ...,
        key_event_occurred: global___KeyEventOccurred | None = ...,
        camera_state: global___CameraState | None = ...,
        cameara_state_changed: global___CameraState | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Command", b"Command", "cameara_state_changed", b"cameara_state_changed", "camera_state", b"camera_state", "control_changed", b"control_changed", "image", b"image", "key_event_occurred", b"key_event_occurred", "log_message", b"log_message", "result", b"result"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Command", b"Command", "UUID", b"UUID", "cameara_state_changed", b"cameara_state_changed", "camera_state", b"camera_state", "control_changed", b"control_changed", "image", b"image", "key_event_occurred", b"key_event_occurred", "log_message", b"log_message", "result", b"result"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Command", b"Command"]) -> typing_extensions.Literal["log_message", "result", "image", "control_changed", "key_event_occurred", "camera_state", "cameara_state_changed"] | None: ...

global___ClientCommand = ClientCommand

@typing_extensions.final
class Result(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    success: builtins.str
    failure: builtins.str
    def __init__(
        self,
        *,
        success: builtins.str = ...,
        failure: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Result", b"Result", "failure", b"failure", "success", b"success"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Result", b"Result", "failure", b"failure", "success", b"success"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Result", b"Result"]) -> typing_extensions.Literal["success", "failure"] | None: ...

global___Result = Result

@typing_extensions.final
class Image(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    data: builtins.bytes
    def __init__(
        self,
        *,
        data: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data"]) -> None: ...

global___Image = Image

@typing_extensions.final
class ControlChanged(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NUMBER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    BOOLEAN_FIELD_NUMBER: builtins.int
    number: builtins.float
    text: builtins.str
    boolean: builtins.bool
    def __init__(
        self,
        *,
        number: builtins.float = ...,
        text: builtins.str = ...,
        boolean: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Value", b"Value", "boolean", b"boolean", "number", b"number", "text", b"text"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Value", b"Value", "boolean", b"boolean", "number", b"number", "text", b"text"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Value", b"Value"]) -> typing_extensions.Literal["number", "text", "boolean"] | None: ...

global___ControlChanged = ControlChanged

@typing_extensions.final
class KeyEventOccurred(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class KeyEvent(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        CODE_FIELD_NUMBER: builtins.int
        SHIFTKEY_FIELD_NUMBER: builtins.int
        ALTKEY_FIELD_NUMBER: builtins.int
        CTRLKEY_FIELD_NUMBER: builtins.int
        METAKEY_FIELD_NUMBER: builtins.int
        REPEAT_FIELD_NUMBER: builtins.int
        key: builtins.str
        code: builtins.str
        shiftKey: builtins.bool
        altKey: builtins.bool
        ctrlKey: builtins.bool
        metaKey: builtins.bool
        repeat: builtins.bool
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            code: builtins.str = ...,
            shiftKey: builtins.bool = ...,
            altKey: builtins.bool = ...,
            ctrlKey: builtins.bool = ...,
            metaKey: builtins.bool = ...,
            repeat: builtins.bool = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["altKey", b"altKey", "code", b"code", "ctrlKey", b"ctrlKey", "key", b"key", "metaKey", b"metaKey", "repeat", b"repeat", "shiftKey", b"shiftKey"]) -> None: ...

    KEYUP_FIELD_NUMBER: builtins.int
    KEYDOWN_FIELD_NUMBER: builtins.int
    KEYPRESS_FIELD_NUMBER: builtins.int
    @property
    def keyup(self) -> global___KeyEventOccurred.KeyEvent: ...
    @property
    def keydown(self) -> global___KeyEventOccurred.KeyEvent: ...
    @property
    def keypress(self) -> global___KeyEventOccurred.KeyEvent: ...
    def __init__(
        self,
        *,
        keyup: global___KeyEventOccurred.KeyEvent | None = ...,
        keydown: global___KeyEventOccurred.KeyEvent | None = ...,
        keypress: global___KeyEventOccurred.KeyEvent | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["Event", b"Event", "keydown", b"keydown", "keypress", b"keypress", "keyup", b"keyup"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["Event", b"Event", "keydown", b"keydown", "keypress", b"keypress", "keyup", b"keyup"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["Event", b"Event"]) -> typing_extensions.Literal["keyup", "keydown", "keypress"] | None: ...

global___KeyEventOccurred = KeyEventOccurred

@typing_extensions.final
class CameraState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

    class _CameraModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CameraState._CameraMode.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        PERSPECTIVE: CameraState._CameraMode.ValueType  # 0
        ORTHOGRAPHIC: CameraState._CameraMode.ValueType  # 1

    class CameraMode(_CameraMode, metaclass=_CameraModeEnumTypeWrapper): ...
    PERSPECTIVE: CameraState.CameraMode.ValueType  # 0
    ORTHOGRAPHIC: CameraState.CameraMode.ValueType  # 1

    POSITION_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    UP_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    ROLL_LOCK_FIELD_NUMBER: builtins.int
    FOV_FIELD_NUMBER: builtins.int
    FRUSTUM_HEIGHT_FIELD_NUMBER: builtins.int
    @property
    def position(self) -> global___VecXYZf: ...
    @property
    def target(self) -> global___VecXYZf: ...
    @property
    def up(self) -> global___VecXYZf: ...
    mode: global___CameraState.CameraMode.ValueType
    roll_lock: builtins.bool
    fov: builtins.float
    frustum_height: builtins.float
    def __init__(
        self,
        *,
        position: global___VecXYZf | None = ...,
        target: global___VecXYZf | None = ...,
        up: global___VecXYZf | None = ...,
        mode: global___CameraState.CameraMode.ValueType = ...,
        roll_lock: builtins.bool = ...,
        fov: builtins.float = ...,
        frustum_height: builtins.float = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["position", b"position", "target", b"target", "up", b"up"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["fov", b"fov", "frustum_height", b"frustum_height", "mode", b"mode", "position", b"position", "roll_lock", b"roll_lock", "target", b"target", "up", b"up"]) -> None: ...

global___CameraState = CameraState

@typing_extensions.final
class VecXYZf(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_extensions.Literal["x", b"x", "y", b"y", "z", b"z"]) -> None: ...

global___VecXYZf = VecXYZf
