"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import blickfeld.config.scan_pattern_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class NamedScanPattern(google.protobuf.message.Message):
    """*
    > Introduced in BSL v2.15 and firmware v1.16

    Named scan patterns are saved on the device. There are two kinds of named scan patterns:
    1. Default scan patterns: Each device has default scan patterns, these are saved on the device with the firmware. They are not changeable.
    2. Custom scan patterns: Users can save scan patterns on the device for later use. If the scan pattern is saved as a named scan pattern, the time changing to this scan pattern will greatly decrease.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    READ_ONLY_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    """The name has to be different of the default scan patterns and can only contain letters, numbers, space, underscore and minus."""

    @property
    def config(self) -> blickfeld.config.scan_pattern_pb2.ScanPattern:
        """Scan pattern config, refer to [ScanPattern](#blickfeld.protocol.config.ScanPattern)"""
        pass
    read_only: builtins.bool = ...
    """this is an read_only flag and it will be set if this is a default scan pattern, which can't be changed or deleted."""

    def __init__(self,
        *,
        name : typing.Optional[typing.Text] = ...,
        config : typing.Optional[blickfeld.config.scan_pattern_pb2.ScanPattern] = ...,
        read_only : typing.Optional[builtins.bool] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"config",b"config",u"name",b"name",u"read_only",b"read_only"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"config",b"config",u"name",b"name",u"read_only",b"read_only"]) -> None: ...
global___NamedScanPattern = NamedScanPattern
