"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import ft_error_pb2
import ft_types_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
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 _capability_types:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _capability_typesEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_capability_types.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    VALUE_READONLY: _capability_types.ValueType  # 0
    VALUE_READWRITE: _capability_types.ValueType  # 1
    ACTION: _capability_types.ValueType  # 2
    STREAM: _capability_types.ValueType  # 3

class capability_types(_capability_types, metaclass=_capability_typesEnumTypeWrapper): ...

VALUE_READONLY: capability_types.ValueType  # 0
VALUE_READWRITE: capability_types.ValueType  # 1
ACTION: capability_types.ValueType  # 2
STREAM: capability_types.ValueType  # 3
global___capability_types = capability_types

@typing_extensions.final
class devcapability(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TP_FIELD_NUMBER: builtins.int
    CAPNAME_FIELD_NUMBER: builtins.int
    ARGNAMES_FIELD_NUMBER: builtins.int
    ARGTYPES_FIELD_NUMBER: builtins.int
    RETTP_FIELD_NUMBER: builtins.int
    VECRETTP_FIELD_NUMBER: builtins.int
    DYNAMIC_RETTP_FIELD_NUMBER: builtins.int
    tp: global___capability_types.ValueType
    capname: builtins.str
    @property
    def argnames(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def argtypes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ft_types_pb2.variant_descriptor]: ...
    @property
    def rettp(self) -> ft_types_pb2.variant_descriptor: ...
    vecrettp: ft_types_pb2.byte_data_types.ValueType
    dynamic_rettp: builtins.bool
    def __init__(
        self,
        *,
        tp: global___capability_types.ValueType = ...,
        capname: builtins.str = ...,
        argnames: collections.abc.Iterable[builtins.str] | None = ...,
        argtypes: collections.abc.Iterable[ft_types_pb2.variant_descriptor] | None = ...,
        rettp: ft_types_pb2.variant_descriptor | None = ...,
        vecrettp: ft_types_pb2.byte_data_types.ValueType = ...,
        dynamic_rettp: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dynamic_rettp", b"dynamic_rettp", "rettp", b"rettp", "return", b"return", "vecrettp", b"vecrettp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["argnames", b"argnames", "argtypes", b"argtypes", "capname", b"capname", "dynamic_rettp", b"dynamic_rettp", "rettp", b"rettp", "return", b"return", "tp", b"tp", "vecrettp", b"vecrettp"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["return", b"return"]) -> typing_extensions.Literal["rettp", "vecrettp", "dynamic_rettp"] | None: ...

global___devcapability = devcapability

@typing_extensions.final
class capability_argument(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    POSITION_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    position: builtins.int
    @property
    def value(self) -> ft_types_pb2.ft_variant: ...
    def __init__(
        self,
        *,
        position: builtins.int = ...,
        value: ft_types_pb2.ft_variant | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["position", b"position", "value", b"value"]) -> None: ...

global___capability_argument = capability_argument

@typing_extensions.final
class capability_request(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MSGID_FIELD_NUMBER: builtins.int
    DEVID_FIELD_NUMBER: builtins.int
    CAPNAME_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    CONTENTION_TIMEOUT_FIELD_NUMBER: builtins.int
    msgid: builtins.int
    devid: builtins.int
    capname: builtins.str
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___capability_argument]: ...
    contention_timeout: builtins.int
    def __init__(
        self,
        *,
        msgid: builtins.int = ...,
        devid: builtins.int = ...,
        capname: builtins.str = ...,
        args: collections.abc.Iterable[global___capability_argument] | None = ...,
        contention_timeout: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["args", b"args", "capname", b"capname", "contention_timeout", b"contention_timeout", "devid", b"devid", "msgid", b"msgid"]) -> None: ...

global___capability_request = capability_request

@typing_extensions.final
class capability_response(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MSGID_FIELD_NUMBER: builtins.int
    DEVID_FIELD_NUMBER: builtins.int
    CAPNAME_FIELD_NUMBER: builtins.int
    RETURNVAL_FIELD_NUMBER: builtins.int
    ERR_FIELD_NUMBER: builtins.int
    TSTAMP_FIELD_NUMBER: builtins.int
    msgid: builtins.int
    devid: builtins.int
    capname: builtins.str
    @property
    def returnval(self) -> ft_types_pb2.ft_variant: ...
    @property
    def err(self) -> ft_error_pb2.errstatus: ...
    @property
    def tstamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        msgid: builtins.int = ...,
        devid: builtins.int = ...,
        capname: builtins.str = ...,
        returnval: ft_types_pb2.ft_variant | None = ...,
        err: ft_error_pb2.errstatus | None = ...,
        tstamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["err", b"err", "returnval", b"returnval", "tstamp", b"tstamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["capname", b"capname", "devid", b"devid", "err", b"err", "msgid", b"msgid", "returnval", b"returnval", "tstamp", b"tstamp"]) -> None: ...

global___capability_response = capability_response

@typing_extensions.final
class chunk_request(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MSGID_FIELD_NUMBER: builtins.int
    DEVID_FIELD_NUMBER: builtins.int
    CAPNAME_FIELD_NUMBER: builtins.int
    ARGS_FIELD_NUMBER: builtins.int
    CHUNKSIZE_FIELD_NUMBER: builtins.int
    CONTENTION_TIMEOUT_FIELD_NUMBER: builtins.int
    msgid: builtins.int
    devid: builtins.int
    capname: builtins.str
    @property
    def args(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___capability_argument]: ...
    chunksize: builtins.int
    contention_timeout: builtins.int
    def __init__(
        self,
        *,
        msgid: builtins.int = ...,
        devid: builtins.int = ...,
        capname: builtins.str = ...,
        args: collections.abc.Iterable[global___capability_argument] | None = ...,
        chunksize: builtins.int = ...,
        contention_timeout: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["args", b"args", "capname", b"capname", "chunksize", b"chunksize", "contention_timeout", b"contention_timeout", "devid", b"devid", "msgid", b"msgid"]) -> None: ...

global___chunk_request = chunk_request

@typing_extensions.final
class datachunk(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATA_FIELD_NUMBER: builtins.int
    MSGID_FIELD_NUMBER: builtins.int
    DEVID_FIELD_NUMBER: builtins.int
    CAPNAME_FIELD_NUMBER: builtins.int
    ERR_FIELD_NUMBER: builtins.int
    DTP_FIELD_NUMBER: builtins.int
    data: builtins.bytes
    msgid: builtins.int
    devid: builtins.int
    capname: builtins.str
    @property
    def err(self) -> ft_error_pb2.errstatus: ...
    dtp: ft_types_pb2.byte_data_types.ValueType
    def __init__(
        self,
        *,
        data: builtins.bytes = ...,
        msgid: builtins.int = ...,
        devid: builtins.int = ...,
        capname: builtins.str = ...,
        err: ft_error_pb2.errstatus | None = ...,
        dtp: ft_types_pb2.byte_data_types.ValueType = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["err", b"err"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["capname", b"capname", "data", b"data", "devid", b"devid", "dtp", b"dtp", "err", b"err", "msgid", b"msgid"]) -> None: ...

global___datachunk = datachunk

@typing_extensions.final
class devdescribe(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEVID_FIELD_NUMBER: builtins.int
    DEVTYPE_FIELD_NUMBER: builtins.int
    DEVCOMMENT_FIELD_NUMBER: builtins.int
    CAPS_FIELD_NUMBER: builtins.int
    devid: builtins.int
    devtype: builtins.str
    devcomment: builtins.str
    @property
    def caps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___devcapability]: ...
    def __init__(
        self,
        *,
        devid: builtins.int = ...,
        devtype: builtins.str = ...,
        devcomment: builtins.str = ...,
        caps: collections.abc.Iterable[global___devcapability] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["caps", b"caps", "devcomment", b"devcomment", "devid", b"devid", "devtype", b"devtype"]) -> None: ...

global___devdescribe = devdescribe

@typing_extensions.final
class servdescribe(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class DevsAttachedEntry(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___devdescribe: ...
        def __init__(
            self,
            *,
            key: builtins.int = ...,
            value: global___devdescribe | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    SERVCOMMENT_FIELD_NUMBER: builtins.int
    DEVS_ATTACHED_FIELD_NUMBER: builtins.int
    ERR_FIELD_NUMBER: builtins.int
    servcomment: builtins.str
    @property
    def devs_attached(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___devdescribe]: ...
    @property
    def err(self) -> ft_error_pb2.errstatus: ...
    def __init__(
        self,
        *,
        servcomment: builtins.str = ...,
        devs_attached: collections.abc.Mapping[builtins.int, global___devdescribe] | None = ...,
        err: ft_error_pb2.errstatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["err", b"err"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["devs_attached", b"devs_attached", "err", b"err", "servcomment", b"servcomment"]) -> None: ...

global___servdescribe = servdescribe
