# @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_ADDRESS_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_FAILED = typing___cast(Errors, 16)
INVALID_RESPONSE = typing___cast(Errors, 17)
NOT_SUPPORTED = typing___cast(Errors, 18)
DEVICE_FAILED = typing___cast(Errors, 19)
OS_FAILED = typing___cast(Errors, 20)
INTERNAL_ERROR = typing___cast(Errors, 22)
BINARY_COMMAND_FAILED = typing___cast(Errors, 24)
COMMAND_PREEMPTED = typing___cast(Errors, 25)
LOCKSTEP_NOT_ENABLED = typing___cast(Errors, 26)
LOCKSTEP_ENABLED = typing___cast(Errors, 27)
IO_CHANNEL_OUT_OF_RANGE = typing___cast(Errors, 28)
SETTING_NOT_FOUND = typing___cast(Errors, 29)
STREAM_MODE = typing___cast(Errors, 30)
STREAM_EXECUTION = typing___cast(Errors, 31)
STREAM_MOVEMENT_FAILED = typing___cast(Errors, 32)
STREAM_SETUP_FAILED = typing___cast(Errors, 33)
DEVICE_BUSY = typing___cast(Errors, 34)
STREAM_MOVEMENT_INTERRUPTED = typing___cast(Errors, 35)

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

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 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
    peripheral_name = ... # type: typing___Text
    axis_type = ... # type: AxisIdentity.AxisType

    def __init__(self,
        is_peripheral : typing___Optional[bool] = None,
        peripheral_id : typing___Optional[int] = None,
        peripheral_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: ...

    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,
        ) -> 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 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 DeviceIOInfo(google___protobuf___message___Message):
    device_id = ... # type: int
    number_analog_outputs = ... # type: int
    number_analog_inputs = ... # type: int
    number_digital_outputs = ... # type: int
    number_digital_inputs = ... # type: int

    def __init__(self,
        device_id : typing___Optional[int] = None,
        number_analog_outputs : typing___Optional[int] = None,
        number_analog_inputs : typing___Optional[int] = None,
        number_digital_outputs : typing___Optional[int] = None,
        number_digital_inputs : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceIOInfo: ...
    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: ...

class StreamAxisDefinition(google___protobuf___message___Message):
    axis_number = ... # type: int
    axis_type = ... # type: int

    def __init__(self,
        axis_number : typing___Optional[int] = None,
        axis_type : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> StreamAxisDefinition: ...
    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 TestResponseLong(google___protobuf___message___Message):
    data_pong = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    def __init__(self,
        data_pong : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> TestResponseLong: ...
    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 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 OpenInterfaceRequest(google___protobuf___message___Message):
    interface_type = ... # type: 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[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 EmptyInterfaceRequest(google___protobuf___message___Message):
    interface_id = ... # type: int

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

class GetInterfaceTimeoutResponse(google___protobuf___message___Message):
    value = ... # type: int

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

class SetInterfaceTimeoutRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    timeout = ... # type: int

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        timeout : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> SetInterfaceTimeoutRequest: ...
    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
    timeout = ... # type: int

    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,
        timeout : typing___Optional[int] = 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 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 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 DeviceGetAxisIdentityRequest(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) -> DeviceGetAxisIdentityRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DeviceGetAxisIdentityResponse(google___protobuf___message___Message):

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

    def __init__(self,
        identity : typing___Optional[AxisIdentity] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceGetAxisIdentityResponse: ...
    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 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 DeviceGetAllDigitalIORequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_type = ... # type: typing___Text

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

class DeviceGetAllDigitalIOResponse(google___protobuf___message___Message):
    values = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[bool]

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

class DeviceGetAllAnalogIORequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_type = ... # type: typing___Text

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

class DeviceGetAllAnalogIOResponse(google___protobuf___message___Message):
    values = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[float]

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

class DeviceGetDigitalIORequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_type = ... # type: typing___Text
    channel_number = ... # type: int

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

class DeviceGetDigitalIOResponse(google___protobuf___message___Message):
    value = ... # type: bool

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

class DeviceGetAnalogIORequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_type = ... # type: typing___Text
    channel_number = ... # type: int

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

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

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

class DeviceSetAllDigitalOutputsRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    values = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[bool]

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

class DeviceSetAllAnalogOutputsRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    values = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[float]

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

class DeviceSetDigitalOutputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_number = ... # type: int
    value = ... # type: bool

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

class DeviceSetAnalogOutputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    channel_number = ... # type: int
    value = ... # type: float

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

class DeviceGetIOChannelsInfoRequest(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) -> DeviceGetIOChannelsInfoRequest: ...
    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 DeviceConvertSettingRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    axis = ... # type: int
    setting = ... # type: typing___Text
    unit = ... # type: typing___Text
    value = ... # type: float
    from_native = ... # type: bool

    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,
        value : typing___Optional[float] = None,
        from_native : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceConvertSettingRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    def __init__(self,
        value : typing___Optional[float] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> DeviceConvertSettingResponse: ...
    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 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 LockstepEnableRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    axes = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

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

class LockstepDisableRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    wait_until_idle = ... # type: bool

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

class LockstepStopRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    wait_until_idle = ... # type: bool

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

class LockstepHomeRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    wait_until_idle = ... # type: bool

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

class LockstepMoveRequest(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) -> LockstepMoveRequest.MoveType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[LockstepMoveRequest.MoveType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, LockstepMoveRequest.MoveType]]: ...
    ABS = typing___cast(MoveType, 0)
    REL = typing___cast(MoveType, 1)
    VEL = typing___cast(MoveType, 2)

    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    wait_until_idle = ... # type: bool
    type = ... # type: LockstepMoveRequest.MoveType
    arg = ... # type: float
    unit = ... # type: typing___Text

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

class LockstepWaitUntilIdleRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    throw_error_on_fault = ... # type: bool

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

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

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

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

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

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

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

class LockstepAxes(google___protobuf___message___Message):
    axis_1 = ... # type: int
    axis_2 = ... # type: int
    axis_3 = ... # type: int
    axis_4 = ... # type: int

    def __init__(self,
        axis_1 : typing___Optional[int] = None,
        axis_2 : typing___Optional[int] = None,
        axis_3 : typing___Optional[int] = None,
        axis_4 : typing___Optional[int] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> LockstepAxes: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class LockstepGetAxesResponse(google___protobuf___message___Message):

    @property
    def axes(self) -> LockstepAxes: ...

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

class LockstepGetTwistRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    unit = ... # type: typing___Text

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

class LockstepGetTwistResponse(google___protobuf___message___Message):
    twist = ... # type: float

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

class LockstepGetTwistsResponse(google___protobuf___message___Message):
    twists = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[float]

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

class LockstepGetOffsetRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    lockstep_group_id = ... # type: int
    unit = ... # type: typing___Text

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

class LockstepGetOffsetResponse(google___protobuf___message___Message):
    offset = ... # type: float

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

class LockstepGetOffsetsResponse(google___protobuf___message___Message):
    offsets = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[float]

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

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

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

class LockstepIsEnabledResponse(google___protobuf___message___Message):
    is_enabled = ... # type: bool

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

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

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

class LockstepToStringResponse(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) -> LockstepToStringResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StreamSetupLiveRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    axes = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

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

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

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

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

class StreamSetupStoreRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    stream_buffer = ... # type: int
    axes = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

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

class StreamSetupStoreCompositeRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    stream_buffer = ... # type: int

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

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

class StreamSetupStoreArbitraryAxesRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    stream_buffer = ... # type: int
    axes_count = ... # type: int

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

class StreamCallRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    stream_buffer = ... # type: int

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

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

    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    type = ... # type: StreamLineRequest.Type
    target_axes_indices = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

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

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        stream_id : typing___Optional[int] = None,
        type : typing___Optional[StreamLineRequest.Type] = None,
        endpoint : typing___Optional[typing___Iterable[Measurement]] = None,
        target_axes_indices : typing___Optional[typing___Iterable[int]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> StreamLineRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    type = ... # type: StreamArcRequest.Type
    rotation_direction = ... # type: int
    target_axes_indices = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

    @property
    def center_x(self) -> Measurement: ...

    @property
    def center_y(self) -> Measurement: ...

    @property
    def end_x(self) -> Measurement: ...

    @property
    def end_y(self) -> Measurement: ...

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        stream_id : typing___Optional[int] = None,
        type : typing___Optional[StreamArcRequest.Type] = None,
        rotation_direction : typing___Optional[int] = None,
        center_x : typing___Optional[Measurement] = None,
        center_y : typing___Optional[Measurement] = None,
        end_x : typing___Optional[Measurement] = None,
        end_y : typing___Optional[Measurement] = None,
        target_axes_indices : typing___Optional[typing___Iterable[int]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> StreamArcRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    type = ... # type: StreamCircleRequest.Type
    rotation_direction = ... # type: int
    target_axes_indices = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

    @property
    def center_x(self) -> Measurement: ...

    @property
    def center_y(self) -> Measurement: ...

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        stream_id : typing___Optional[int] = None,
        type : typing___Optional[StreamCircleRequest.Type] = None,
        rotation_direction : typing___Optional[int] = None,
        center_x : typing___Optional[Measurement] = None,
        center_y : typing___Optional[Measurement] = None,
        target_axes_indices : typing___Optional[typing___Iterable[int]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> StreamCircleRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StreamWaitDigitalInputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    channel_number = ... # type: int
    value = ... # type: bool

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

class StreamWaitAnalogInputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    channel_number = ... # type: int
    condition = ... # type: typing___Text
    value = ... # type: float

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        stream_id : typing___Optional[int] = None,
        channel_number : typing___Optional[int] = None,
        condition : typing___Optional[typing___Text] = None,
        value : typing___Optional[float] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> StreamWaitAnalogInputRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StreamSetDigitalOutputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    channel_number = ... # type: int
    value = ... # type: bool

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

class StreamSetAnalogOutputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    channel_number = ... # type: int
    value = ... # type: float

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

class StreamToggleDigitalOutputRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    channel_number = ... # type: int

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

class StreamWaitRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    time = ... # type: float
    unit = ... # type: typing___Text

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

class StreamWaitUntilIdleRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    throw_error_on_fault = ... # type: bool

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

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

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

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

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

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

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

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

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

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

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

class StreamGetAxesResponse(google___protobuf___message___Message):

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

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

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

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

class StreamGetModeResponse(google___protobuf___message___Message):
    mode = ... # type: int

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

class StreamGetMaxSpeedRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    unit = ... # type: typing___Text

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

class StreamGetMaxSpeedResponse(google___protobuf___message___Message):
    max_speed = ... # type: float

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

class StreamSetMaxSpeedRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    max_speed = ... # type: float
    unit = ... # type: typing___Text

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

class StreamGetMaxTangentialAccelerationRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    unit = ... # type: typing___Text

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

class StreamGetMaxTangentialAccelerationResponse(google___protobuf___message___Message):
    max_tangential_acceleration = ... # type: float

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

class StreamSetMaxTangentialAccelerationRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    max_tangential_acceleration = ... # type: float
    unit = ... # type: typing___Text

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

class StreamGetMaxCentripetalAccelerationRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    unit = ... # type: typing___Text

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

class StreamGetMaxCentripetalAccelerationResponse(google___protobuf___message___Message):
    max_centripetal_acceleration = ... # type: float

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

class StreamSetMaxCentripetalAccelerationRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    stream_id = ... # type: int
    max_centripetal_acceleration = ... # type: float
    unit = ... # type: typing___Text

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

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

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

class StreamToStringResponse(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) -> StreamToStringResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

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

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

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

class StreamBufferGetContentResponse(google___protobuf___message___Message):
    buffer_lines = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

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

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

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

class BinaryReplyOnlyEvent(google___protobuf___message___Message):
    interface_id = ... # type: int
    device_address = ... # type: int
    command = ... # type: int
    data = ... # type: int

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

class OpenBinaryInterfaceRequest(google___protobuf___message___Message):
    interface_type = ... # type: InterfaceType
    port_name = ... # type: typing___Text
    baud_rate = ... # type: int
    host_name = ... # type: typing___Text
    port = ... # type: int
    use_message_ids = ... # type: bool

    def __init__(self,
        interface_type : typing___Optional[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,
        use_message_ids : typing___Optional[bool] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> OpenBinaryInterfaceRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class UnknownBinaryResponseEvent(google___protobuf___message___Message):
    interface_id = ... # type: int
    device_address = ... # type: int
    command = ... # type: int
    data = ... # type: int

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

class GenericBinaryRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    command = ... # type: int
    data = ... # type: int
    check_errors = ... # type: bool
    timeout = ... # type: float

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

class BinaryMessage(google___protobuf___message___Message):
    device_address = ... # type: int
    command = ... # type: int
    data = ... # type: int

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

class BinaryMessageCollection(google___protobuf___message___Message):

    @property
    def messages(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[BinaryMessage]: ...

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

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

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

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

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

class BinaryDeviceIdentifyRequest(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) -> BinaryDeviceIdentifyRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

    device_id = ... # type: int
    serial_number = ... # type: int
    name = ... # type: typing___Text
    is_peripheral = ... # type: bool
    peripheral_id = ... # type: int
    peripheral_name = ... # type: typing___Text
    device_type = ... # type: BinaryDeviceIdentity.DeviceType

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

    def __init__(self,
        device_id : typing___Optional[int] = None,
        serial_number : typing___Optional[int] = None,
        name : typing___Optional[typing___Text] = None,
        firmware_version : typing___Optional[FirmwareVersion] = None,
        is_peripheral : typing___Optional[bool] = None,
        peripheral_id : typing___Optional[int] = None,
        peripheral_name : typing___Optional[typing___Text] = None,
        device_type : typing___Optional[BinaryDeviceIdentity.DeviceType] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> BinaryDeviceIdentity: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class BinaryDeviceGetIdentityRequest(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) -> BinaryDeviceGetIdentityRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class BinaryDeviceGetIdentityResponse(google___protobuf___message___Message):

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

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

class BinaryGenericWithUnitsRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    command = ... # type: int
    data = ... # type: float
    from_unit = ... # type: typing___Text
    to_unit = ... # type: typing___Text
    timeout = ... # type: float

    def __init__(self,
        interface_id : typing___Optional[int] = None,
        device : typing___Optional[int] = None,
        command : typing___Optional[int] = None,
        data : typing___Optional[float] = None,
        from_unit : typing___Optional[typing___Text] = None,
        to_unit : typing___Optional[typing___Text] = None,
        timeout : typing___Optional[float] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> BinaryGenericWithUnitsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class BinaryGenericWithUnitsResponse(google___protobuf___message___Message):
    data = ... # type: float

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

class BinaryDeviceHomeRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    timeout = ... # type: float
    unit = ... # type: typing___Text

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

class BinaryDeviceMovementResponse(google___protobuf___message___Message):
    data = ... # type: float

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

class BinaryDeviceMoveRequest(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) -> BinaryDeviceMoveRequest.MoveType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[BinaryDeviceMoveRequest.MoveType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, BinaryDeviceMoveRequest.MoveType]]: ...
    ABS = typing___cast(MoveType, 0)
    REL = typing___cast(MoveType, 1)
    VEL = typing___cast(MoveType, 2)

    interface_id = ... # type: int
    device = ... # type: int
    timeout = ... # type: float
    type = ... # type: BinaryDeviceMoveRequest.MoveType
    arg = ... # type: float
    unit = ... # type: typing___Text

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

class BinaryDeviceStopRequest(google___protobuf___message___Message):
    interface_id = ... # type: int
    device = ... # type: int
    timeout = ... # type: float
    unit = ... # type: typing___Text

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

class BinaryDeviceWaitUntilIdleRequest(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) -> BinaryDeviceWaitUntilIdleRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class BinaryDeviceIsBusyRequest(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) -> BinaryDeviceIsBusyRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

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

class BinaryDeviceDetectRequest(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) -> BinaryDeviceDetectRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class BinaryDeviceDetectResponse(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) -> BinaryDeviceDetectResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

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

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

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

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

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

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