# @generated by generate_proto_mypy_stubs.py.  Do not edit!
from google.protobuf.descriptor import (
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    Iterable as typing___Iterable,
    List as typing___List,
    Optional as typing___Optional,
    Text as typing___Text,
    Tuple as typing___Tuple,
    cast as typing___cast,
)


class MessageType(int):
    DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
    @classmethod
    def Name(cls, number: int) -> str: ...
    @classmethod
    def Value(cls, name: str) -> MessageType: ...
    @classmethod
    def keys(cls) -> typing___List[str]: ...
    @classmethod
    def values(cls) -> typing___List[MessageType]: ...
    @classmethod
    def items(cls) -> typing___List[typing___Tuple[str, MessageType]]: ...
REPLY = typing___cast(MessageType, 0)
INFO = typing___cast(MessageType, 1)
ALERT = typing___cast(MessageType, 2)

class Errors(int):
    DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
    @classmethod
    def Name(cls, number: int) -> str: ...
    @classmethod
    def Value(cls, name: str) -> Errors: ...
    @classmethod
    def keys(cls) -> typing___List[str]: ...
    @classmethod
    def values(cls) -> typing___List[Errors]: ...
    @classmethod
    def items(cls) -> typing___List[typing___Tuple[str, Errors]]: ...
REQUEST_TIMEOUT = typing___cast(Errors, 0)
CONNECTION_CLOSED = typing___cast(Errors, 1)
INVALID_ARGUMENT = typing___cast(Errors, 2)
OUT_OF_REQUEST_IDS = typing___cast(Errors, 3)
INVALID_PACKET = typing___cast(Errors, 4)
CONNECTION_FAILED = typing___cast(Errors, 5)
UNKNOWN_REQUEST = typing___cast(Errors, 6)
COMMAND_FAILED = typing___cast(Errors, 7)
DEVICE_DB_FAILED = typing___cast(Errors, 8)
INVALID_DATA = typing___cast(Errors, 9)
DEVICE_NOT_IDENTIFIED = typing___cast(Errors, 10)
CONVERSION_FAILED = typing___cast(Errors, 11)
DEVICE_NUMBER_CONFLICT = typing___cast(Errors, 12)
NO_DEVICE_FOUND = typing___cast(Errors, 13)
MOVEMENT_INTERRUPTED = typing___cast(Errors, 14)
MOVEMENT_FAILED = typing___cast(Errors, 15)
IO_ERROR = typing___cast(Errors, 16)
INVALID_RESPONSE = typing___cast(Errors, 17)
NOT_SUPPORTED = typing___cast(Errors, 18)
DEVICE_FAILED = typing___cast(Errors, 19)
OS_ERROR = typing___cast(Errors, 20)

