"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
from . import common_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _StreamMode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StreamModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StreamMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    S_OFF: _StreamMode.ValueType  # 0
    S_ON: _StreamMode.ValueType  # 1

class StreamMode(_StreamMode, metaclass=_StreamModeEnumTypeWrapper): ...

S_OFF: StreamMode.ValueType  # 0
S_ON: StreamMode.ValueType  # 1
global___StreamMode = StreamMode

class _RecordMode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _RecordModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RecordMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    R_OFF: _RecordMode.ValueType  # 0
    R_ON: _RecordMode.ValueType  # 1

class RecordMode(_RecordMode, metaclass=_RecordModeEnumTypeWrapper): ...

R_OFF: RecordMode.ValueType  # 0
R_ON: RecordMode.ValueType  # 1
global___RecordMode = RecordMode

class _BackboneMode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _BackboneModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BackboneMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SMARTBOX_PRO: _BackboneMode.ValueType  # 0
    SMARTBOX_SIM_GEN_SINE: _BackboneMode.ValueType  # 1
    """low freq"""
    SMARTBOX_SIM_GEN_SPIKES: _BackboneMode.ValueType  # 2
    SMARTBOX_SIM_DATASOURCE: _BackboneMode.ValueType  # 3
    OPEN_EPHYS_USB3: _BackboneMode.ValueType  # 4
    INTAN_RECORDING_CONTROLLER_1024: _BackboneMode.ValueType  # 5
    SMARTBOX_CLASSIC: _BackboneMode.ValueType  # 6
    INTAN_RECORDING_CONTROLLER_512: _BackboneMode.ValueType  # 7
    OPEN_EPHYS_USB2: _BackboneMode.ValueType  # 8
    INTAN_USB2: _BackboneMode.ValueType  # 9
    SMARTBOX_SIM_GEN_SINE_MAPPED: _BackboneMode.ValueType  # 10
    """!! new"""
    SMARTBOX_SIM_GEN_SINE_HIGH_FREQ: _BackboneMode.ValueType  # 11
    """!! new"""
    SMARTBOX_SIM_GEN_SINE_MULTI_BAND: _BackboneMode.ValueType  # 12
    """!! new"""
    SMARTBOX_PRO_SINAPS_256: _BackboneMode.ValueType  # 13
    SMARTBOX_PRO_SINAPS_1024: _BackboneMode.ValueType  # 14
    XDAQ_ONE_REC: _BackboneMode.ValueType  # 15
    XDAQ_ONE_STIM: _BackboneMode.ValueType  # 16
    XDAQ_CORE_REC: _BackboneMode.ValueType  # 17
    XDAQ_CORE_STIM: _BackboneMode.ValueType  # 18
    SMARTBOX_PRO_SINAPS_512: _BackboneMode.ValueType  # 19
    XDAQ_GEN2_ONE_STIM: _BackboneMode.ValueType  # 20
    XDAQ_GEN2_CORE_STIM: _BackboneMode.ValueType  # 21
    XDAQ_GEN2_ONE_REC: _BackboneMode.ValueType  # 22
    XDAQ_GEN2_CORE_REC: _BackboneMode.ValueType  # 23
    SMARTBOX_SIM_GEN_LFP: _BackboneMode.ValueType  # 24
    """!! new"""

class BackboneMode(_BackboneMode, metaclass=_BackboneModeEnumTypeWrapper): ...

SMARTBOX_PRO: BackboneMode.ValueType  # 0
SMARTBOX_SIM_GEN_SINE: BackboneMode.ValueType  # 1
"""low freq"""
SMARTBOX_SIM_GEN_SPIKES: BackboneMode.ValueType  # 2
SMARTBOX_SIM_DATASOURCE: BackboneMode.ValueType  # 3
OPEN_EPHYS_USB3: BackboneMode.ValueType  # 4
INTAN_RECORDING_CONTROLLER_1024: BackboneMode.ValueType  # 5
SMARTBOX_CLASSIC: BackboneMode.ValueType  # 6
INTAN_RECORDING_CONTROLLER_512: BackboneMode.ValueType  # 7
OPEN_EPHYS_USB2: BackboneMode.ValueType  # 8
INTAN_USB2: BackboneMode.ValueType  # 9
SMARTBOX_SIM_GEN_SINE_MAPPED: BackboneMode.ValueType  # 10
"""!! new"""
SMARTBOX_SIM_GEN_SINE_HIGH_FREQ: BackboneMode.ValueType  # 11
"""!! new"""
SMARTBOX_SIM_GEN_SINE_MULTI_BAND: BackboneMode.ValueType  # 12
"""!! new"""
SMARTBOX_PRO_SINAPS_256: BackboneMode.ValueType  # 13
SMARTBOX_PRO_SINAPS_1024: BackboneMode.ValueType  # 14
XDAQ_ONE_REC: BackboneMode.ValueType  # 15
XDAQ_ONE_STIM: BackboneMode.ValueType  # 16
XDAQ_CORE_REC: BackboneMode.ValueType  # 17
XDAQ_CORE_STIM: BackboneMode.ValueType  # 18
SMARTBOX_PRO_SINAPS_512: BackboneMode.ValueType  # 19
XDAQ_GEN2_ONE_STIM: BackboneMode.ValueType  # 20
XDAQ_GEN2_CORE_STIM: BackboneMode.ValueType  # 21
XDAQ_GEN2_ONE_REC: BackboneMode.ValueType  # 22
XDAQ_GEN2_CORE_REC: BackboneMode.ValueType  # 23
SMARTBOX_SIM_GEN_LFP: BackboneMode.ValueType  # 24
"""!! new"""
global___BackboneMode = BackboneMode

class _DataRecordingType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _DataRecordingTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataRecordingType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    continuous: _DataRecordingType.ValueType  # 0
    spikes: _DataRecordingType.ValueType  # 1
    continuousAndSpikes: _DataRecordingType.ValueType  # 2

class DataRecordingType(_DataRecordingType, metaclass=_DataRecordingTypeEnumTypeWrapper): ...

continuous: DataRecordingType.ValueType  # 0
spikes: DataRecordingType.ValueType  # 1
continuousAndSpikes: DataRecordingType.ValueType  # 2
global___DataRecordingType = DataRecordingType

class _DIOMode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _DIOModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DIOMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    manual: _DIOMode.ValueType  # 0
    events: _DIOMode.ValueType  # 1
    gated: _DIOMode.ValueType  # 2
    pulse: _DIOMode.ValueType  # 3
    """Periodic pulse mode enabled for simulator only"""

class DIOMode(_DIOMode, metaclass=_DIOModeEnumTypeWrapper):
    """Digital IO Register"""

manual: DIOMode.ValueType  # 0
events: DIOMode.ValueType  # 1
gated: DIOMode.ValueType  # 2
pulse: DIOMode.ValueType  # 3
"""Periodic pulse mode enabled for simulator only"""
global___DIOMode = DIOMode

class _TriggerChannel:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _TriggerChannelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TriggerChannel.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    T_DIN_0: _TriggerChannel.ValueType  # 0
    T_DIN_1: _TriggerChannel.ValueType  # 1
    T_DIN_2: _TriggerChannel.ValueType  # 2
    T_DIN_3: _TriggerChannel.ValueType  # 3
    T_DIN_4: _TriggerChannel.ValueType  # 4
    T_DIN_5: _TriggerChannel.ValueType  # 5
    T_DIN_6: _TriggerChannel.ValueType  # 6
    T_DIN_7: _TriggerChannel.ValueType  # 7
    T_DIN_8: _TriggerChannel.ValueType  # 8
    T_DIN_9: _TriggerChannel.ValueType  # 9
    T_DIN_10: _TriggerChannel.ValueType  # 10
    T_DIN_11: _TriggerChannel.ValueType  # 11
    T_DIN_12: _TriggerChannel.ValueType  # 12
    T_DIN_13: _TriggerChannel.ValueType  # 13
    T_DIN_14: _TriggerChannel.ValueType  # 14
    T_DIN_15: _TriggerChannel.ValueType  # 15
    T_DOUT_0: _TriggerChannel.ValueType  # 16
    T_DOUT_1: _TriggerChannel.ValueType  # 17
    T_DOUT_2: _TriggerChannel.ValueType  # 18
    T_DOUT_3: _TriggerChannel.ValueType  # 19
    T_DOUT_4: _TriggerChannel.ValueType  # 20
    T_DOUT_5: _TriggerChannel.ValueType  # 21
    T_DOUT_6: _TriggerChannel.ValueType  # 22
    T_DOUT_7: _TriggerChannel.ValueType  # 23
    T_DOUT_8: _TriggerChannel.ValueType  # 24
    T_DOUT_9: _TriggerChannel.ValueType  # 25
    T_DOUT_10: _TriggerChannel.ValueType  # 26
    T_DOUT_11: _TriggerChannel.ValueType  # 27
    T_DOUT_12: _TriggerChannel.ValueType  # 28
    T_DOUT_13: _TriggerChannel.ValueType  # 29
    T_DOUT_14: _TriggerChannel.ValueType  # 30
    T_DOUT_15: _TriggerChannel.ValueType  # 31
    T_NONE: _TriggerChannel.ValueType  # 32

class TriggerChannel(_TriggerChannel, metaclass=_TriggerChannelEnumTypeWrapper): ...

