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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    MINVERSION_FIELD_NUMBER: builtins.int
    MAXVERSION_FIELD_NUMBER: builtins.int
    NOTREPORTABLEMINVERSION_FIELD_NUMBER: builtins.int
    NEVER_FIELD_NUMBER: builtins.int
    minVersion: builtins.int
    maxVersion: builtins.int
    notReportableMinVersion: builtins.int
    never: builtins.bool
    def __init__(
        self,
        *,
        minVersion: builtins.int = ...,
        maxVersion: builtins.int = ...,
        notReportableMinVersion: builtins.int = ...,
        never: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["maxVersion", b"maxVersion", "minVersion", b"minVersion", "never", b"never", "notReportableMinVersion", b"notReportableMinVersion"]) -> None: ...

global___Reportable = Reportable

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

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

    FIELD_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    version: builtins.int
    @property
    def field(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___Field]: ...
    def __init__(
        self,
        *,
        field: collections.abc.Mapping[builtins.int, global___Field] | None = ...,
        version: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["field", b"field", "version", b"version"]) -> None: ...

global___Config = Config

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

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

    MINVERSION_FIELD_NUMBER: builtins.int
    MAXVERSION_FIELD_NUMBER: builtins.int
    NOTREPORTABLEMINVERSION_FIELD_NUMBER: builtins.int
    ISMESSAGE_FIELD_NUMBER: builtins.int
    SUBFIELD_FIELD_NUMBER: builtins.int
    minVersion: builtins.int
    maxVersion: builtins.int
    notReportableMinVersion: builtins.int
    isMessage: builtins.bool
    @property
    def subfield(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___Field]: ...
    def __init__(
        self,
        *,
        minVersion: builtins.int = ...,
        maxVersion: builtins.int = ...,
        notReportableMinVersion: builtins.int = ...,
        isMessage: builtins.bool = ...,
        subfield: collections.abc.Mapping[builtins.int, global___Field] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["isMessage", b"isMessage", "maxVersion", b"maxVersion", "minVersion", b"minVersion", "notReportableMinVersion", b"notReportableMinVersion", "subfield", b"subfield"]) -> None: ...

global___Field = Field
