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

from collections import abc as _abc
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import containers as _containers
import builtins as _builtins
import sys
import typing as _typing

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

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class Reportable(_message.Message):
    DESCRIPTOR: _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: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["maxVersion", b"maxVersion", "minVersion", b"minVersion", "never", b"never", "notReportableMinVersion", b"notReportableMinVersion"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Reportable: _TypeAlias = Reportable  # noqa: Y015

@_typing.final
class Config(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    @_typing.final
    class FieldEntry(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        KEY_FIELD_NUMBER: _builtins.int
        VALUE_FIELD_NUMBER: _builtins.int
        key: _builtins.int
        @_builtins.property
        def value(self) -> Global___Field: ...
        def __init__(
            self,
            *,
            key: _builtins.int = ...,
            value: Global___Field | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["value", b"value"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    FIELD_FIELD_NUMBER: _builtins.int
    VERSION_FIELD_NUMBER: _builtins.int
    version: _builtins.int
    @_builtins.property
    def field(self) -> _containers.MessageMap[_builtins.int, Global___Field]: ...
    def __init__(
        self,
        *,
        field: _abc.Mapping[_builtins.int, Global___Field] | None = ...,
        version: _builtins.int = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["field", b"field", "version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Config: _TypeAlias = Config  # noqa: Y015

@_typing.final
class Field(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    @_typing.final
    class SubfieldEntry(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        KEY_FIELD_NUMBER: _builtins.int
        VALUE_FIELD_NUMBER: _builtins.int
        key: _builtins.int
        @_builtins.property
        def value(self) -> Global___Field: ...
        def __init__(
            self,
            *,
            key: _builtins.int = ...,
            value: Global___Field | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["value", b"value"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> 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
    @_builtins.property
    def subfield(self) -> _containers.MessageMap[_builtins.int, Global___Field]: ...
    def __init__(
        self,
        *,
        minVersion: _builtins.int = ...,
        maxVersion: _builtins.int = ...,
        notReportableMinVersion: _builtins.int = ...,
        isMessage: _builtins.bool = ...,
        subfield: _abc.Mapping[_builtins.int, Global___Field] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["isMessage", b"isMessage", "maxVersion", b"maxVersion", "minVersion", b"minVersion", "notReportableMinVersion", b"notReportableMinVersion", "subfield", b"subfield"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Field: _TypeAlias = Field  # noqa: Y015
