"""
@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 prodvana.proto.prodvana.object.meta_pb2
import prodvana.proto.prodvana.release_channel.release_channel_config_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    PROTECTION_FIELD_NUMBER: builtins.int
    ATTACHMENT_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    ATTACHMENT_ID_FIELD_NUMBER: builtins.int
    protection: builtins.str
    attachment: builtins.str
    desired_state_id: builtins.str
    attachment_id: builtins.str
    def __init__(
        self,
        *,
        protection: builtins.str = ...,
        attachment: builtins.str = ...,
        desired_state_id: builtins.str = ...,
        attachment_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["attachment", b"attachment", "attachment_id", b"attachment_id", "desired_state_id", b"desired_state_id", "protection", b"protection"]) -> None: ...

global___ReleaseChannelProtectionAttachment = ReleaseChannelProtectionAttachment

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

    PROTECTION_ATTACHMENTS_FIELD_NUMBER: builtins.int
    @property
    def protection_attachments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ReleaseChannelProtectionAttachment]: ...
    def __init__(
        self,
        *,
        protection_attachments: collections.abc.Iterable[global___ReleaseChannelProtectionAttachment] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["protection_attachments", b"protection_attachments"]) -> None: ...

global___ReleaseChannelState = ReleaseChannelState

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

    META_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    @property
    def meta(self) -> prodvana.proto.prodvana.object.meta_pb2.ObjectMeta: ...
    @property
    def config(self) -> prodvana.proto.prodvana.release_channel.release_channel_config_pb2.ReleaseChannelConfig: ...
    @property
    def state(self) -> global___ReleaseChannelState: ...
    def __init__(
        self,
        *,
        meta: prodvana.proto.prodvana.object.meta_pb2.ObjectMeta | None = ...,
        config: prodvana.proto.prodvana.release_channel.release_channel_config_pb2.ReleaseChannelConfig | None = ...,
        state: global___ReleaseChannelState | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["config", b"config", "meta", b"meta", "state", b"state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config", b"config", "meta", b"meta", "state", b"state"]) -> None: ...

global___ReleaseChannel = ReleaseChannel