T_DIN_0: TriggerChannel.ValueType  # 0
T_DIN_1: TriggerChannel.ValueType  # 1
T_DIN_2: TriggerChannel.ValueType  # 2
T_DIN_3: TriggerChannel.ValueType  # 3
T_DIN_4: TriggerChannel.ValueType  # 4
T_DIN_5: TriggerChannel.ValueType  # 5
T_DIN_6: TriggerChannel.ValueType  # 6
T_DIN_7: TriggerChannel.ValueType  # 7
T_DIN_8: TriggerChannel.ValueType  # 8
T_DIN_9: TriggerChannel.ValueType  # 9
T_DIN_10: TriggerChannel.ValueType  # 10
T_DIN_11: TriggerChannel.ValueType  # 11
T_DIN_12: TriggerChannel.ValueType  # 12
T_DIN_13: TriggerChannel.ValueType  # 13
T_DIN_14: TriggerChannel.ValueType  # 14
T_DIN_15: TriggerChannel.ValueType  # 15
T_DOUT_0: TriggerChannel.ValueType  # 16
T_DOUT_1: TriggerChannel.ValueType  # 17
T_DOUT_2: TriggerChannel.ValueType  # 18
T_DOUT_3: TriggerChannel.ValueType  # 19
T_DOUT_4: TriggerChannel.ValueType  # 20
T_DOUT_5: TriggerChannel.ValueType  # 21
T_DOUT_6: TriggerChannel.ValueType  # 22
T_DOUT_7: TriggerChannel.ValueType  # 23
T_DOUT_8: TriggerChannel.ValueType  # 24
T_DOUT_9: TriggerChannel.ValueType  # 25
T_DOUT_10: TriggerChannel.ValueType  # 26
T_DOUT_11: TriggerChannel.ValueType  # 27
T_DOUT_12: TriggerChannel.ValueType  # 28
T_DOUT_13: TriggerChannel.ValueType  # 29
T_DOUT_14: TriggerChannel.ValueType  # 30
T_DOUT_15: TriggerChannel.ValueType  # 31
T_NONE: TriggerChannel.ValueType  # 32
global___TriggerChannel = TriggerChannel

class _AllegoHALmode:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _AllegoHALmodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AllegoHALmode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    A_HAL_GENERIC: _AllegoHALmode.ValueType  # 0
    A_HAL_SPIKESORT: _AllegoHALmode.ValueType  # 1
    A_HAL_MULTISCALE: _AllegoHALmode.ValueType  # 2
    A_HAL_MULTISCALE_BIDIRECTIONAL: _AllegoHALmode.ValueType  # 3

class AllegoHALmode(_AllegoHALmode, metaclass=_AllegoHALmodeEnumTypeWrapper): ...

A_HAL_GENERIC: AllegoHALmode.ValueType  # 0
A_HAL_SPIKESORT: AllegoHALmode.ValueType  # 1
A_HAL_MULTISCALE: AllegoHALmode.ValueType  # 2
A_HAL_MULTISCALE_BIDIRECTIONAL: AllegoHALmode.ValueType  # 3
global___AllegoHALmode = AllegoHALmode

class _StimShape:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimShapeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimShape.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    BIPHASIC: _StimShape.ValueType  # 0
    BIPHASIC_INTERPHASE_DELAY: _StimShape.ValueType  # 1
    TRIPHASIC: _StimShape.ValueType  # 2
    MONOPHASIC: _StimShape.ValueType  # 3

class StimShape(_StimShape, metaclass=_StimShapeEnumTypeWrapper): ...

BIPHASIC: StimShape.ValueType  # 0
BIPHASIC_INTERPHASE_DELAY: StimShape.ValueType  # 1
TRIPHASIC: StimShape.ValueType  # 2
MONOPHASIC: StimShape.ValueType  # 3
global___StimShape = StimShape

class _StimPolarity:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimPolarityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimPolarity.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CATHODIC_FIRST: _StimPolarity.ValueType  # 0
    """CATHODIC_FIRST = NEGATIVE_FIRST"""
    ANODIC_FIRST: _StimPolarity.ValueType  # 1
    """ANODIC_FIRST = POSITIVE_FIRST"""

class StimPolarity(_StimPolarity, metaclass=_StimPolarityEnumTypeWrapper): ...

CATHODIC_FIRST: StimPolarity.ValueType  # 0
"""CATHODIC_FIRST = NEGATIVE_FIRST"""
ANODIC_FIRST: StimPolarity.ValueType  # 1
"""ANODIC_FIRST = POSITIVE_FIRST"""
global___StimPolarity = StimPolarity

class _StimTriggerEdgeOrLevel:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimTriggerEdgeOrLevelEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimTriggerEdgeOrLevel.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ST_EDGE: _StimTriggerEdgeOrLevel.ValueType  # 0
    ST_LEVEL: _StimTriggerEdgeOrLevel.ValueType  # 1

class StimTriggerEdgeOrLevel(_StimTriggerEdgeOrLevel, metaclass=_StimTriggerEdgeOrLevelEnumTypeWrapper): ...

ST_EDGE: StimTriggerEdgeOrLevel.ValueType  # 0
ST_LEVEL: StimTriggerEdgeOrLevel.ValueType  # 1
global___StimTriggerEdgeOrLevel = StimTriggerEdgeOrLevel

class _StimTriggerHighOrLow:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimTriggerHighOrLowEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimTriggerHighOrLow.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ST_HIGH: _StimTriggerHighOrLow.ValueType  # 0
    ST_LOW: _StimTriggerHighOrLow.ValueType  # 1

class StimTriggerHighOrLow(_StimTriggerHighOrLow, metaclass=_StimTriggerHighOrLowEnumTypeWrapper): ...

ST_HIGH: StimTriggerHighOrLow.ValueType  # 0
ST_LOW: StimTriggerHighOrLow.ValueType  # 1
global___StimTriggerHighOrLow = StimTriggerHighOrLow

class _StimPulseOrTrain:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimPulseOrTrainEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimPulseOrTrain.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SINGLE_PULSE: _StimPulseOrTrain.ValueType  # 0
    PULSE_TRAIN: _StimPulseOrTrain.ValueType  # 1

class StimPulseOrTrain(_StimPulseOrTrain, metaclass=_StimPulseOrTrainEnumTypeWrapper): ...

SINGLE_PULSE: StimPulseOrTrain.ValueType  # 0
PULSE_TRAIN: StimPulseOrTrain.ValueType  # 1
global___StimPulseOrTrain = StimPulseOrTrain

class _StimStep:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StimStepEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StimStep.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    StimStepSizeMin: _StimStep.ValueType  # 0
    StimStepSize10nA: _StimStep.ValueType  # 1
    StimStepSize20nA: _StimStep.ValueType  # 2
    StimStepSize50nA: _StimStep.ValueType  # 3
    StimStepSize100nA: _StimStep.ValueType  # 4
    StimStepSize200nA: _StimStep.ValueType  # 5
    StimStepSize500nA: _StimStep.ValueType  # 6
    StimStepSize1uA: _StimStep.ValueType  # 7
    StimStepSize2uA: _StimStep.ValueType  # 8
    StimStepSize5uA: _StimStep.ValueType  # 9
    StimStepSize10uA: _StimStep.ValueType  # 10
    StimStepSizeMax: _StimStep.ValueType  # 11

class StimStep(_StimStep, metaclass=_StimStepEnumTypeWrapper): ...

StimStepSizeMin: StimStep.ValueType  # 0
StimStepSize10nA: StimStep.ValueType  # 1
StimStepSize20nA: StimStep.ValueType  # 2
StimStepSize50nA: StimStep.ValueType  # 3
StimStepSize100nA: StimStep.ValueType  # 4
StimStepSize200nA: StimStep.ValueType  # 5
StimStepSize500nA: StimStep.ValueType  # 6
StimStepSize1uA: StimStep.ValueType  # 7
StimStepSize2uA: StimStep.ValueType  # 8
StimStepSize5uA: StimStep.ValueType  # 9
StimStepSize10uA: StimStep.ValueType  # 10
StimStepSizeMax: StimStep.ValueType  # 11
global___StimStep = StimStep

@typing.final
class RestartRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    mode: global___BackboneMode.ValueType
    def __init__(
        self,
        *,
        mode: global___BackboneMode.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ...

global___RestartRequest = RestartRequest

@typing.final
class SetProfileRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    DUR_FIELD_NUMBER: builtins.int
    id: builtins.str
    type: builtins.str
    dur: builtins.float
    def __init__(
        self,
        *,
        id: builtins.str | None = ...,
        type: builtins.str | None = ...,
        dur: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dur", b"dur", "id", b"id", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dur", b"dur", "id", b"id", "type", b"type"]) -> None: ...

global___SetProfileRequest = SetProfileRequest

@typing.final
class LogSystemRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _LogSystemMode:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _LogSystemModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LogSystemRequest._LogSystemMode.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        config: LogSystemRequest._LogSystemMode.ValueType  # 0
        status: LogSystemRequest._LogSystemMode.ValueType  # 1
        port_map: LogSystemRequest._LogSystemMode.ValueType  # 2
        pcache: LogSystemRequest._LogSystemMode.ValueType  # 3
        sigstats: LogSystemRequest._LogSystemMode.ValueType  # 4
        neurons_stats: LogSystemRequest._LogSystemMode.ValueType  # 6
        """sigstats1 = 5; // deprecated"""
        base_signalgroup_map: LogSystemRequest._LogSystemMode.ValueType  # 7

    class LogSystemMode(_LogSystemMode, metaclass=_LogSystemModeEnumTypeWrapper): ...
    config: LogSystemRequest.LogSystemMode.ValueType  # 0
    status: LogSystemRequest.LogSystemMode.ValueType  # 1
    port_map: LogSystemRequest.LogSystemMode.ValueType  # 2
    pcache: LogSystemRequest.LogSystemMode.ValueType  # 3
    sigstats: LogSystemRequest.LogSystemMode.ValueType  # 4
    neurons_stats: LogSystemRequest.LogSystemMode.ValueType  # 6
    """sigstats1 = 5; // deprecated"""
    base_signalgroup_map: LogSystemRequest.LogSystemMode.ValueType  # 7

    class _LogSystemOutputMode:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _LogSystemOutputModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LogSystemRequest._LogSystemOutputMode.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        LOG_OUT_STDERR: LogSystemRequest._LogSystemOutputMode.ValueType  # 0
        LOG_OUT_CSV: LogSystemRequest._LogSystemOutputMode.ValueType  # 1
        LOG_OUT_MD: LogSystemRequest._LogSystemOutputMode.ValueType  # 2

    class LogSystemOutputMode(_LogSystemOutputMode, metaclass=_LogSystemOutputModeEnumTypeWrapper): ...
    LOG_OUT_STDERR: LogSystemRequest.LogSystemOutputMode.ValueType  # 0
    LOG_OUT_CSV: LogSystemRequest.LogSystemOutputMode.ValueType  # 1
    LOG_OUT_MD: LogSystemRequest.LogSystemOutputMode.ValueType  # 2

    MODE_FIELD_NUMBER: builtins.int
    OUTMODE_FIELD_NUMBER: builtins.int
    OUTPATHANDFILE_FIELD_NUMBER: builtins.int
    mode: global___LogSystemRequest.LogSystemMode.ValueType
    outMode: global___LogSystemRequest.LogSystemOutputMode.ValueType
    outPathAndFile: builtins.str
    def __init__(
        self,
        *,
        mode: global___LogSystemRequest.LogSystemMode.ValueType | None = ...,
        outMode: global___LogSystemRequest.LogSystemOutputMode.ValueType | None = ...,
        outPathAndFile: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode", "outMode", b"outMode", "outPathAndFile", b"outPathAndFile"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode", "outMode", b"outMode", "outPathAndFile", b"outPathAndFile"]) -> None: ...

