from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class PX6AXGen3PollingReadMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
    __slots__ = ()
    PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_AND_RESULTANT_FORCE: _ClassVar[PX6AXGen3PollingReadMode]
    PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_FORCE: _ClassVar[PX6AXGen3PollingReadMode]
    PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE: _ClassVar[PX6AXGen3PollingReadMode]
PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_AND_RESULTANT_FORCE: PX6AXGen3PollingReadMode
PX_6AX_GEN3_POLLING_READ_MODE_DISTRIBUTED_FORCE: PX6AXGen3PollingReadMode
PX_6AX_GEN3_POLLING_READ_MODE_RESULTANT_FORCE: PX6AXGen3PollingReadMode

class RH56DFTPDexHandConfig(_message.Message):
    __slots__ = ("id", "ip", "port", "poll_interval_ms")
    ID_FIELD_NUMBER: _ClassVar[int]
    IP_FIELD_NUMBER: _ClassVar[int]
    PORT_FIELD_NUMBER: _ClassVar[int]
    POLL_INTERVAL_MS_FIELD_NUMBER: _ClassVar[int]
    id: str
    ip: str
    port: int
    poll_interval_ms: int
    def __init__(self, id: _Optional[str] = ..., ip: _Optional[str] = ..., port: _Optional[int] = ..., poll_interval_ms: _Optional[int] = ...) -> None: ...

class PX6AXGen3(_message.Message):
    __slots__ = ("id", "serial_port", "sensor_model", "module_id", "baud_rate", "distributed_length", "resultant_length", "poll_interval_ms", "auto_calibrate", "response_timeout_ms", "tactile_rows", "tactile_cols", "response_header_bytes", "tactile_finger", "tactile_region", "sensor_name", "polling_read_mode")
    ID_FIELD_NUMBER: _ClassVar[int]
    SERIAL_PORT_FIELD_NUMBER: _ClassVar[int]
    SENSOR_MODEL_FIELD_NUMBER: _ClassVar[int]
    MODULE_ID_FIELD_NUMBER: _ClassVar[int]
    BAUD_RATE_FIELD_NUMBER: _ClassVar[int]
    DISTRIBUTED_LENGTH_FIELD_NUMBER: _ClassVar[int]
    RESULTANT_LENGTH_FIELD_NUMBER: _ClassVar[int]
    POLL_INTERVAL_MS_FIELD_NUMBER: _ClassVar[int]
    AUTO_CALIBRATE_FIELD_NUMBER: _ClassVar[int]
    RESPONSE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int]
    TACTILE_ROWS_FIELD_NUMBER: _ClassVar[int]
    TACTILE_COLS_FIELD_NUMBER: _ClassVar[int]
    RESPONSE_HEADER_BYTES_FIELD_NUMBER: _ClassVar[int]
    TACTILE_FINGER_FIELD_NUMBER: _ClassVar[int]
    TACTILE_REGION_FIELD_NUMBER: _ClassVar[int]
    SENSOR_NAME_FIELD_NUMBER: _ClassVar[int]
    POLLING_READ_MODE_FIELD_NUMBER: _ClassVar[int]
    id: str
    serial_port: str
    sensor_model: str
    module_id: int
    baud_rate: int
    distributed_length: int
    resultant_length: int
    poll_interval_ms: int
    auto_calibrate: bool
    response_timeout_ms: int
    tactile_rows: int
    tactile_cols: int
    response_header_bytes: int
    tactile_finger: str
    tactile_region: str
    sensor_name: str
    polling_read_mode: PX6AXGen3PollingReadMode
    def __init__(self, id: _Optional[str] = ..., serial_port: _Optional[str] = ..., sensor_model: _Optional[str] = ..., module_id: _Optional[int] = ..., baud_rate: _Optional[int] = ..., distributed_length: _Optional[int] = ..., resultant_length: _Optional[int] = ..., poll_interval_ms: _Optional[int] = ..., auto_calibrate: _Optional[bool] = ..., response_timeout_ms: _Optional[int] = ..., tactile_rows: _Optional[int] = ..., tactile_cols: _Optional[int] = ..., response_header_bytes: _Optional[int] = ..., tactile_finger: _Optional[str] = ..., tactile_region: _Optional[str] = ..., sensor_name: _Optional[str] = ..., polling_read_mode: _Optional[_Union[PX6AXGen3PollingReadMode, str]] = ...) -> None: ...

class DexHandDeviceConfig(_message.Message):
    __slots__ = ("id", "rh56dftp", "px_6ax_gen3")
    ID_FIELD_NUMBER: _ClassVar[int]
    RH56DFTP_FIELD_NUMBER: _ClassVar[int]
    PX_6AX_GEN3_FIELD_NUMBER: _ClassVar[int]
    id: str
    rh56dftp: RH56DFTPDexHandConfig
    px_6ax_gen3: PX6AXGen3
    def __init__(self, id: _Optional[str] = ..., rh56dftp: _Optional[_Union[RH56DFTPDexHandConfig, _Mapping]] = ..., px_6ax_gen3: _Optional[_Union[PX6AXGen3, _Mapping]] = ...) -> None: ...

class DexHandConfig(_message.Message):
    __slots__ = ("dexhands",)
    DEXHANDS_FIELD_NUMBER: _ClassVar[int]
    dexhands: _containers.RepeatedCompositeFieldContainer[DexHandDeviceConfig]
    def __init__(self, dexhands: _Optional[_Iterable[_Union[DexHandDeviceConfig, _Mapping]]] = ...) -> None: ...

class DexHandRootConfig(_message.Message):
    __slots__ = ("dexhand",)
    DEXHAND_FIELD_NUMBER: _ClassVar[int]
    dexhand: DexHandConfig
    def __init__(self, dexhand: _Optional[_Union[DexHandConfig, _Mapping]] = ...) -> None: ...
