# Path: google/cloud/firestore_v1/types/common.py
# class DocumentMask(proto.Message):
# class Precondition(proto.Message):
# class TransactionOptions(proto.Message):
#     class ReadWrite(proto.Message):
#     class ReadOnly(proto.Message):
# 
# Path: google/cloud/firestore_v1/types/document.py
# class Document(proto.Message):
# class Value(proto.Message):
# class ArrayValue(proto.Message):
# class MapValue(proto.Message):


import proto  # type: ignore
from google.cloud.firestore_v1.types import common
from google.cloud.firestore_v1.types import document as gf_document
from google.protobuf import timestamp_pb2  # type: ignore
                This field is a member of `oneof`_ ``transform_type``.
        """

        class ServerValue(proto.Enum):
            r"""A value that is calculated by the server."""
            SERVER_VALUE_UNSPECIFIED = 0
            REQUEST_TIME = 1

        field_path = proto.Field(proto.STRING, number=1,)
        set_to_server_value = proto.Field(
            proto.ENUM,
            number=2,
            oneof="transform_type",
            enum="DocumentTransform.FieldTransform.ServerValue",
        )
        increment = proto.Field(
            proto.MESSAGE, number=3, oneof="transform_type", message=gf_document.Value,
        )
        maximum = proto.Field(
            proto.MESSAGE, number=4, oneof="transform_type", message=gf_document.Value,
        )
        minimum = proto.Field(
            proto.MESSAGE, number=5, oneof="transform_type", message=gf_document.Value,
        )
        append_missing_elements = proto.Field(
            proto.MESSAGE,
            number=6,
            oneof="transform_type",
            message=gf_document.ArrayValue,
        )

# Path: google/cloud/firestore_v1/types/common.py
# class DocumentMask(proto.Message):
# class Precondition(proto.Message):
# class TransactionOptions(proto.Message):
#     class ReadWrite(proto.Message):
#     class ReadOnly(proto.Message):
# 
# Path: google/cloud/firestore_v1/types/document.py
# class Document(proto.Message):
# class Value(proto.Message):
# class ArrayValue(proto.Message):
# class MapValue(proto.Message):


# Path: google/cloud/firestore_v1/types/write.py
import proto  # type: ignore
from google.cloud.firestore_v1.types import common
from google.cloud.firestore_v1.types import document as gf_document
from google.protobuf import timestamp_pb2  # type: ignore

                This field is a member of `oneof`_ ``transform_type``.
        """

        class ServerValue(proto.Enum):
            r"""A value that is calculated by the server."""
            SERVER_VALUE_UNSPECIFIED = 0
            REQUEST_TIME = 1

        field_path = proto.Field(proto.STRING, number=1,)
        set_to_server_value = proto.Field(
            proto.ENUM,
            number=2,
            oneof="transform_type",
            enum="DocumentTransform.FieldTransform.ServerValue",
        )
        increment = proto.Field(
            proto.MESSAGE, number=3, oneof="transform_type", message=gf_document.Value,
        )
        maximum = proto.Field(
            proto.MESSAGE, number=4, oneof="transform_type", message=gf_document.Value,
        )
        minimum = proto.Field(
            proto.MESSAGE, number=5, oneof="transform_type", message=gf_document.Value,
        )
        append_missing_elements = proto.Field(
            proto.MESSAGE,
            number=6,
            oneof="transform_type",
            message=gf_document.ArrayValue,
        )

        remove_all_from_array = proto.Field(