"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import blickfeld.update.hardware_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

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

class manifest_msg(google.protobuf.message.Message):
    """WARNING: only proto3 features are supported for JSON serialization
    WARNING: do NOT change enum labels, they are used as strings in code

    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class ImageType(_ImageType, metaclass=_ImageTypeEnumTypeWrapper):
        pass
    class _ImageType:
        V = typing.NewType('V', builtins.int)
    class _ImageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ImageType.V], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
        PARTITIONED = manifest_msg.ImageType.V(0)
        SYSTEM = manifest_msg.ImageType.V(1)

    PARTITIONED = manifest_msg.ImageType.V(0)
    SYSTEM = manifest_msg.ImageType.V(1)

    class CompatibleHardware(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        VARIANT_FIELD_NUMBER: builtins.int
        MSB_FIELD_NUMBER: builtins.int
        SCANNER_BIG_FIELD_NUMBER: builtins.int
        SCANNER_SMALL_FIELD_NUMBER: builtins.int
        HSD_FIELD_NUMBER: builtins.int
        @property
        def variant(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[blickfeld.update.hardware_pb2.HardwareVariant.V]: ...
        @property
        def msb(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
        @property
        def scanner_big(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
        @property
        def scanner_small(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
        @property
        def hsd(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
        def __init__(self,
            *,
            variant : typing.Optional[typing.Iterable[blickfeld.update.hardware_pb2.HardwareVariant.V]] = ...,
            msb : typing.Optional[typing.Iterable[typing.Text]] = ...,
            scanner_big : typing.Optional[typing.Iterable[typing.Text]] = ...,
            scanner_small : typing.Optional[typing.Iterable[typing.Text]] = ...,
            hsd : typing.Optional[typing.Iterable[typing.Text]] = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"hsd",b"hsd",u"msb",b"msb",u"scanner_big",b"scanner_big",u"scanner_small",b"scanner_small",u"variant",b"variant"]) -> None: ...

    MIN_BUS_VERSION_FIELD_NUMBER: builtins.int
    IMAGE_TYPE_FIELD_NUMBER: builtins.int
    COMPATIBLE_HARDWARE_FIELD_NUMBER: builtins.int
    SECURE_FIELD_NUMBER: builtins.int
    min_bus_version: typing.Text = ...
    image_type: global___manifest_msg.ImageType.V = ...
    @property
    def compatible_hardware(self) -> global___manifest_msg.CompatibleHardware: ...
    secure: builtins.bool = ...
    def __init__(self,
        *,
        min_bus_version : typing.Optional[typing.Text] = ...,
        image_type : typing.Optional[global___manifest_msg.ImageType.V] = ...,
        compatible_hardware : typing.Optional[global___manifest_msg.CompatibleHardware] = ...,
        secure : typing.Optional[builtins.bool] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"compatible_hardware",b"compatible_hardware",u"image_type",b"image_type",u"min_bus_version",b"min_bus_version",u"secure",b"secure"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"compatible_hardware",b"compatible_hardware",u"image_type",b"image_type",u"min_bus_version",b"min_bus_version",u"secure",b"secure"]) -> None: ...
global___manifest_msg = manifest_msg