global___LogSystemRequest = LogSystemRequest

@typing.final
class SetStreamRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    mode: global___StreamMode.ValueType
    def __init__(
        self,
        *,
        mode: global___StreamMode.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ...

global___SetStreamRequest = SetStreamRequest

@typing.final
class SetRecordRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    mode: global___RecordMode.ValueType
    port: common_pb2.Port.ValueType
    """not set = system level record control"""
    def __init__(
        self,
        *,
        mode: global___RecordMode.ValueType | None = ...,
        port: common_pb2.Port.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode", "port", b"port"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode", "port", b"port"]) -> None: ...

global___SetRecordRequest = SetRecordRequest

@typing.final
class SetConfigCoreRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SAMPFREQ_FIELD_NUMBER: builtins.int
    LOOPDUR_FIELD_NUMBER: builtins.int
    PCACHEPERSISTENCE_FIELD_NUMBER: builtins.int
    CABLEDELAY_FIELD_NUMBER: builtins.int
    sampFreq: builtins.float
    loopDur: builtins.float
    """TODO currently immutable parameter; make mutable"""
    pcachePersistence: builtins.float
    """TODO currently immutable parameter; make mutable"""
    @property
    def cableDelay(self) -> global___CableDelay: ...
    def __init__(
        self,
        *,
        sampFreq: builtins.float | None = ...,
        loopDur: builtins.float | None = ...,
        pcachePersistence: builtins.float | None = ...,
        cableDelay: global___CableDelay | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cableDelay", b"cableDelay", "loopDur", b"loopDur", "pcachePersistence", b"pcachePersistence", "sampFreq", b"sampFreq"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cableDelay", b"cableDelay", "loopDur", b"loopDur", "pcachePersistence", b"pcachePersistence", "sampFreq", b"sampFreq"]) -> None: ...

global___SetConfigCoreRequest = SetConfigCoreRequest

@typing.final
class CableDelay(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PORT_FIELD_NUMBER: builtins.int
    CABLEDELAY_FIELD_NUMBER: builtins.int
    ISAUTO_FIELD_NUMBER: builtins.int
    port: common_pb2.Port.ValueType
    cableDelay: builtins.int
    isAuto: builtins.bool
    def __init__(
        self,
        *,
        port: common_pb2.Port.ValueType | None = ...,
        cableDelay: builtins.int | None = ...,
        isAuto: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cableDelay", b"cableDelay", "isAuto", b"isAuto", "port", b"port"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cableDelay", b"cableDelay", "isAuto", b"isAuto", "port", b"port"]) -> None: ...

global___CableDelay = CableDelay

