"""
@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 sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class CommitDenylistProtectionConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class CommitDefinition(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        class Range(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor

            START_COMMIT_FIELD_NUMBER: builtins.int
            END_COMMIT_FIELD_NUMBER: builtins.int
            start_commit: builtins.str
            """older commit, exclusive"""
            end_commit: builtins.str
            """newer commit, inclusive"""
            def __init__(
                self,
                *,
                start_commit: builtins.str = ...,
                end_commit: builtins.str = ...,
            ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal["end_commit", b"end_commit", "start_commit", b"start_commit"]) -> None: ...

        COMMIT_FIELD_NUMBER: builtins.int
        RANGE_FIELD_NUMBER: builtins.int
        commit: builtins.str
        @property
        def range(self) -> global___CommitDenylistProtectionConfig.CommitDefinition.Range: ...
        def __init__(
            self,
            *,
            commit: builtins.str = ...,
            range: global___CommitDenylistProtectionConfig.CommitDefinition.Range | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["commit", b"commit", "commit_oneof", b"commit_oneof", "range", b"range"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["commit", b"commit", "commit_oneof", b"commit_oneof", "range", b"range"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal["commit_oneof", b"commit_oneof"]) -> typing_extensions.Literal["commit", "range"] | None: ...

    REPOSITORY_FIELD_NUMBER: builtins.int
    COMMITS_FIELD_NUMBER: builtins.int
    repository: builtins.str
    @property
    def commits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommitDenylistProtectionConfig.CommitDefinition]: ...
    def __init__(
        self,
        *,
        repository: builtins.str = ...,
        commits: collections.abc.Iterable[global___CommitDenylistProtectionConfig.CommitDefinition] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["commits", b"commits", "repository", b"repository"]) -> None: ...

global___CommitDenylistProtectionConfig = CommitDenylistProtectionConfig
