# 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

    """

    field = proto.RepeatedField(proto.STRING, number=1)


class ListenTest(proto.Message):
    r"""A test of the Listen streaming RPC (a.k.a. FireStore watch). If the
    sequence of responses is provided to the implementation, it should
    produce the sequence of snapshots. If is_error is true, an error
    should occur after the snapshots.

    The tests assume that the query is
    Collection("projects/projectID/databases/(default)/documents/C").OrderBy("a",
    Ascending)

    The watch target ID used in these tests is 1. Test interpreters
    should either change their client's ID for testing, or change the ID
    in the tests before running them.

    Attributes:
        responses (Sequence[google.cloud.firestore_v1.types.ListenResponse]):

        snapshots (Sequence[google.cloud.firestore_v1.types.Snapshot]):

        is_error (bool):

    """

    responses = proto.RepeatedField(

# 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


    """

    field = proto.RepeatedField(proto.STRING, number=1)


class ListenTest(proto.Message):
    r"""A test of the Listen streaming RPC (a.k.a. FireStore watch). If the
    sequence of responses is provided to the implementation, it should
    produce the sequence of snapshots. If is_error is true, an error
    should occur after the snapshots.

    The tests assume that the query is
    Collection("projects/projectID/databases/(default)/documents/C").OrderBy("a",
    Ascending)

    The watch target ID used in these tests is 1. Test interpreters
    should either change their client's ID for testing, or change the ID
    in the tests before running them.

    Attributes:
        responses (Sequence[google.cloud.firestore_v1.types.ListenResponse]):

        snapshots (Sequence[google.cloud.firestore_v1.types.Snapshot]):

        is_error (bool):

    """

    responses = proto.RepeatedField(

        proto.MESSAGE, number=1, message=firestore.ListenResponse,