# 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/firestore.py
# class GetDocumentRequest(proto.Message):
# class ListDocumentsRequest(proto.Message):
# class ListDocumentsResponse(proto.Message):
# class CreateDocumentRequest(proto.Message):
# class UpdateDocumentRequest(proto.Message):
# class DeleteDocumentRequest(proto.Message):
# class BatchGetDocumentsRequest(proto.Message):
# class BatchGetDocumentsResponse(proto.Message):
# class BeginTransactionRequest(proto.Message):
# class BeginTransactionResponse(proto.Message):
# class CommitRequest(proto.Message):
# class CommitResponse(proto.Message):
# class RollbackRequest(proto.Message):
# class RunQueryRequest(proto.Message):
# class RunQueryResponse(proto.Message):
# class PartitionQueryRequest(proto.Message):
# class PartitionQueryResponse(proto.Message):
# class WriteRequest(proto.Message):
# class WriteResponse(proto.Message):
# class ListenRequest(proto.Message):
# class ListenResponse(proto.Message):
# class Target(proto.Message):
#     class DocumentsTarget(proto.Message):
#     class QueryTarget(proto.Message):
# class TargetChange(proto.Message):
#     class TargetChangeType(proto.Enum):
# class ListCollectionIdsRequest(proto.Message):
# class ListCollectionIdsResponse(proto.Message):
# class BatchWriteRequest(proto.Message):
# class BatchWriteResponse(proto.Message):
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
#         NO_CHANGE = 0
#         ADD = 1
#         REMOVE = 2
#         CURRENT = 3
#         RESET = 4
# 
# Path: google/cloud/firestore_v1/types/query.py
# class StructuredQuery(proto.Message):
#     class Direction(proto.Enum):
#     class CollectionSelector(proto.Message):
#     class Filter(proto.Message):
#     class CompositeFilter(proto.Message):
#         class Operator(proto.Enum):
#     class FieldFilter(proto.Message):
#         class Operator(proto.Enum):
#     class UnaryFilter(proto.Message):
#         class Operator(proto.Enum):
#     class Order(proto.Message):
#     class FieldReference(proto.Message):
#     class Projection(proto.Message):
# class Cursor(proto.Message):
#         DIRECTION_UNSPECIFIED = 0
#         ASCENDING = 1
#         DESCENDING = 2
#             OPERATOR_UNSPECIFIED = 0
#             AND = 1
#             OPERATOR_UNSPECIFIED = 0
#             LESS_THAN = 1
#             LESS_THAN_OR_EQUAL = 2
#             GREATER_THAN = 3
#             GREATER_THAN_OR_EQUAL = 4
#             EQUAL = 5
#             NOT_EQUAL = 6
#             ARRAY_CONTAINS = 7
#             IN = 8
#             ARRAY_CONTAINS_ANY = 9
#             NOT_IN = 10
#             OPERATOR_UNSPECIFIED = 0
#             IS_NAN = 2
#             IS_NULL = 3
#             IS_NOT_NAN = 4
#             IS_NOT_NULL = 5


import proto  # type: ignore
from google.cloud.firestore_v1.types import common
from google.cloud.firestore_v1.types import document
from google.cloud.firestore_v1.types import firestore
from google.cloud.firestore_v1.types import query as gcf_query
from google.protobuf import timestamp_pb2 as timestamp  # type: ignore

    json_data = proto.Field(proto.STRING, number=3)

    request = proto.Field(proto.MESSAGE, number=4, message=firestore.CommitRequest,)

    is_error = proto.Field(proto.BOOL, number=5)


class UpdatePathsTest(proto.Message):
    r"""A call to the form of DocumentRef.Update that represents the
    data as a list of field paths and their values.

    Attributes:
        doc_ref_path (str):
            path of doc
        precondition (google.cloud.firestore_v1.types.Precondition):
            precondition in call, if any
        field_paths (Sequence[google.cloud.firestore_v1.types.FieldPath]):
            parallel sequences: field_paths[i] corresponds to
            json_values[i]
        json_values (Sequence[str]):
            the argument values, as JSON
        request (google.cloud.firestore_v1.types.CommitRequest):
            expected rquest
        is_error (bool):
            call signals an error
    """

    doc_ref_path = proto.Field(proto.STRING, number=1)