class Request(google___protobuf___message___Message):
    request = ... # type: typing___Text

    def __init__(self,
        request : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> Request: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class Response(google___protobuf___message___Message):
    class ResponseType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> Response.ResponseType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[Response.ResponseType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, Response.ResponseType]]: ...
    OK = typing___cast(ResponseType, 0)
    ERROR = typing___cast(ResponseType, 1)

    response = ... # type: Response.ResponseType
    error_type = ... # type: Errors
    error_message = ... # type: typing___Text

    def __init__(self,
        response : typing___Optional[Response.ResponseType] = None,
        error_type : typing___Optional[Errors] = None,
        error_message : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> Response: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class Event(google___protobuf___message___Message):
    event = ... # type: typing___Text

    def __init__(self,
        event : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> Event: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class EmptyRequest(google___protobuf___message___Message):

    def __init__(self,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> EmptyRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class OpenInterfaceRequest(google___protobuf___message___Message):
    class InterfaceType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> OpenInterfaceRequest.InterfaceType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[OpenInterfaceRequest.InterfaceType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, OpenInterfaceRequest.InterfaceType]]: ...
    SERIAL_PORT = typing___cast(InterfaceType, 0)
    TCP = typing___cast(InterfaceType, 1)

    interface_type = ... # type: OpenInterfaceRequest.InterfaceType
    port_name = ... # type: typing___Text
    baud_rate = ... # type: int
    host_name = ... # type: typing___Text
    port = ... # type: int

    def __init__(self,
        interface_type : typing___Optional[OpenInterfaceRequest.InterfaceType] = None,
        port_name : typing___Optional[typing___Text] = None,
        baud_rate : typing___Optional[int] = None,
        host_name : typing___Optional[typing___Text] = None,
        port : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> OpenInterfaceRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class OpenInterfaceResponse(google___protobuf___message___Message):
    interface_id = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> OpenInterfaceResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class CloseInterfaceRequest(google___protobuf___message___Message):
    interface_id = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> CloseInterfaceRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ToStringRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ToStringRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ToStringResponse(google___protobuf___message___Message):
    to_str = ... # type: typing___Text

    def __init__(self,
        to_str : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ToStringResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class GenericCommandRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    command = ... # type: typing___Text
    check_errors = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        command : typing___Optional[typing___Text] = None,
        check_errors : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> GenericCommandRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class GenericCommandResponse(google___protobuf___message___Message):
    device_address = ... # type: int
    axis_number = ... # type: int
    reply_flag = ... # type: typing___Text
    status = ... # type: typing___Text
    warning_flag = ... # type: typing___Text
    data = ... # type: typing___Text
    message_type = ... # type: MessageType

    def __init__(self,
        device_address : typing___Optional[int] = None,
        axis_number : typing___Optional[int] = None,
        reply_flag : typing___Optional[typing___Text] = None,
        status : typing___Optional[typing___Text] = None,
        warning_flag : typing___Optional[typing___Text] = None,
        data : typing___Optional[typing___Text] = None,
        message_type : typing___Optional[MessageType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> GenericCommandResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class GenericCommandResponseCollection(google___protobuf___message___Message):

    @property
    def responses(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[GenericCommandResponse]: ...

    def __init__(self,
        responses : typing___Optional[typing___Iterable[GenericCommandResponse]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> GenericCommandResponseCollection: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class UnknownResponseEvent(google___protobuf___message___Message):
    interface_id = ... # type: int
    device_address = ... # type: int
    axis_number = ... # type: int
    reply_flag = ... # type: typing___Text
    status = ... # type: typing___Text
    warning_flag = ... # type: typing___Text
    data = ... # type: typing___Text
    message_type = ... # type: MessageType

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device_address : typing___Optional[int] = None,
        axis_number : typing___Optional[int] = None,
        reply_flag : typing___Optional[typing___Text] = None,
        status : typing___Optional[typing___Text] = None,
        warning_flag : typing___Optional[typing___Text] = None,
        data : typing___Optional[typing___Text] = None,
        message_type : typing___Optional[MessageType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> UnknownResponseEvent: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class AlertEvent(google___protobuf___message___Message):
    interface_id = ... # type: int
    device_address = ... # type: int
    axis_number = ... # type: int
    status = ... # type: typing___Text
    warning_flag = ... # type: typing___Text
    data = ... # type: typing___Text

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device_address : typing___Optional[int] = None,
        axis_number : typing___Optional[int] = None,
        status : typing___Optional[typing___Text] = None,
        warning_flag : typing___Optional[typing___Text] = None,
        data : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AlertEvent: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DisconnectedEvent(google___protobuf___message___Message):
    interface_id = ... # type: int
    error_type = ... # type: Errors
    error_message = ... # type: typing___Text

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        error_type : typing___Optional[Errors] = None,
        error_message : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DisconnectedEvent: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class TestRequest(google___protobuf___message___Message):
    return_error = ... # type: bool
    data_ping = ... # type: typing___Text

    def __init__(self,
        return_error : typing___Optional[bool] = None,
        data_ping : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> TestRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class TestResponse(google___protobuf___message___Message):
    data_pong = ... # type: typing___Text

    def __init__(self,
        data_pong : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> TestResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class TestEvent(google___protobuf___message___Message):
    data = ... # type: typing___Text

    def __init__(self,
        data : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> TestEvent: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceRenumberRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    first_address = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        first_address : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceRenumberRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceRenumberResponse(google___protobuf___message___Message):
    number_devices = ... # type: int

    def __init__(self,
        number_devices : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceRenumberResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceDetectRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    identify_devices = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        identify_devices : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceDetectRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceDetectResponse(google___protobuf___message___Message):
    devices = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

    def __init__(self,
        devices : typing___Optional[typing___Iterable[int]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceDetectResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceHomeRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    wait_until_idle = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        wait_until_idle : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceHomeRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceWaitUntilIdleRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    throw_error_on_fault = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        throw_error_on_fault : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceWaitUntilIdleRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceMoveRequest(google___protobuf___message___Message):
    class MoveType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> DeviceMoveRequest.MoveType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[DeviceMoveRequest.MoveType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, DeviceMoveRequest.MoveType]]: ...
    ABS = typing___cast(MoveType, 0)
    REL = typing___cast(MoveType, 1)
    VEL = typing___cast(MoveType, 2)

    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    wait_until_idle = ... # type: bool
    type = ... # type: DeviceMoveRequest.MoveType
    arg = ... # type: float
    unit = ... # type: typing___Text

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        wait_until_idle : typing___Optional[bool] = None,
        type : typing___Optional[DeviceMoveRequest.MoveType] = None,
        arg : typing___Optional[float] = None,
        unit : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceMoveRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceStopRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    wait_until_idle = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        wait_until_idle : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceStopRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceIdentifyRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceIdentifyRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class AxisIdentity(google___protobuf___message___Message):
    class AxisType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> AxisIdentity.AxisType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[AxisIdentity.AxisType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, AxisIdentity.AxisType]]: ...
    UNKNOWN = typing___cast(AxisType, 0)
    LINEAR = typing___cast(AxisType, 1)
    ROTARY = typing___cast(AxisType, 2)

    is_peripheral = ... # type: bool
    peripheral_id = ... # type: int
    name = ... # type: typing___Text
    axis_type = ... # type: AxisIdentity.AxisType

    def __init__(self,
        is_peripheral : typing___Optional[bool] = None,
        peripheral_id : typing___Optional[int] = None,
        name : typing___Optional[typing___Text] = None,
        axis_type : typing___Optional[AxisIdentity.AxisType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> AxisIdentity: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceIdentity(google___protobuf___message___Message):
    device_id = ... # type: int
    serial_number = ... # type: int
    name = ... # type: typing___Text
    axis_count = ... # type: int

    @property
    def firmware_version(self) -> FirmwareVersion: ...

    @property
    def axes(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[AxisIdentity]: ...

    def __init__(self,
        device_id : typing___Optional[int] = None,
        serial_number : typing___Optional[int] = None,
        name : typing___Optional[typing___Text] = None,
        axis_count : typing___Optional[int] = None,
        firmware_version : typing___Optional[FirmwareVersion] = None,
        axes : typing___Optional[typing___Iterable[AxisIdentity]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceIdentity: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetIdentityRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetIdentityRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetIdentityResponse(google___protobuf___message___Message):

    @property
    def identity(self) -> DeviceIdentity: ...

    def __init__(self,
        identity : typing___Optional[DeviceIdentity] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetIdentityResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ResetIdsRequest(google___protobuf___message___Message):
    interface_id = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ResetIdsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceIsBusyRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceIsBusyRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceIsBusyResponse(google___protobuf___message___Message):
    is_busy = ... # type: bool

    def __init__(self,
        is_busy : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceIsBusyResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class FirmwareVersion(google___protobuf___message___Message):
    major = ... # type: int
    minor = ... # type: int
    build = ... # type: int

    def __init__(self,
        major : typing___Optional[int] = None,
        minor : typing___Optional[int] = None,
        build : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> FirmwareVersion: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetWarningsRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    clear = ... # type: bool

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        clear : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetWarningsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetWarningsResponse(google___protobuf___message___Message):
    flags = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    def __init__(self,
        flags : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetWarningsResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class SetLogOutputRequest(google___protobuf___message___Message):
    mode = ... # type: int
    file_path = ... # type: typing___Text

    def __init__(self,
        mode : typing___Optional[int] = None,
        file_path : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> SetLogOutputRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetSettingRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    setting = ... # type: typing___Text
    unit = ... # type: typing___Text

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        setting : typing___Optional[typing___Text] = None,
        unit : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetSettingRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetSettingResponse(google___protobuf___message___Message):
    value = ... # type: float

    def __init__(self,
        value : typing___Optional[float] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetSettingResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceSetSettingRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    setting = ... # type: typing___Text
    value = ... # type: float
    unit = ... # type: typing___Text

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        setting : typing___Optional[typing___Text] = None,
        value : typing___Optional[float] = None,
        unit : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceSetSettingRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ToolsListSerialPortsResponse(google___protobuf___message___Message):
    ports = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    def __init__(self,
        ports : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ToolsListSerialPortsResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class SetDeviceDbSourceRequest(google___protobuf___message___Message):
    source_type = ... # type: int
    url_or_file_path = ... # type: typing___Text

    def __init__(self,
        source_type : typing___Optional[int] = None,
        url_or_file_path : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> SetDeviceDbSourceRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ToggleDeviceDbStoreRequest(google___protobuf___message___Message):
    toggle_on = ... # type: bool
    store_location = ... # type: typing___Text

    def __init__(self,
        toggle_on : typing___Optional[bool] = None,
        store_location : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> ToggleDeviceDbStoreRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class PrepareCommandRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    command_template = ... # type: typing___Text

    @property
    def parameters(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[Measurement]: ...

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        axis : typing___Optional[int] = None,
        command_template : typing___Optional[typing___Text] = None,
        parameters : typing___Optional[typing___Iterable[Measurement]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> PrepareCommandRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class PrepareCommandResponse(google___protobuf___message___Message):
    command = ... # type: typing___Text

    def __init__(self,
        command : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> PrepareCommandResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class Measurement(google___protobuf___message___Message):
    value = ... # type: float
    unit = ... # type: typing___Text

    def __init__(self,
        value : typing___Optional[float] = None,
        unit : typing___Optional[typing___Text] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> Measurement: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
