import ares_struct_pb2 as _ares_struct_pb2
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class DeviceConnectionInfo(_message.Message):
    __slots__ = ("device_name", "device_id", "simulated", "serial_connection_info", "device_settings")
    DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
    DEVICE_ID_FIELD_NUMBER: _ClassVar[int]
    SIMULATED_FIELD_NUMBER: _ClassVar[int]
    SERIAL_CONNECTION_INFO_FIELD_NUMBER: _ClassVar[int]
    DEVICE_SETTINGS_FIELD_NUMBER: _ClassVar[int]
    device_name: str
    device_id: str
    simulated: bool
    serial_connection_info: SerialConnection
    device_settings: _ares_struct_pb2.AresStruct
    def __init__(self, device_name: _Optional[str] = ..., device_id: _Optional[str] = ..., simulated: bool = ..., serial_connection_info: _Optional[_Union[SerialConnection, _Mapping]] = ..., device_settings: _Optional[_Union[_ares_struct_pb2.AresStruct, _Mapping]] = ...) -> None: ...

class SerialConnection(_message.Message):
    __slots__ = ("port_name", "serial_id", "baud_rate")
    PORT_NAME_FIELD_NUMBER: _ClassVar[int]
    SERIAL_ID_FIELD_NUMBER: _ClassVar[int]
    BAUD_RATE_FIELD_NUMBER: _ClassVar[int]
    port_name: str
    serial_id: str
    baud_rate: int
    def __init__(self, port_name: _Optional[str] = ..., serial_id: _Optional[str] = ..., baud_rate: _Optional[int] = ...) -> None: ...