# 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/firestore.py
# class GetDocumentRequest(proto.Message):
# class ListDocumentsRequest(proto.Message):
# class ListDocumentsResponse(proto.Message):
# class CreateDocumentRequest(proto.Message):
# class UpdateDocumentRequest(proto.Message):
# class DeleteDocumentRequest(proto.Message):
# class BatchGetDocumentsRequest(proto.Message):
# class BatchGetDocumentsResponse(proto.Message):
# class BeginTransactionRequest(proto.Message):
# class BeginTransactionResponse(proto.Message):
# class CommitRequest(proto.Message):
# class CommitResponse(proto.Message):
# class RollbackRequest(proto.Message):
# class RunQueryRequest(proto.Message):
# class RunQueryResponse(proto.Message):
# class PartitionQueryRequest(proto.Message):
# class PartitionQueryResponse(proto.Message):
# class WriteRequest(proto.Message):
# class WriteResponse(proto.Message):
# class ListenRequest(proto.Message):
# class ListenResponse(proto.Message):
# class Target(proto.Message):
#     class DocumentsTarget(proto.Message):
#     class QueryTarget(proto.Message):
# class TargetChange(proto.Message):
#     class TargetChangeType(proto.Enum):
# class ListCollectionIdsRequest(proto.Message):
# class ListCollectionIdsResponse(proto.Message):
# class BatchWriteRequest(proto.Message):
# class BatchWriteResponse(proto.Message):
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
#         NO_CHANGE = 0
#         ADD = 1
#         REMOVE = 2
#         CURRENT = 3
#         RESET = 4
# 
# Path: google/cloud/firestore_v1/types/query.py
# class StructuredQuery(proto.Message):
#     class Direction(proto.Enum):
#     class CollectionSelector(proto.Message):
#     class Filter(proto.Message):
#     class CompositeFilter(proto.Message):
#         class Operator(proto.Enum):
#     class FieldFilter(proto.Message):
#         class Operator(proto.Enum):
#     class UnaryFilter(proto.Message):
#         class Operator(proto.Enum):
#     class Order(proto.Message):
#     class FieldReference(proto.Message):
#     class Projection(proto.Message):
# class Cursor(proto.Message):
#         DIRECTION_UNSPECIFIED = 0
#         ASCENDING = 1
#         DESCENDING = 2
#             OPERATOR_UNSPECIFIED = 0
#             AND = 1
#             OPERATOR_UNSPECIFIED = 0
#             LESS_THAN = 1
#             LESS_THAN_OR_EQUAL = 2
#             GREATER_THAN = 3
#             GREATER_THAN_OR_EQUAL = 4
#             EQUAL = 5
#             NOT_EQUAL = 6
#             ARRAY_CONTAINS = 7
#             IN = 8
#             ARRAY_CONTAINS_ANY = 9
#             NOT_IN = 10
#             OPERATOR_UNSPECIFIED = 0
#             IS_NAN = 2
#             IS_NULL = 3
#             IS_NOT_NAN = 4
#             IS_NOT_NULL = 5


# Path: tests/unit/v1/conformance_tests.py
import proto  # type: ignore
from google.cloud.firestore_v1.types import common
from google.cloud.firestore_v1.types import document
from google.cloud.firestore_v1.types import firestore
from google.cloud.firestore_v1.types import query as gcf_query
from google.protobuf import timestamp_pb2 as timestamp  # type: ignore


    json_data = proto.Field(proto.STRING, number=3)

    request = proto.Field(proto.MESSAGE, number=4, message=firestore.CommitRequest,)

    is_error = proto.Field(proto.BOOL, number=5)


class UpdatePathsTest(proto.Message):
    r"""A call to the form of DocumentRef.Update that represents the
    data as a list of field paths and their values.

    Attributes:
        doc_ref_path (str):
            path of doc
        precondition (google.cloud.firestore_v1.types.Precondition):
            precondition in call, if any
        field_paths (Sequence[google.cloud.firestore_v1.types.FieldPath]):
            parallel sequences: field_paths[i] corresponds to
            json_values[i]
        json_values (Sequence[str]):
            the argument values, as JSON
        request (google.cloud.firestore_v1.types.CommitRequest):
            expected rquest
        is_error (bool):
            call signals an error
    """

    doc_ref_path = proto.Field(proto.STRING, number=1)


    precondition = proto.Field(proto.MESSAGE, number=2, message=common.Precondition,)