@typing.final
class CableDelays(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class CableDelaysEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> global___CableDelay: ...
        def __init__(
            self,
            *,
            key: builtins.int | None = ...,
            value: global___CableDelay | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    CABLEDELAYS_FIELD_NUMBER: builtins.int
    @property
    def cableDelays(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___CableDelay]:
        """key is Port enum val"""

    def __init__(
        self,
        *,
        cableDelays: collections.abc.Mapping[builtins.int, global___CableDelay] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["cableDelays", b"cableDelays"]) -> None: ...

global___CableDelays = CableDelays

@typing.final
class ConfigCore(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ALLEGOCORESERVERPORT_FIELD_NUMBER: builtins.int
    BASESAMPFREQ_FIELD_NUMBER: builtins.int
    STREAMLOOPDURMS_FIELD_NUMBER: builtins.int
    CABLEDELAYS_FIELD_NUMBER: builtins.int
    BACKBONEMODE_FIELD_NUMBER: builtins.int
    HASXDAQGPIOEXPANDER_FIELD_NUMBER: builtins.int
    allegoCoreServerPort: builtins.str
    baseSampFreq: builtins.float
    streamLoopDurMs: builtins.int
    backboneMode: global___BackboneMode.ValueType
    hasXDAQGPIOExpander: builtins.bool
    @property
    def cableDelays(self) -> global___CableDelays: ...
    def __init__(
        self,
        *,
        allegoCoreServerPort: builtins.str | None = ...,
        baseSampFreq: builtins.float | None = ...,
        streamLoopDurMs: builtins.int | None = ...,
        cableDelays: global___CableDelays | None = ...,
        backboneMode: global___BackboneMode.ValueType | None = ...,
        hasXDAQGPIOExpander: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["allegoCoreServerPort", b"allegoCoreServerPort", "backboneMode", b"backboneMode", "baseSampFreq", b"baseSampFreq", "cableDelays", b"cableDelays", "hasXDAQGPIOExpander", b"hasXDAQGPIOExpander", "streamLoopDurMs", b"streamLoopDurMs"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["allegoCoreServerPort", b"allegoCoreServerPort", "backboneMode", b"backboneMode", "baseSampFreq", b"baseSampFreq", "cableDelays", b"cableDelays", "hasXDAQGPIOExpander", b"hasXDAQGPIOExpander", "streamLoopDurMs", b"streamLoopDurMs"]) -> None: ...

global___ConfigCore = ConfigCore

@typing.final
class RecordingStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RECORDMODE_FIELD_NUMBER: builtins.int
    ACTIVEFILENAME_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    RECORDMODEPORTA_FIELD_NUMBER: builtins.int
    RECORDMODEPORTB_FIELD_NUMBER: builtins.int
    RECORDMODEPORTC_FIELD_NUMBER: builtins.int
    RECORDMODEPORTD_FIELD_NUMBER: builtins.int
    RECORDMODEPORTE_FIELD_NUMBER: builtins.int
    RECORDMODEPORTF_FIELD_NUMBER: builtins.int
    RECORDMODEPORTG_FIELD_NUMBER: builtins.int
    RECORDMODEPORTH_FIELD_NUMBER: builtins.int
    recordMode: global___RecordMode.ValueType
    """is any port recording"""
    activeFileName: builtins.str
    duration: builtins.float
    error: builtins.str
    recordModePortA: global___RecordMode.ValueType
    """is port A recording"""
    recordModePortB: global___RecordMode.ValueType
    recordModePortC: global___RecordMode.ValueType
    recordModePortD: global___RecordMode.ValueType
    recordModePortE: global___RecordMode.ValueType
    recordModePortF: global___RecordMode.ValueType
    recordModePortG: global___RecordMode.ValueType
    recordModePortH: global___RecordMode.ValueType
    def __init__(
        self,
        *,
        recordMode: global___RecordMode.ValueType | None = ...,
        activeFileName: builtins.str | None = ...,
        duration: builtins.float | None = ...,
        error: builtins.str | None = ...,
        recordModePortA: global___RecordMode.ValueType | None = ...,
        recordModePortB: global___RecordMode.ValueType | None = ...,
        recordModePortC: global___RecordMode.ValueType | None = ...,
        recordModePortD: global___RecordMode.ValueType | None = ...,
        recordModePortE: global___RecordMode.ValueType | None = ...,
        recordModePortF: global___RecordMode.ValueType | None = ...,
        recordModePortG: global___RecordMode.ValueType | None = ...,
        recordModePortH: global___RecordMode.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["activeFileName", b"activeFileName", "duration", b"duration", "error", b"error", "recordMode", b"recordMode", "recordModePortA", b"recordModePortA", "recordModePortB", b"recordModePortB", "recordModePortC", b"recordModePortC", "recordModePortD", b"recordModePortD", "recordModePortE", b"recordModePortE", "recordModePortF", b"recordModePortF", "recordModePortG", b"recordModePortG", "recordModePortH", b"recordModePortH"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["activeFileName", b"activeFileName", "duration", b"duration", "error", b"error", "recordMode", b"recordMode", "recordModePortA", b"recordModePortA", "recordModePortB", b"recordModePortB", "recordModePortC", b"recordModePortC", "recordModePortD", b"recordModePortD", "recordModePortE", b"recordModePortE", "recordModePortF", b"recordModePortF", "recordModePortG", b"recordModePortG", "recordModePortH", b"recordModePortH"]) -> None: ...

global___RecordingStatus = RecordingStatus

@typing.final
class StreamingStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STREAMMODE_FIELD_NUMBER: builtins.int
    PRIMARYCACHETRANGE_FIELD_NUMBER: builtins.int
    HARDWAREMEMORYLEVEL_FIELD_NUMBER: builtins.int
    streamMode: global___StreamMode.ValueType
    hardwareMemoryLevel: builtins.float
    @property
    def primaryCacheTRange(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        streamMode: global___StreamMode.ValueType | None = ...,
        primaryCacheTRange: collections.abc.Iterable[builtins.float] | None = ...,
        hardwareMemoryLevel: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["hardwareMemoryLevel", b"hardwareMemoryLevel", "streamMode", b"streamMode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["hardwareMemoryLevel", b"hardwareMemoryLevel", "primaryCacheTRange", b"primaryCacheTRange", "streamMode", b"streamMode"]) -> None: ...

global___StreamingStatus = StreamingStatus

@typing.final
class BackboneStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STREAMING_FIELD_NUMBER: builtins.int
    RECORDING_FIELD_NUMBER: builtins.int
    PORTS_FIELD_NUMBER: builtins.int
    ISCONNECTED_FIELD_NUMBER: builtins.int
    GPIOCHANNELCOUNT_FIELD_NUMBER: builtins.int
    isConnected: builtins.bool
    @property
    def streaming(self) -> global___StreamingStatus: ...
    @property
    def recording(self) -> global___RecordingStatus: ...
    @property
    def ports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common_pb2.PortChannelCount]: ...
    @property
    def gpioChannelCount(self) -> common_pb2.GPIOChannelCount: ...
    def __init__(
        self,
        *,
        streaming: global___StreamingStatus | None = ...,
        recording: global___RecordingStatus | None = ...,
        ports: collections.abc.Iterable[common_pb2.PortChannelCount] | None = ...,
        isConnected: builtins.bool | None = ...,
        gpioChannelCount: common_pb2.GPIOChannelCount | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gpioChannelCount", b"gpioChannelCount", "isConnected", b"isConnected", "recording", b"recording", "streaming", b"streaming"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["gpioChannelCount", b"gpioChannelCount", "isConnected", b"isConnected", "ports", b"ports", "recording", b"recording", "streaming", b"streaming"]) -> None: ...

global___BackboneStatus = BackboneStatus

@typing.final
class ConfigAndStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STREAMING_FIELD_NUMBER: builtins.int
    RECORDING_FIELD_NUMBER: builtins.int
    PORTS_FIELD_NUMBER: builtins.int
    ISCONNECTED_FIELD_NUMBER: builtins.int
    GPIOCHANNELCOUNT_FIELD_NUMBER: builtins.int
    BASESAMPFREQ_FIELD_NUMBER: builtins.int
    CABLEDELAYS_FIELD_NUMBER: builtins.int
    BACKBONEMODE_FIELD_NUMBER: builtins.int
    HASXDAQGPIOEXPANDER_FIELD_NUMBER: builtins.int
    isConnected: builtins.bool
    baseSampFreq: builtins.float
    backboneMode: global___BackboneMode.ValueType
    hasXDAQGPIOExpander: builtins.bool
    @property
    def streaming(self) -> global___StreamingStatus: ...
    @property
    def recording(self) -> global___RecordingStatus: ...
    @property
    def ports(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common_pb2.PortChannelCount]: ...
    @property
    def gpioChannelCount(self) -> common_pb2.GPIOChannelCount: ...
    @property
    def cableDelays(self) -> global___CableDelays: ...
    def __init__(
        self,
        *,
        streaming: global___StreamingStatus | None = ...,
        recording: global___RecordingStatus | None = ...,
        ports: collections.abc.Iterable[common_pb2.PortChannelCount] | None = ...,
        isConnected: builtins.bool | None = ...,
        gpioChannelCount: common_pb2.GPIOChannelCount | None = ...,
        baseSampFreq: builtins.float | None = ...,
        cableDelays: global___CableDelays | None = ...,
        backboneMode: global___BackboneMode.ValueType | None = ...,
        hasXDAQGPIOExpander: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["backboneMode", b"backboneMode", "baseSampFreq", b"baseSampFreq", "cableDelays", b"cableDelays", "gpioChannelCount", b"gpioChannelCount", "hasXDAQGPIOExpander", b"hasXDAQGPIOExpander", "isConnected", b"isConnected", "recording", b"recording", "streaming", b"streaming"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["backboneMode", b"backboneMode", "baseSampFreq", b"baseSampFreq", "cableDelays", b"cableDelays", "gpioChannelCount", b"gpioChannelCount", "hasXDAQGPIOExpander", b"hasXDAQGPIOExpander", "isConnected", b"isConnected", "ports", b"ports", "recording", b"recording", "streaming", b"streaming"]) -> None: ...

global___ConfigAndStatus = ConfigAndStatus

@typing.final
class ConfigRecording(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BASEFILENAME_FIELD_NUMBER: builtins.int
    BASEFILEPATH_FIELD_NUMBER: builtins.int
    DATASOURCEIDX_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    SPLITFILESBYPORT_FIELD_NUMBER: builtins.int
    FORCESTARTATTSTAMP0_FIELD_NUMBER: builtins.int
    RECORDINGTYPE_FIELD_NUMBER: builtins.int
    baseFileName: builtins.str
    baseFilePath: builtins.str
    dataSourceIdx: builtins.int
    timeStamp: builtins.bool
    splitFilesByPort: builtins.bool
    forceStartAtTStamp0: builtins.bool
    recordingType: global___DataRecordingType.ValueType
    def __init__(
        self,
        *,
        baseFileName: builtins.str | None = ...,
        baseFilePath: builtins.str | None = ...,
        dataSourceIdx: builtins.int | None = ...,
        timeStamp: builtins.bool | None = ...,
        splitFilesByPort: builtins.bool | None = ...,
        forceStartAtTStamp0: builtins.bool | None = ...,
        recordingType: global___DataRecordingType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["baseFileName", b"baseFileName", "baseFilePath", b"baseFilePath", "dataSourceIdx", b"dataSourceIdx", "forceStartAtTStamp0", b"forceStartAtTStamp0", "recordingType", b"recordingType", "splitFilesByPort", b"splitFilesByPort", "timeStamp", b"timeStamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["baseFileName", b"baseFileName", "baseFilePath", b"baseFilePath", "dataSourceIdx", b"dataSourceIdx", "forceStartAtTStamp0", b"forceStartAtTStamp0", "recordingType", b"recordingType", "splitFilesByPort", b"splitFilesByPort", "timeStamp", b"timeStamp"]) -> None: ...

global___ConfigRecording = ConfigRecording

@typing.final
class DIOModeEventsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANIDX_FIELD_NUMBER: builtins.int
    EVENTTHRESHOLD_FIELD_NUMBER: builtins.int
    EVENTPOLARITY_FIELD_NUMBER: builtins.int
    chanIdx: builtins.int
    eventThreshold: builtins.float
    eventPolarity: builtins.bool
    def __init__(
        self,
        *,
        chanIdx: builtins.int | None = ...,
        eventThreshold: builtins.float | None = ...,
        eventPolarity: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["chanIdx", b"chanIdx", "eventPolarity", b"eventPolarity", "eventThreshold", b"eventThreshold"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chanIdx", b"chanIdx", "eventPolarity", b"eventPolarity", "eventThreshold", b"eventThreshold"]) -> None: ...

global___DIOModeEventsRequest = DIOModeEventsRequest

@typing.final
class DIOModeManualRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANIDX_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    chanIdx: builtins.int
    state: builtins.bool
    def __init__(
        self,
        *,
        chanIdx: builtins.int | None = ...,
        state: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["chanIdx", b"chanIdx", "state", b"state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chanIdx", b"chanIdx", "state", b"state"]) -> None: ...

global___DIOModeManualRequest = DIOModeManualRequest

@typing.final
class DIOModeGatedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GATEDPOLARITY_FIELD_NUMBER: builtins.int
    gatedPolarity: builtins.bool
    def __init__(
        self,
        *,
        gatedPolarity: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gatedPolarity", b"gatedPolarity"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["gatedPolarity", b"gatedPolarity"]) -> None: ...

global___DIOModeGatedRequest = DIOModeGatedRequest

@typing.final
class DIOModePulseRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REQINTERVALSEC_FIELD_NUMBER: builtins.int
    REQDURATIONSEC_FIELD_NUMBER: builtins.int
    REQNTVCHANIDX_FIELD_NUMBER: builtins.int
    reqIntervalSec: builtins.float
    """Time between pulse starts (seconds)"""
    reqDurationSec: builtins.float
    """Pulse duration (seconds)"""
    reqNtvChanIdx: builtins.int
    """Native channel index (-1 for all DOUT channels)"""
    def __init__(
        self,
        *,
        reqIntervalSec: builtins.float | None = ...,
        reqDurationSec: builtins.float | None = ...,
        reqNtvChanIdx: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["reqDurationSec", b"reqDurationSec", "reqIntervalSec", b"reqIntervalSec", "reqNtvChanIdx", b"reqNtvChanIdx"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["reqDurationSec", b"reqDurationSec", "reqIntervalSec", b"reqIntervalSec", "reqNtvChanIdx", b"reqNtvChanIdx"]) -> None: ...

global___DIOModePulseRequest = DIOModePulseRequest

@typing.final
class DigitalOutChannelRegister(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MANUALSTATE_FIELD_NUMBER: builtins.int
    EVENTTHRESHOLD_FIELD_NUMBER: builtins.int
    EVENTPOLARITY_FIELD_NUMBER: builtins.int
    NTVCHANIDX_FIELD_NUMBER: builtins.int
    PULSEINTERVALSEC_FIELD_NUMBER: builtins.int
    PULSEDURATIONSEC_FIELD_NUMBER: builtins.int
    manualState: builtins.bool
    eventThreshold: builtins.float
    """microvolts"""
    eventPolarity: builtins.bool
    ntvChanIdx: builtins.int
    pulseIntervalSec: builtins.float
    pulseDurationSec: builtins.float
    def __init__(
        self,
        *,
        manualState: builtins.bool | None = ...,
        eventThreshold: builtins.float | None = ...,
        eventPolarity: builtins.bool | None = ...,
        ntvChanIdx: builtins.int | None = ...,
        pulseIntervalSec: builtins.float | None = ...,
        pulseDurationSec: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["eventPolarity", b"eventPolarity", "eventThreshold", b"eventThreshold", "manualState", b"manualState", "ntvChanIdx", b"ntvChanIdx", "pulseDurationSec", b"pulseDurationSec", "pulseIntervalSec", b"pulseIntervalSec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["eventPolarity", b"eventPolarity", "eventThreshold", b"eventThreshold", "manualState", b"manualState", "ntvChanIdx", b"ntvChanIdx", "pulseDurationSec", b"pulseDurationSec", "pulseIntervalSec", b"pulseIntervalSec"]) -> None: ...

global___DigitalOutChannelRegister = DigitalOutChannelRegister

@typing.final
class DigitalOutRegister(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    DOUTCHANREGISTERS_FIELD_NUMBER: builtins.int
    GATEDPOLARITY_FIELD_NUMBER: builtins.int
    REQPULSEINTERVALSEC_FIELD_NUMBER: builtins.int
    REQPULSEDURATIONSEC_FIELD_NUMBER: builtins.int
    REQPULSENTVCHANIDX_FIELD_NUMBER: builtins.int
    mode: global___DIOMode.ValueType
    gatedPolarity: builtins.bool
    reqPulseIntervalSec: builtins.float
    reqPulseDurationSec: builtins.float
    reqPulseNtvChanIdx: builtins.int
    @property
    def doutChanRegisters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DigitalOutChannelRegister]: ...
    def __init__(
        self,
        *,
        mode: global___DIOMode.ValueType | None = ...,
        doutChanRegisters: collections.abc.Iterable[global___DigitalOutChannelRegister] | None = ...,
        gatedPolarity: builtins.bool | None = ...,
        reqPulseIntervalSec: builtins.float | None = ...,
        reqPulseDurationSec: builtins.float | None = ...,
        reqPulseNtvChanIdx: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gatedPolarity", b"gatedPolarity", "mode", b"mode", "reqPulseDurationSec", b"reqPulseDurationSec", "reqPulseIntervalSec", b"reqPulseIntervalSec", "reqPulseNtvChanIdx", b"reqPulseNtvChanIdx"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["doutChanRegisters", b"doutChanRegisters", "gatedPolarity", b"gatedPolarity", "mode", b"mode", "reqPulseDurationSec", b"reqPulseDurationSec", "reqPulseIntervalSec", b"reqPulseIntervalSec", "reqPulseNtvChanIdx", b"reqPulseNtvChanIdx"]) -> None: ...

global___DigitalOutRegister = DigitalOutRegister

@typing.final
class DACGainRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GAIN_FIELD_NUMBER: builtins.int
    gain: builtins.int
    def __init__(
        self,
        *,
        gain: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gain", b"gain"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["gain", b"gain"]) -> None: ...

global___DACGainRequest = DACGainRequest

@typing.final
class DACHighPassRegister(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENABLE_FIELD_NUMBER: builtins.int
    CUTOFFFREQ_FIELD_NUMBER: builtins.int
    enable: builtins.bool
    cutoffFreq: builtins.float
    def __init__(
        self,
        *,
        enable: builtins.bool | None = ...,
        cutoffFreq: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cutoffFreq", b"cutoffFreq", "enable", b"enable"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cutoffFreq", b"cutoffFreq", "enable", b"enable"]) -> None: ...

global___DACHighPassRegister = DACHighPassRegister

@typing.final
class AnalogOutChannelRegister(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PRINTVCHANIDX_FIELD_NUMBER: builtins.int
    ANALOGOUTNTVCHANIDX_FIELD_NUMBER: builtins.int
    STREAM_FIELD_NUMBER: builtins.int
    STREAMOFFSETIDX_FIELD_NUMBER: builtins.int
    PriNtvChanIdx: builtins.int
    AnalogOutNtvChanIdx: builtins.int
    Stream: builtins.int
    StreamOffsetIdx: builtins.int
    def __init__(
        self,
        *,
        PriNtvChanIdx: builtins.int | None = ...,
        AnalogOutNtvChanIdx: builtins.int | None = ...,
        Stream: builtins.int | None = ...,
        StreamOffsetIdx: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["AnalogOutNtvChanIdx", b"AnalogOutNtvChanIdx", "PriNtvChanIdx", b"PriNtvChanIdx", "Stream", b"Stream", "StreamOffsetIdx", b"StreamOffsetIdx"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["AnalogOutNtvChanIdx", b"AnalogOutNtvChanIdx", "PriNtvChanIdx", b"PriNtvChanIdx", "Stream", b"Stream", "StreamOffsetIdx", b"StreamOffsetIdx"]) -> None: ...

global___AnalogOutChannelRegister = AnalogOutChannelRegister

@typing.final
class AnalogOutRegister(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ANALOGOUTCHANNELS_FIELD_NUMBER: builtins.int
    GAIN_FIELD_NUMBER: builtins.int
    HIGHPASSREG_FIELD_NUMBER: builtins.int
    gain: builtins.int
    @property
    def analogOutChannels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AnalogOutChannelRegister]: ...
    @property
    def highpassReg(self) -> global___DACHighPassRegister: ...
    def __init__(
        self,
        *,
        analogOutChannels: collections.abc.Iterable[global___AnalogOutChannelRegister] | None = ...,
        gain: builtins.int | None = ...,
        highpassReg: global___DACHighPassRegister | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["gain", b"gain", "highpassReg", b"highpassReg"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["analogOutChannels", b"analogOutChannels", "gain", b"gain", "highpassReg", b"highpassReg"]) -> None: ...

global___AnalogOutRegister = AnalogOutRegister

@typing.final
class SerialNumber(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERIALNUM_FIELD_NUMBER: builtins.int
    serialNum: builtins.str
    def __init__(
        self,
        *,
        serialNum: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["serialNum", b"serialNum"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["serialNum", b"serialNum"]) -> None: ...

global___SerialNumber = SerialNumber

@typing.final
class SetSimPortsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class SimPort(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PORT_FIELD_NUMBER: builtins.int
        NUMCHAN_FIELD_NUMBER: builtins.int
        port: common_pb2.Port.ValueType
        numChan: builtins.int
        def __init__(
            self,
            *,
            port: common_pb2.Port.ValueType | None = ...,
            numChan: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["numChan", b"numChan", "port", b"port"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["numChan", b"numChan", "port", b"port"]) -> None: ...

    SIMPORT_FIELD_NUMBER: builtins.int
    @property
    def simPort(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SetSimPortsRequest.SimPort]: ...
    def __init__(
        self,
        *,
        simPort: collections.abc.Iterable[global___SetSimPortsRequest.SimPort] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["simPort", b"simPort"]) -> None: ...

global___SetSimPortsRequest = SetSimPortsRequest

@typing.final
class SetHasBNCBreakoutRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HASBNCBREAKOUT_FIELD_NUMBER: builtins.int
    hasBNCBreakout: builtins.bool
    def __init__(
        self,
        *,
        hasBNCBreakout: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["hasBNCBreakout", b"hasBNCBreakout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["hasBNCBreakout", b"hasBNCBreakout"]) -> None: ...

global___SetHasBNCBreakoutRequest = SetHasBNCBreakoutRequest

@typing.final
class SetMuxChannelRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANNEL_FIELD_NUMBER: builtins.int
    channel: builtins.int
    def __init__(
        self,
        *,
        channel: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["channel", b"channel"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel", b"channel"]) -> None: ...

global___SetMuxChannelRequest = SetMuxChannelRequest

@typing.final
class SetPotVoltageRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VOLTAGE_FIELD_NUMBER: builtins.int
    voltage: builtins.float
    def __init__(
        self,
        *,
        voltage: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["voltage", b"voltage"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["voltage", b"voltage"]) -> None: ...

global___SetPotVoltageRequest = SetPotVoltageRequest

@typing.final
class GetADCLevelReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LEVEL_FIELD_NUMBER: builtins.int
    level: builtins.float
    def __init__(
        self,
        *,
        level: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["level", b"level"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["level", b"level"]) -> None: ...

global___GetADCLevelReply = GetADCLevelReply

@typing.final
class SetPotRangeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RANGE_FIELD_NUMBER: builtins.int
    range: builtins.int
    def __init__(
        self,
        *,
        range: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["range", b"range"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["range", b"range"]) -> None: ...

global___SetPotRangeRequest = SetPotRangeRequest

@typing.final
class SetPotModeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    mode: builtins.bool
    def __init__(
        self,
        *,
        mode: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ...

global___SetPotModeRequest = SetPotModeRequest

@typing.final
class SetPotCellEnableRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENABLE_FIELD_NUMBER: builtins.int
    enable: builtins.bool
    def __init__(
        self,
        *,
        enable: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["enable", b"enable"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["enable", b"enable"]) -> None: ...

global___SetPotCellEnableRequest = SetPotCellEnableRequest

@typing.final
class ReadWireOutRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WIREOUTADDRESS_FIELD_NUMBER: builtins.int
    wireOutAddress: builtins.int
    def __init__(
        self,
        *,
        wireOutAddress: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["wireOutAddress", b"wireOutAddress"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["wireOutAddress", b"wireOutAddress"]) -> None: ...

global___ReadWireOutRequest = ReadWireOutRequest

@typing.final
class ReadWireOutReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WIREOUTVALUE_FIELD_NUMBER: builtins.int
    wireOutValue: builtins.int
    def __init__(
        self,
        *,
        wireOutValue: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["wireOutValue", b"wireOutValue"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["wireOutValue", b"wireOutValue"]) -> None: ...

global___ReadWireOutReply = ReadWireOutReply

@typing.final
class LogsysConfigReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SYSTEMMODE_FIELD_NUMBER: builtins.int
    BASESAMPFREQ_FIELD_NUMBER: builtins.int
    STREAMLOOPDURMS_FIELD_NUMBER: builtins.int
    PRICACHEPERSISTDUR_FIELD_NUMBER: builtins.int
    PRICACHESTATSUPDATEPERIOD_FIELD_NUMBER: builtins.int
    ACTIVESIGS_FIELD_NUMBER: builtins.int
    PRICHANS_FIELD_NUMBER: builtins.int
    AUXCHANS_FIELD_NUMBER: builtins.int
    DINCHANS_FIELD_NUMBER: builtins.int
    DOUTCHANS_FIELD_NUMBER: builtins.int
    PORTSPEC_FIELD_NUMBER: builtins.int
    NUMCONNECTEDPORTS_FIELD_NUMBER: builtins.int
    systemMode: global___BackboneMode.ValueType
    baseSampFreq: builtins.float
    streamLoopDurMs: builtins.int
    priCachePersistDur: builtins.float
    priCacheStatsUpdatePeriod: builtins.float
    activeSigs: builtins.int
    priChans: builtins.int
    auxChans: builtins.int
    dinChans: builtins.int
    doutChans: builtins.int
    numConnectedPorts: builtins.int
    @property
    def portSpec(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PortInfo]: ...
    def __init__(
        self,
        *,
        systemMode: global___BackboneMode.ValueType | None = ...,
        baseSampFreq: builtins.float | None = ...,
        streamLoopDurMs: builtins.int | None = ...,
        priCachePersistDur: builtins.float | None = ...,
        priCacheStatsUpdatePeriod: builtins.float | None = ...,
        activeSigs: builtins.int | None = ...,
        priChans: builtins.int | None = ...,
        auxChans: builtins.int | None = ...,
        dinChans: builtins.int | None = ...,
        doutChans: builtins.int | None = ...,
        portSpec: collections.abc.Iterable[global___PortInfo] | None = ...,
        numConnectedPorts: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["activeSigs", b"activeSigs", "auxChans", b"auxChans", "baseSampFreq", b"baseSampFreq", "dinChans", b"dinChans", "doutChans", b"doutChans", "numConnectedPorts", b"numConnectedPorts", "priCachePersistDur", b"priCachePersistDur", "priCacheStatsUpdatePeriod", b"priCacheStatsUpdatePeriod", "priChans", b"priChans", "streamLoopDurMs", b"streamLoopDurMs", "systemMode", b"systemMode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["activeSigs", b"activeSigs", "auxChans", b"auxChans", "baseSampFreq", b"baseSampFreq", "dinChans", b"dinChans", "doutChans", b"doutChans", "numConnectedPorts", b"numConnectedPorts", "portSpec", b"portSpec", "priCachePersistDur", b"priCachePersistDur", "priCacheStatsUpdatePeriod", b"priCacheStatsUpdatePeriod", "priChans", b"priChans", "streamLoopDurMs", b"streamLoopDurMs", "systemMode", b"systemMode"]) -> None: ...

global___LogsysConfigReply = LogsysConfigReply

@typing.final
class PortInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PORT_FIELD_NUMBER: builtins.int
    PROBE_FIELD_NUMBER: builtins.int
    HEADSTAGE_FIELD_NUMBER: builtins.int
    NUMSIGS_FIELD_NUMBER: builtins.int
    port: common_pb2.Port.ValueType
    """e.g."""
    probe: builtins.str
    headstage: builtins.str
    numSigs: builtins.int
    def __init__(
        self,
        *,
        port: common_pb2.Port.ValueType | None = ...,
        probe: builtins.str | None = ...,
        headstage: builtins.str | None = ...,
        numSigs: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["headstage", b"headstage", "numSigs", b"numSigs", "port", b"port", "probe", b"probe"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["headstage", b"headstage", "numSigs", b"numSigs", "port", b"port", "probe", b"probe"]) -> None: ...

global___PortInfo = PortInfo

@typing.final
class LogsysStatusReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RECSTAT_FIELD_NUMBER: builtins.int
    SYSSTAT_FIELD_NUMBER: builtins.int
    @property
    def recStat(self) -> global___RecorderStatus: ...
    @property
    def sysStat(self) -> global___SystemStatus: ...
    def __init__(
        self,
        *,
        recStat: global___RecorderStatus | None = ...,
        sysStat: global___SystemStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["recStat", b"recStat", "sysStat", b"sysStat"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["recStat", b"recStat", "sysStat", b"sysStat"]) -> None: ...

global___LogsysStatusReply = LogsysStatusReply

@typing.final
class RecorderStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RECORDMODE_FIELD_NUMBER: builtins.int
    DURATION_FIELD_NUMBER: builtins.int
    BETA_FIELD_NUMBER: builtins.int
    SIZEBYTES_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    BASENAME_FIELD_NUMBER: builtins.int
    DATASOURCEIDX_FIELD_NUMBER: builtins.int
    ACTIVEFILENAME_FIELD_NUMBER: builtins.int
    recordMode: global___RecordMode.ValueType
    duration: builtins.float
    beta: builtins.float
    sizeBytes: builtins.int
    path: builtins.str
    baseName: builtins.str
    dataSourceIdx: builtins.int
    activeFileName: builtins.str
    def __init__(
        self,
        *,
        recordMode: global___RecordMode.ValueType | None = ...,
        duration: builtins.float | None = ...,
        beta: builtins.float | None = ...,
        sizeBytes: builtins.int | None = ...,
        path: builtins.str | None = ...,
        baseName: builtins.str | None = ...,
        dataSourceIdx: builtins.int | None = ...,
        activeFileName: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["activeFileName", b"activeFileName", "baseName", b"baseName", "beta", b"beta", "dataSourceIdx", b"dataSourceIdx", "duration", b"duration", "path", b"path", "recordMode", b"recordMode", "sizeBytes", b"sizeBytes"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["activeFileName", b"activeFileName", "baseName", b"baseName", "beta", b"beta", "dataSourceIdx", b"dataSourceIdx", "duration", b"duration", "path", b"path", "recordMode", b"recordMode", "sizeBytes", b"sizeBytes"]) -> None: ...

global___RecorderStatus = RecorderStatus

@typing.final
class SystemStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STREAMMODE_FIELD_NUMBER: builtins.int
    BASESAMPFREQ_FIELD_NUMBER: builtins.int
    NUMPRISIGS_FIELD_NUMBER: builtins.int
    NUMAUXSIGS_FIELD_NUMBER: builtins.int
    NUMDINSIGS_FIELD_NUMBER: builtins.int
    NUMDOUTSIGS_FIELD_NUMBER: builtins.int
    TSTAMPRANGE_FIELD_NUMBER: builtins.int
    TRANGE_FIELD_NUMBER: builtins.int
    STREAMDUR_FIELD_NUMBER: builtins.int
    MEANCHUNKDUR_FIELD_NUMBER: builtins.int
    MEANHARDWAREMEMLEVEL_FIELD_NUMBER: builtins.int
    MAXHARDWAREMEMLEVEL_FIELD_NUMBER: builtins.int
    MINHARDWAREMEMLEVEL_FIELD_NUMBER: builtins.int
    LASTHARDWAREMEMLEVEL_FIELD_NUMBER: builtins.int
    MEANSTREAMLOOPDUR_FIELD_NUMBER: builtins.int
    STREAMEFFICIENCY_FIELD_NUMBER: builtins.int
    streamMode: global___StreamMode.ValueType
    baseSampFreq: builtins.float
    numPriSigs: builtins.int
    numAuxSigs: builtins.int
    numDinSigs: builtins.int
    numDoutSigs: builtins.int
    streamDur: builtins.float
    meanChunkDur: builtins.float
    meanHardwareMemLevel: builtins.float
    maxHardwareMemLevel: builtins.float
    minHardwareMemLevel: builtins.float
    lastHardwareMemLevel: builtins.float
    meanStreamLoopDur: builtins.float
    streamEfficiency: builtins.float
    @property
    def tStampRange(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def tRange(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    def __init__(
        self,
        *,
        streamMode: global___StreamMode.ValueType | None = ...,
        baseSampFreq: builtins.float | None = ...,
        numPriSigs: builtins.int | None = ...,
        numAuxSigs: builtins.int | None = ...,
        numDinSigs: builtins.int | None = ...,
        numDoutSigs: builtins.int | None = ...,
        tStampRange: collections.abc.Iterable[builtins.int] | None = ...,
        tRange: collections.abc.Iterable[builtins.float] | None = ...,
        streamDur: builtins.float | None = ...,
        meanChunkDur: builtins.float | None = ...,
        meanHardwareMemLevel: builtins.float | None = ...,
        maxHardwareMemLevel: builtins.float | None = ...,
        minHardwareMemLevel: builtins.float | None = ...,
        lastHardwareMemLevel: builtins.float | None = ...,
        meanStreamLoopDur: builtins.float | None = ...,
        streamEfficiency: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["baseSampFreq", b"baseSampFreq", "lastHardwareMemLevel", b"lastHardwareMemLevel", "maxHardwareMemLevel", b"maxHardwareMemLevel", "meanChunkDur", b"meanChunkDur", "meanHardwareMemLevel", b"meanHardwareMemLevel", "meanStreamLoopDur", b"meanStreamLoopDur", "minHardwareMemLevel", b"minHardwareMemLevel", "numAuxSigs", b"numAuxSigs", "numDinSigs", b"numDinSigs", "numDoutSigs", b"numDoutSigs", "numPriSigs", b"numPriSigs", "streamDur", b"streamDur", "streamEfficiency", b"streamEfficiency", "streamMode", b"streamMode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["baseSampFreq", b"baseSampFreq", "lastHardwareMemLevel", b"lastHardwareMemLevel", "maxHardwareMemLevel", b"maxHardwareMemLevel", "meanChunkDur", b"meanChunkDur", "meanHardwareMemLevel", b"meanHardwareMemLevel", "meanStreamLoopDur", b"meanStreamLoopDur", "minHardwareMemLevel", b"minHardwareMemLevel", "numAuxSigs", b"numAuxSigs", "numDinSigs", b"numDinSigs", "numDoutSigs", b"numDoutSigs", "numPriSigs", b"numPriSigs", "streamDur", b"streamDur", "streamEfficiency", b"streamEfficiency", "streamMode", b"streamMode", "tRange", b"tRange", "tStampRange", b"tStampRange"]) -> None: ...

global___SystemStatus = SystemStatus

@typing.final
class LogsysPcacheReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    SAMPFREQ_FIELD_NUMBER: builtins.int
    PERSISTDUR_FIELD_NUMBER: builtins.int
    MINNUMDATABLOCKS_FIELD_NUMBER: builtins.int
    SIZEBYTES_FIELD_NUMBER: builtins.int
    TOTALDATABLOCKSPROCESSED_FIELD_NUMBER: builtins.int
    NUMTIMESAMPLES_FIELD_NUMBER: builtins.int
    ALLTIMEMEANDATABLOCKDUR_FIELD_NUMBER: builtins.int
    NUMDATABLOCKS_FIELD_NUMBER: builtins.int
    TRANGE_FIELD_NUMBER: builtins.int
    TSRANGE_FIELD_NUMBER: builtins.int
    NUMPRISIGS_FIELD_NUMBER: builtins.int
    NUMAUXSIGS_FIELD_NUMBER: builtins.int
    NUMDINSIGS_FIELD_NUMBER: builtins.int
    NUMDOUTSIGS_FIELD_NUMBER: builtins.int
    name: builtins.str
    sampFreq: builtins.float
    persistDur: builtins.float
    minNumDatablocks: builtins.int
    sizeBytes: builtins.int
    totalDatablocksProcessed: builtins.int
    numTimeSamples: builtins.int
    allTimeMeanDatablockDur: builtins.float
    numDataBlocks: builtins.int
    numPriSigs: builtins.int
    numAuxSigs: builtins.int
    numDinSigs: builtins.int
    numDoutSigs: builtins.int
    @property
    def tRange(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: ...
    @property
    def tsRange(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        sampFreq: builtins.float | None = ...,
        persistDur: builtins.float | None = ...,
        minNumDatablocks: builtins.int | None = ...,
        sizeBytes: builtins.int | None = ...,
        totalDatablocksProcessed: builtins.int | None = ...,
        numTimeSamples: builtins.int | None = ...,
        allTimeMeanDatablockDur: builtins.float | None = ...,
        numDataBlocks: builtins.int | None = ...,
        tRange: collections.abc.Iterable[builtins.float] | None = ...,
        tsRange: collections.abc.Iterable[builtins.int] | None = ...,
        numPriSigs: builtins.int | None = ...,
        numAuxSigs: builtins.int | None = ...,
        numDinSigs: builtins.int | None = ...,
        numDoutSigs: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["allTimeMeanDatablockDur", b"allTimeMeanDatablockDur", "minNumDatablocks", b"minNumDatablocks", "name", b"name", "numAuxSigs", b"numAuxSigs", "numDataBlocks", b"numDataBlocks", "numDinSigs", b"numDinSigs", "numDoutSigs", b"numDoutSigs", "numPriSigs", b"numPriSigs", "numTimeSamples", b"numTimeSamples", "persistDur", b"persistDur", "sampFreq", b"sampFreq", "sizeBytes", b"sizeBytes", "totalDatablocksProcessed", b"totalDatablocksProcessed"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["allTimeMeanDatablockDur", b"allTimeMeanDatablockDur", "minNumDatablocks", b"minNumDatablocks", "name", b"name", "numAuxSigs", b"numAuxSigs", "numDataBlocks", b"numDataBlocks", "numDinSigs", b"numDinSigs", "numDoutSigs", b"numDoutSigs", "numPriSigs", b"numPriSigs", "numTimeSamples", b"numTimeSamples", "persistDur", b"persistDur", "sampFreq", b"sampFreq", "sizeBytes", b"sizeBytes", "tRange", b"tRange", "totalDatablocksProcessed", b"totalDatablocksProcessed", "tsRange", b"tsRange"]) -> None: ...

global___LogsysPcacheReply = LogsysPcacheReply

@typing.final
class SetTriggerRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANNEL_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    PORT_FIELD_NUMBER: builtins.int
    channel: global___TriggerChannel.ValueType
    enabled: builtins.bool
    port: common_pb2.Port.ValueType
    def __init__(
        self,
        *,
        channel: global___TriggerChannel.ValueType | None = ...,
        enabled: builtins.bool | None = ...,
        port: common_pb2.Port.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["channel", b"channel", "enabled", b"enabled", "port", b"port"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["channel", b"channel", "enabled", b"enabled", "port", b"port"]) -> None: ...

global___SetTriggerRequest = SetTriggerRequest

@typing.final
class TriggerState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ENABLEDCHANNELS_FIELD_NUMBER: builtins.int
    PORTS_FIELD_NUMBER: builtins.int
    @property
    def enabledChannels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___TriggerChannel.ValueType]: ...
    @property
    def ports(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[common_pb2.Port.ValueType]: ...
    def __init__(
        self,
        *,
        enabledChannels: collections.abc.Iterable[global___TriggerChannel.ValueType] | None = ...,
        ports: collections.abc.Iterable[common_pb2.Port.ValueType] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["enabledChannels", b"enabledChannels", "ports", b"ports"]) -> None: ...

global___TriggerState = TriggerState

@typing.final
class LoadAllMosiRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REGISTERVALS_FIELD_NUMBER: builtins.int
    @property
    def registerVals(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        registerVals: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["registerVals", b"registerVals"]) -> None: ...

global___LoadAllMosiRequest = LoadAllMosiRequest

@typing.final
class TransmitMosiRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___TransmitMosiRequest = TransmitMosiRequest

@typing.final
class DumpMisoRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NSAMPLES_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    nSamples: builtins.int
    fileName: builtins.str
    def __init__(
        self,
        *,
        nSamples: builtins.int | None = ...,
        fileName: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fileName", b"fileName", "nSamples", b"nSamples"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fileName", b"fileName", "nSamples", b"nSamples"]) -> None: ...

global___DumpMisoRequest = DumpMisoRequest

@typing.final
class SinapsStatusRegisters(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CALIBRATIONSTATE_FIELD_NUMBER: builtins.int
    CALIBRATIONPROGRESS_FIELD_NUMBER: builtins.int
    NUMACTIVEPIXELSSHANK0_FIELD_NUMBER: builtins.int
    NUMACTIVEPIXELSSHANK1_FIELD_NUMBER: builtins.int
    NUMACTIVEPIXELSSHANK2_FIELD_NUMBER: builtins.int
    NUMACTIVEPIXELSSHANK3_FIELD_NUMBER: builtins.int
    VREFFFA_FIELD_NUMBER: builtins.int
    VREFFFB_FIELD_NUMBER: builtins.int
    VREFFFC_FIELD_NUMBER: builtins.int
    VREFFFD_FIELD_NUMBER: builtins.int
    ISERROR0_FIELD_NUMBER: builtins.int
    ISERROR1_FIELD_NUMBER: builtins.int
    ISERROR2_FIELD_NUMBER: builtins.int
    ISERROR3_FIELD_NUMBER: builtins.int
    HOSTCOUNTER_FIELD_NUMBER: builtins.int
    FPGACOUNTER_FIELD_NUMBER: builtins.int
    FIRMWAREVERSION_FIELD_NUMBER: builtins.int
    PROBEGENERATION_FIELD_NUMBER: builtins.int
    PROBEMODEL_FIELD_NUMBER: builtins.int
    calibrationState: builtins.bool
    calibrationProgress: builtins.float
    numActivePixelsShank0: builtins.int
    numActivePixelsShank1: builtins.int
    numActivePixelsShank2: builtins.int
    numActivePixelsShank3: builtins.int
    vRefFFA: builtins.float
    vRefFFB: builtins.float
    vRefFFC: builtins.float
    vRefFFD: builtins.float
    isError0: builtins.bool
    isError1: builtins.bool
    isError2: builtins.bool
    isError3: builtins.bool
    hostCounter: builtins.int
    fpgaCounter: builtins.int
    firmwareVersion: builtins.str
    probeGeneration: builtins.int
    probeModel: builtins.int
    def __init__(
        self,
        *,
        calibrationState: builtins.bool | None = ...,
        calibrationProgress: builtins.float | None = ...,
        numActivePixelsShank0: builtins.int | None = ...,
        numActivePixelsShank1: builtins.int | None = ...,
        numActivePixelsShank2: builtins.int | None = ...,
        numActivePixelsShank3: builtins.int | None = ...,
        vRefFFA: builtins.float | None = ...,
        vRefFFB: builtins.float | None = ...,
        vRefFFC: builtins.float | None = ...,
        vRefFFD: builtins.float | None = ...,
        isError0: builtins.bool | None = ...,
        isError1: builtins.bool | None = ...,
        isError2: builtins.bool | None = ...,
        isError3: builtins.bool | None = ...,
        hostCounter: builtins.int | None = ...,
        fpgaCounter: builtins.int | None = ...,
        firmwareVersion: builtins.str | None = ...,
        probeGeneration: builtins.int | None = ...,
        probeModel: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["calibrationProgress", b"calibrationProgress", "calibrationState", b"calibrationState", "firmwareVersion", b"firmwareVersion", "fpgaCounter", b"fpgaCounter", "hostCounter", b"hostCounter", "isError0", b"isError0", "isError1", b"isError1", "isError2", b"isError2", "isError3", b"isError3", "numActivePixelsShank0", b"numActivePixelsShank0", "numActivePixelsShank1", b"numActivePixelsShank1", "numActivePixelsShank2", b"numActivePixelsShank2", "numActivePixelsShank3", b"numActivePixelsShank3", "probeGeneration", b"probeGeneration", "probeModel", b"probeModel", "vRefFFA", b"vRefFFA", "vRefFFB", b"vRefFFB", "vRefFFC", b"vRefFFC", "vRefFFD", b"vRefFFD"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["calibrationProgress", b"calibrationProgress", "calibrationState", b"calibrationState", "firmwareVersion", b"firmwareVersion", "fpgaCounter", b"fpgaCounter", "hostCounter", b"hostCounter", "isError0", b"isError0", "isError1", b"isError1", "isError2", b"isError2", "isError3", b"isError3", "numActivePixelsShank0", b"numActivePixelsShank0", "numActivePixelsShank1", b"numActivePixelsShank1", "numActivePixelsShank2", b"numActivePixelsShank2", "numActivePixelsShank3", b"numActivePixelsShank3", "probeGeneration", b"probeGeneration", "probeModel", b"probeModel", "vRefFFA", b"vRefFFA", "vRefFFB", b"vRefFFB", "vRefFFC", b"vRefFFC", "vRefFFD", b"vRefFFD"]) -> None: ...

global___SinapsStatusRegisters = SinapsStatusRegisters

@typing.final
class FlashSinapsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BITFILE_FIELD_NUMBER: builtins.int
    bitfile: builtins.str
    def __init__(
        self,
        *,
        bitfile: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["bitfile", b"bitfile"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bitfile", b"bitfile"]) -> None: ...

global___FlashSinapsRequest = FlashSinapsRequest

@typing.final
class HALdashboard(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    mode: global___AllegoHALmode.ValueType
    def __init__(
        self,
        *,
        mode: global___AllegoHALmode.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mode", b"mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ...

global___HALdashboard = HALdashboard

@typing.final
class StimParams(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STIMSHAPE_FIELD_NUMBER: builtins.int
    STIMPOLARITY_FIELD_NUMBER: builtins.int
    FIRSTPHASEDURATION_FIELD_NUMBER: builtins.int
    SECONDPHASEDURATION_FIELD_NUMBER: builtins.int
    INTERPHASEDELAY_FIELD_NUMBER: builtins.int
    FIRSTPHASEAMPLITUDE_FIELD_NUMBER: builtins.int
    SECONDPHASEAMPLITUDE_FIELD_NUMBER: builtins.int
    BASELINEVOLTAGE_FIELD_NUMBER: builtins.int
    TRIGGEREDGEORLEVEL_FIELD_NUMBER: builtins.int
    TRIGGERHIGHORLOW_FIELD_NUMBER: builtins.int
    ENABLED_FIELD_NUMBER: builtins.int
    POSTTRIGGERDELAY_FIELD_NUMBER: builtins.int
    PULSEORTRAIN_FIELD_NUMBER: builtins.int
    NUMBEROFSTIMPULSES_FIELD_NUMBER: builtins.int
    PULSETRAINPERIOD_FIELD_NUMBER: builtins.int
    REFRACTORYPERIOD_FIELD_NUMBER: builtins.int
    PRESTIMAMPSETTLE_FIELD_NUMBER: builtins.int
    POSTSTIMAMPSETTLE_FIELD_NUMBER: builtins.int
    MAINTAINAMPSETTLE_FIELD_NUMBER: builtins.int
    ENABLEAMPSETTLE_FIELD_NUMBER: builtins.int
    HEADSTAGEGLOBALAMPSETTLE_FIELD_NUMBER: builtins.int
    POSTSTIMCHARGERECOVON_FIELD_NUMBER: builtins.int
    POSTSTIMCHARGERECOVOFF_FIELD_NUMBER: builtins.int
    ENABLECHARGERECOVERY_FIELD_NUMBER: builtins.int
    TRIGGERSOURCEISKEYPRESS_FIELD_NUMBER: builtins.int
    TRIGGERSOURCEIDX_FIELD_NUMBER: builtins.int
    STIMSYSCHANIDX_FIELD_NUMBER: builtins.int
    stimShape: global___StimShape.ValueType
    stimPolarity: global___StimPolarity.ValueType
    firstPhaseDuration: builtins.float
    secondPhaseDuration: builtins.float
    interphaseDelay: builtins.float
    firstPhaseAmplitude: builtins.float
    """in μA for amp channels, V for DAC"""
    secondPhaseAmplitude: builtins.float
    """in μA for amp channels, V for DAC"""
    baselineVoltage: builtins.float
    triggerEdgeOrLevel: global___StimTriggerEdgeOrLevel.ValueType
    triggerHighOrLow: global___StimTriggerHighOrLow.ValueType
    enabled: builtins.bool
    postTriggerDelay: builtins.float
    pulseOrTrain: global___StimPulseOrTrain.ValueType
    numberOfStimPulses: builtins.int
    pulseTrainPeriod: builtins.float
    refractoryPeriod: builtins.float
    preStimAmpSettle: builtins.float
    postStimAmpSettle: builtins.float
    maintainAmpSettle: builtins.bool
    enableAmpSettle: builtins.bool
    headstageGlobalAmpSettle: builtins.bool
    postStimChargeRecovOn: builtins.float
    postStimChargeRecovOff: builtins.float
    enableChargeRecovery: builtins.bool
    triggerSourceIsKeypress: builtins.bool
    triggerSourceIdx: builtins.int
    """AIN/DIN sysChanIdx, or keypress #"""
    stimSysChanIdx: builtins.int
    def __init__(
        self,
        *,
        stimShape: global___StimShape.ValueType | None = ...,
        stimPolarity: global___StimPolarity.ValueType | None = ...,
        firstPhaseDuration: builtins.float | None = ...,
        secondPhaseDuration: builtins.float | None = ...,
        interphaseDelay: builtins.float | None = ...,
        firstPhaseAmplitude: builtins.float | None = ...,
        secondPhaseAmplitude: builtins.float | None = ...,
        baselineVoltage: builtins.float | None = ...,
        triggerEdgeOrLevel: global___StimTriggerEdgeOrLevel.ValueType | None = ...,
        triggerHighOrLow: global___StimTriggerHighOrLow.ValueType | None = ...,
        enabled: builtins.bool | None = ...,
        postTriggerDelay: builtins.float | None = ...,
        pulseOrTrain: global___StimPulseOrTrain.ValueType | None = ...,
        numberOfStimPulses: builtins.int | None = ...,
        pulseTrainPeriod: builtins.float | None = ...,
        refractoryPeriod: builtins.float | None = ...,
        preStimAmpSettle: builtins.float | None = ...,
        postStimAmpSettle: builtins.float | None = ...,
        maintainAmpSettle: builtins.bool | None = ...,
        enableAmpSettle: builtins.bool | None = ...,
        headstageGlobalAmpSettle: builtins.bool | None = ...,
        postStimChargeRecovOn: builtins.float | None = ...,
        postStimChargeRecovOff: builtins.float | None = ...,
        enableChargeRecovery: builtins.bool | None = ...,
        triggerSourceIsKeypress: builtins.bool | None = ...,
        triggerSourceIdx: builtins.int | None = ...,
        stimSysChanIdx: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["baselineVoltage", b"baselineVoltage", "enableAmpSettle", b"enableAmpSettle", "enableChargeRecovery", b"enableChargeRecovery", "enabled", b"enabled", "firstPhaseAmplitude", b"firstPhaseAmplitude", "firstPhaseDuration", b"firstPhaseDuration", "headstageGlobalAmpSettle", b"headstageGlobalAmpSettle", "interphaseDelay", b"interphaseDelay", "maintainAmpSettle", b"maintainAmpSettle", "numberOfStimPulses", b"numberOfStimPulses", "postStimAmpSettle", b"postStimAmpSettle", "postStimChargeRecovOff", b"postStimChargeRecovOff", "postStimChargeRecovOn", b"postStimChargeRecovOn", "postTriggerDelay", b"postTriggerDelay", "preStimAmpSettle", b"preStimAmpSettle", "pulseOrTrain", b"pulseOrTrain", "pulseTrainPeriod", b"pulseTrainPeriod", "refractoryPeriod", b"refractoryPeriod", "secondPhaseAmplitude", b"secondPhaseAmplitude", "secondPhaseDuration", b"secondPhaseDuration", "stimPolarity", b"stimPolarity", "stimShape", b"stimShape", "stimSysChanIdx", b"stimSysChanIdx", "triggerEdgeOrLevel", b"triggerEdgeOrLevel", "triggerHighOrLow", b"triggerHighOrLow", "triggerSourceIdx", b"triggerSourceIdx", "triggerSourceIsKeypress", b"triggerSourceIsKeypress"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["baselineVoltage", b"baselineVoltage", "enableAmpSettle", b"enableAmpSettle", "enableChargeRecovery", b"enableChargeRecovery", "enabled", b"enabled", "firstPhaseAmplitude", b"firstPhaseAmplitude", "firstPhaseDuration", b"firstPhaseDuration", "headstageGlobalAmpSettle", b"headstageGlobalAmpSettle", "interphaseDelay", b"interphaseDelay", "maintainAmpSettle", b"maintainAmpSettle", "numberOfStimPulses", b"numberOfStimPulses", "postStimAmpSettle", b"postStimAmpSettle", "postStimChargeRecovOff", b"postStimChargeRecovOff", "postStimChargeRecovOn", b"postStimChargeRecovOn", "postTriggerDelay", b"postTriggerDelay", "preStimAmpSettle", b"preStimAmpSettle", "pulseOrTrain", b"pulseOrTrain", "pulseTrainPeriod", b"pulseTrainPeriod", "refractoryPeriod", b"refractoryPeriod", "secondPhaseAmplitude", b"secondPhaseAmplitude", "secondPhaseDuration", b"secondPhaseDuration", "stimPolarity", b"stimPolarity", "stimShape", b"stimShape", "stimSysChanIdx", b"stimSysChanIdx", "triggerEdgeOrLevel", b"triggerEdgeOrLevel", "triggerHighOrLow", b"triggerHighOrLow", "triggerSourceIdx", b"triggerSourceIdx", "triggerSourceIsKeypress", b"triggerSourceIsKeypress"]) -> None: ...

global___StimParams = StimParams

@typing.final
class StimParamsReply(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class ParamsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> global___StimParams: ...
        def __init__(
            self,
            *,
            key: builtins.int | None = ...,
            value: global___StimParams | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    PARAMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___StimParams]:
        """key is sysChanIdx (ntvAbsKeyIdx)"""

    def __init__(
        self,
        *,
        params: collections.abc.Mapping[builtins.int, global___StimParams] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["params", b"params"]) -> None: ...

global___StimParamsReply = StimParamsReply

@typing.final
class ManualStimTriggerRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRIGGER_FIELD_NUMBER: builtins.int
    TRIGGERON_FIELD_NUMBER: builtins.int
    trigger: builtins.int
    triggerOn: builtins.bool
    def __init__(
        self,
        *,
        trigger: builtins.int | None = ...,
        triggerOn: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["trigger", b"trigger", "triggerOn", b"triggerOn"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["trigger", b"trigger", "triggerOn", b"triggerOn"]) -> None: ...

global___ManualStimTriggerRequest = ManualStimTriggerRequest

@typing.final
class ManualStimTriggerToggleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TRIGGER_FIELD_NUMBER: builtins.int
    trigger: builtins.int
    def __init__(
        self,
        *,
        trigger: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["trigger", b"trigger"]) -> None: ...

global___ManualStimTriggerToggleRequest = ManualStimTriggerToggleRequest

@typing.final
class StimStepMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STIMSTEP_FIELD_NUMBER: builtins.int
    stimStep: global___StimStep.ValueType
    def __init__(
        self,
        *,
        stimStep: global___StimStep.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["stimStep", b"stimStep"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["stimStep", b"stimStep"]) -> None: ...

global___StimStepMessage = StimStepMessage
