"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import gcp.gcp_storage_pb2
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

@typing_extensions.final
class GoogleStorage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STORAGE_BUCKET_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_ACCESS_CONTROL_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_ACL_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_IAM_BINDING_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_IAM_MEMBER_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_IAM_POLICY_FIELD_NUMBER: builtins.int
    STORAGE_BUCKET_OBJECT_FIELD_NUMBER: builtins.int
    STORAGE_DEFAULT_OBJECT_ACCESS_CONTROL_FIELD_NUMBER: builtins.int
    STORAGE_DEFAULT_OBJECT_ACL_FIELD_NUMBER: builtins.int
    STORAGE_HMAC_KEY_FIELD_NUMBER: builtins.int
    STORAGE_NOTIFICATION_FIELD_NUMBER: builtins.int
    STORAGE_OBJECT_ACCESS_CONTROL_FIELD_NUMBER: builtins.int
    STORAGE_OBJECT_ACL_FIELD_NUMBER: builtins.int
    STORAGE_TRANSFER_JOB_FIELD_NUMBER: builtins.int
    @property
    def storage_bucket(self) -> gcp.gcp_storage_pb2.StorageBucket: ...
    @property
    def storage_bucket_access_control(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketAccessControl]: ...
    @property
    def storage_bucket_acl(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketAcl]: ...
    @property
    def storage_bucket_iam_binding(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketIamBinding]: ...
    @property
    def storage_bucket_iam_member(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketIamMember]: ...
    @property
    def storage_bucket_iam_policy(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketIamPolicy]: ...
    @property
    def storage_bucket_object(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageBucketObject]: ...
    @property
    def storage_default_object_access_control(self) -> gcp.gcp_storage_pb2.StorageDefaultObjectAccessControl: ...
    @property
    def storage_default_object_acl(self) -> gcp.gcp_storage_pb2.StorageDefaultObjectAcl: ...
    @property
    def storage_hmac_key(self) -> gcp.gcp_storage_pb2.StorageHmacKey: ...
    @property
    def storage_notification(self) -> gcp.gcp_storage_pb2.StorageNotification: ...
    @property
    def storage_object_access_control(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageObjectAccessControl]: ...
    @property
    def storage_object_acl(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[gcp.gcp_storage_pb2.StorageObjectAcl]: ...
    @property
    def storage_transfer_job(self) -> gcp.gcp_storage_pb2.StorageTransferJob: ...
    def __init__(
        self,
        *,
        storage_bucket: gcp.gcp_storage_pb2.StorageBucket | None = ...,
        storage_bucket_access_control: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketAccessControl] | None = ...,
        storage_bucket_acl: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketAcl] | None = ...,
        storage_bucket_iam_binding: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketIamBinding] | None = ...,
        storage_bucket_iam_member: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketIamMember] | None = ...,
        storage_bucket_iam_policy: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketIamPolicy] | None = ...,
        storage_bucket_object: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageBucketObject] | None = ...,
        storage_default_object_access_control: gcp.gcp_storage_pb2.StorageDefaultObjectAccessControl | None = ...,
        storage_default_object_acl: gcp.gcp_storage_pb2.StorageDefaultObjectAcl | None = ...,
        storage_hmac_key: gcp.gcp_storage_pb2.StorageHmacKey | None = ...,
        storage_notification: gcp.gcp_storage_pb2.StorageNotification | None = ...,
        storage_object_access_control: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageObjectAccessControl] | None = ...,
        storage_object_acl: collections.abc.Iterable[gcp.gcp_storage_pb2.StorageObjectAcl] | None = ...,
        storage_transfer_job: gcp.gcp_storage_pb2.StorageTransferJob | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["storage_bucket", b"storage_bucket", "storage_default_object_access_control", b"storage_default_object_access_control", "storage_default_object_acl", b"storage_default_object_acl", "storage_hmac_key", b"storage_hmac_key", "storage_notification", b"storage_notification", "storage_transfer_job", b"storage_transfer_job"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["storage_bucket", b"storage_bucket", "storage_bucket_access_control", b"storage_bucket_access_control", "storage_bucket_acl", b"storage_bucket_acl", "storage_bucket_iam_binding", b"storage_bucket_iam_binding", "storage_bucket_iam_member", b"storage_bucket_iam_member", "storage_bucket_iam_policy", b"storage_bucket_iam_policy", "storage_bucket_object", b"storage_bucket_object", "storage_default_object_access_control", b"storage_default_object_access_control", "storage_default_object_acl", b"storage_default_object_acl", "storage_hmac_key", b"storage_hmac_key", "storage_notification", b"storage_notification", "storage_object_access_control", b"storage_object_access_control", "storage_object_acl", b"storage_object_acl", "storage_transfer_job", b"storage_transfer_job"]) -> None: ...

global___GoogleStorage = GoogleStorage
