import ares_struct_pb2 as _ares_struct_pb2
from device import device_connection_info_pb2 as _device_connection_info_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 DeviceConfig(_message.Message):
    __slots__ = ("unique_id", "device_name", "device_id", "driver_id", "is_simulated", "serial_info", "device_settings")
    UNIQUE_ID_FIELD_NUMBER: _ClassVar[int]
    DEVICE_NAME_FIELD_NUMBER: _ClassVar[int]
    DEVICE_ID_FIELD_NUMBER: _ClassVar[int]
    DRIVER_ID_FIELD_NUMBER: _ClassVar[int]
    IS_SIMULATED_FIELD_NUMBER: _ClassVar[int]
    SERIAL_INFO_FIELD_NUMBER: _ClassVar[int]
    DEVICE_SETTINGS_FIELD_NUMBER: _ClassVar[int]
    unique_id: str
    device_name: str
    device_id: str
    driver_id: str
    is_simulated: bool
    serial_info: _device_connection_info_pb2.SerialConnection
    device_settings: _ares_struct_pb2.AresStruct
    def __init__(self, unique_id: _Optional[str] = ..., device_name: _Optional[str] = ..., device_id: _Optional[str] = ..., driver_id: _Optional[str] = ..., is_simulated: bool = ..., serial_info: _Optional[_Union[_device_connection_info_pb2.SerialConnection, _Mapping]] = ..., device_settings: _Optional[_Union[_ares_struct_pb2.AresStruct, _Mapping]] = ...) -> None: ...
