"""
@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 google.protobuf.timestamp_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    MESSAGE_TYPE_FULL_NAME_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    ORGANIZATION_ID_FIELD_NUMBER: builtins.int
    PROTOBUF_DESCRIPTOR_ID_FIELD_NUMBER: builtins.int
    message_type_full_name: builtins.str
    namespace: builtins.str
    organization_id: builtins.str
    protobuf_descriptor_id: builtins.str
    def __init__(
        self,
        *,
        message_type_full_name: builtins.str = ...,
        namespace: builtins.str = ...,
        organization_id: builtins.str = ...,
        protobuf_descriptor_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message_type_full_name", b"message_type_full_name", "namespace", b"namespace", "organization_id", b"organization_id", "protobuf_descriptor_id", b"protobuf_descriptor_id"]) -> None: ...

global___DeleteProtobufDescriptorsRequest = DeleteProtobufDescriptorsRequest

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

    def __init__(
        self,
    ) -> None: ...

global___DeleteProtobufDescriptorsResponse = DeleteProtobufDescriptorsResponse

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

    PROTOBUF_DESCRIPTOR_FIELD_NUMBER: builtins.int
    FORCE_DUPLICATE_REGISTRATION_FIELD_NUMBER: builtins.int
    force_duplicate_registration: builtins.bool
    """If set to true, the service will ignore checks that this descriptor has already been registered
    and will ensure that it is registered as the latest proto descriptor for the message type.
    """
    @property
    def protobuf_descriptor(self) -> global___ProtobufDescriptor: ...
    def __init__(
        self,
        *,
        protobuf_descriptor: global___ProtobufDescriptor | None = ...,
        force_duplicate_registration: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["protobuf_descriptor", b"protobuf_descriptor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["force_duplicate_registration", b"force_duplicate_registration", "protobuf_descriptor", b"protobuf_descriptor"]) -> None: ...

global___AddProtobufDescriptorRequest = AddProtobufDescriptorRequest

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

    PROTOBUF_DESCRIPTOR_FIELD_NUMBER: builtins.int
    @property
    def protobuf_descriptor(self) -> global___ProtobufDescriptor: ...
    def __init__(
        self,
        *,
        protobuf_descriptor: global___ProtobufDescriptor | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["protobuf_descriptor", b"protobuf_descriptor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["protobuf_descriptor", b"protobuf_descriptor"]) -> None: ...

global___AddProtobufDescriptorResponse = AddProtobufDescriptorResponse

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

    PROTOBUF_DESCRIPTOR_FIELD_NUMBER: builtins.int
    @property
    def protobuf_descriptor(self) -> global___ProtobufDescriptor: ...
    def __init__(
        self,
        *,
        protobuf_descriptor: global___ProtobufDescriptor | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["protobuf_descriptor", b"protobuf_descriptor"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["protobuf_descriptor", b"protobuf_descriptor"]) -> None: ...

global___CheckProtobufDescriptorCompatibilityRequest = CheckProtobufDescriptorCompatibilityRequest

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

    PROTOBUF_DESCRIPTOR_ID_FIELD_NUMBER: builtins.int
    MESSAGE_FULL_NAME_FIELD_NUMBER: builtins.int
    DESIRED_FIELD_NAME_FIELD_NUMBER: builtins.int
    CURRENT_FIELD_NAME_FIELD_NUMBER: builtins.int
    FIELD_NUMBER_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    FIELD_KIND_FIELD_NUMBER: builtins.int
    protobuf_descriptor_id: builtins.str
    message_full_name: builtins.str
    desired_field_name: builtins.str
    current_field_name: builtins.str
    field_number: builtins.str
    reason: builtins.str
    details: builtins.str
    field_kind: builtins.str
    def __init__(
        self,
        *,
        protobuf_descriptor_id: builtins.str = ...,
        message_full_name: builtins.str = ...,
        desired_field_name: builtins.str = ...,
        current_field_name: builtins.str = ...,
        field_number: builtins.str = ...,
        reason: builtins.str = ...,
        details: builtins.str = ...,
        field_kind: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["current_field_name", b"current_field_name", "desired_field_name", b"desired_field_name", "details", b"details", "field_kind", b"field_kind", "field_number", b"field_number", "message_full_name", b"message_full_name", "protobuf_descriptor_id", b"protobuf_descriptor_id", "reason", b"reason"]) -> None: ...

global___IncompatibleProtobufField = IncompatibleProtobufField

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

    IS_VALID_FIELD_NUMBER: builtins.int
    INCOMPATIBLE_PROTOBUF_DESCRIPTOR_FIELDS_FIELD_NUMBER: builtins.int
    is_valid: builtins.bool
    @property
    def incompatible_protobuf_descriptor_fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___IncompatibleProtobufField]: ...
    def __init__(
        self,
        *,
        is_valid: builtins.bool = ...,
        incompatible_protobuf_descriptor_fields: collections.abc.Iterable[global___IncompatibleProtobufField] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["incompatible_protobuf_descriptor_fields", b"incompatible_protobuf_descriptor_fields", "is_valid", b"is_valid"]) -> None: ...

global___CheckProtobufDescriptorCompatibilityResponse = CheckProtobufDescriptorCompatibilityResponse

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

    MESSAGE_TYPE_FULL_NAME_FIELD_NUMBER: builtins.int
    FILE_DESCRIPTOR_SET_FIELD_NUMBER: builtins.int
    PROTO_FILE_NAME_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    PROTOBUF_DESCRIPTOR_ID_FIELD_NUMBER: builtins.int
    CREATED_DATE_FIELD_NUMBER: builtins.int
    message_type_full_name: builtins.str
    file_descriptor_set: builtins.bytes
    proto_file_name: builtins.str
    namespace: builtins.str
    protobuf_descriptor_id: builtins.str
    @property
    def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        message_type_full_name: builtins.str = ...,
        file_descriptor_set: builtins.bytes = ...,
        proto_file_name: builtins.str = ...,
        namespace: builtins.str = ...,
        protobuf_descriptor_id: builtins.str = ...,
        created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created_date", b"created_date"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created_date", b"created_date", "file_descriptor_set", b"file_descriptor_set", "message_type_full_name", b"message_type_full_name", "namespace", b"namespace", "proto_file_name", b"proto_file_name", "protobuf_descriptor_id", b"protobuf_descriptor_id"]) -> None: ...

global___ProtobufDescriptor = ProtobufDescriptor

@typing.final
class ListProtobufDescriptorsRequest(google.protobuf.message.Message):
    """The request for a call to `ProtobufDescriptorService_ListProtobufDescriptors` to retrieve protobuf descriptors."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    FILTER_FIELD_NUMBER: builtins.int
    ORDER_BY_FIELD_NUMBER: builtins.int
    page_size: builtins.int
    """The maximum number of protobuf descriptors to return.
    The service may return fewer than this value.
    If unspecified, at most 50 protobuf descriptors will be returned.
    The maximum value is 1000; values above 1000 will be coerced to 1000.
    """
    page_token: builtins.str
    """A page token, received from a previous `ListProtobufDescriptors` call.
    Provide this to retrieve the subsequent page.
    When paginating, all other parameters provided to `ListProtobufDescriptors` must match
    the call that provided the page token.
    """
    filter: builtins.str
    """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
    Available fields to filter by are `protobuf_descriptor_id`, `proto_file_name`, `namespace`, and `message_type_full_name`.
    For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions).
    For more information about the fields used for filtering, please refer to [this definition](/protocol-buffers/documentation#protobufdescriptor). Optional.
    """
    order_by: builtins.str
    """How to order the retrieved protobuf descriptors. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...".
    Available fields to order_by are `created_date`, `modified_date`, and `message_type_full_name` and `namespace`.
    If left empty, items are ordered by `created_date` in ascending order (oldest-first).
    For more information about the format of this field, read [this](https://google.aip.dev/132#ordering)
    Example: "created_date desc,modified_date"
    """
    def __init__(
        self,
        *,
        page_size: builtins.int = ...,
        page_token: builtins.str = ...,
        filter: builtins.str = ...,
        order_by: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["filter", b"filter", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...

global___ListProtobufDescriptorsRequest = ListProtobufDescriptorsRequest

@typing.final
class ListProtobufDescriptorsResponse(google.protobuf.message.Message):
    """The response of a call to `ProtobufDescriptorService_ListProtobufDescriptors`."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROTOBUF_DESCRIPTORS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def protobuf_descriptors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProtobufDescriptor]: ...
    def __init__(
        self,
        *,
        protobuf_descriptors: collections.abc.Iterable[global___ProtobufDescriptor] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "protobuf_descriptors", b"protobuf_descriptors"]) -> None: ...

global___ListProtobufDescriptorsResponse = ListProtobufDescriptorsResponse
