# Path: google/cloud/datastore_v1/types/entity.py
# class PartitionId(proto.Message):
# class Key(proto.Message):
#     class PathElement(proto.Message):
# class ArrayValue(proto.Message):
# class Value(proto.Message):
# class Entity(proto.Message):
# 
# Path: google/cloud/datastore_v1/types/query.py
# class EntityResult(proto.Message):
#     class ResultType(proto.Enum):
# class Query(proto.Message):
# class KindExpression(proto.Message):
# class PropertyReference(proto.Message):
# class Projection(proto.Message):
# class PropertyOrder(proto.Message):
#     class Direction(proto.Enum):
# class Filter(proto.Message):
# class CompositeFilter(proto.Message):
#     class Operator(proto.Enum):
# class PropertyFilter(proto.Message):
#     class Operator(proto.Enum):
# class GqlQuery(proto.Message):
# class GqlQueryParameter(proto.Message):
# class QueryResultBatch(proto.Message):
#     class MoreResultsType(proto.Enum):
#         RESULT_TYPE_UNSPECIFIED = 0
#         FULL = 1
#         PROJECTION = 2
#         KEY_ONLY = 3
#         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
#         HAS_ANCESTOR = 11
#         MORE_RESULTS_TYPE_UNSPECIFIED = 0
#         NOT_FINISHED = 1
#         MORE_RESULTS_AFTER_LIMIT = 2
#         MORE_RESULTS_AFTER_CURSOR = 4
#         NO_MORE_RESULTS = 3


import proto  # type: ignore
from google.cloud.datastore_v1.types import entity
from google.cloud.datastore_v1.types import query as gd_query
        "CommitRequest",
        "CommitResponse",
        "AllocateIdsRequest",
        "AllocateIdsResponse",
        "ReserveIdsRequest",
        "ReserveIdsResponse",
        "Mutation",
        "MutationResult",
        "ReadOptions",
        "TransactionOptions",
    },
)


class LookupRequest(proto.Message):
    r"""The request for
    [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].

    Attributes:
        project_id (str):
            Required. The ID of the project against which
            to make the request.
        read_options (google.cloud.datastore_v1.types.ReadOptions):
            The options for this lookup request.
        keys (Sequence[google.cloud.datastore_v1.types.Key]):
            Required. Keys of entities to look up.
    """

    project_id = proto.Field(proto.STRING, number=8,)
    read_options = proto.Field(proto.MESSAGE, number=1, message="ReadOptions",)

# Path: google/cloud/datastore_v1/types/entity.py
# class PartitionId(proto.Message):
# class Key(proto.Message):
#     class PathElement(proto.Message):
# class ArrayValue(proto.Message):
# class Value(proto.Message):
# class Entity(proto.Message):
# 
# Path: google/cloud/datastore_v1/types/query.py
# class EntityResult(proto.Message):
#     class ResultType(proto.Enum):
# class Query(proto.Message):
# class KindExpression(proto.Message):
# class PropertyReference(proto.Message):
# class Projection(proto.Message):
# class PropertyOrder(proto.Message):
#     class Direction(proto.Enum):
# class Filter(proto.Message):
# class CompositeFilter(proto.Message):
#     class Operator(proto.Enum):
# class PropertyFilter(proto.Message):
#     class Operator(proto.Enum):
# class GqlQuery(proto.Message):
# class GqlQueryParameter(proto.Message):
# class QueryResultBatch(proto.Message):
#     class MoreResultsType(proto.Enum):
#         RESULT_TYPE_UNSPECIFIED = 0
#         FULL = 1
#         PROJECTION = 2
#         KEY_ONLY = 3
#         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
#         HAS_ANCESTOR = 11
#         MORE_RESULTS_TYPE_UNSPECIFIED = 0
#         NOT_FINISHED = 1
#         MORE_RESULTS_AFTER_LIMIT = 2
#         MORE_RESULTS_AFTER_CURSOR = 4
#         NO_MORE_RESULTS = 3


# Path: google/cloud/datastore_v1/types/datastore.py
import proto  # type: ignore
from google.cloud.datastore_v1.types import entity
from google.cloud.datastore_v1.types import query as gd_query

        "CommitRequest",
        "CommitResponse",
        "AllocateIdsRequest",
        "AllocateIdsResponse",
        "ReserveIdsRequest",
        "ReserveIdsResponse",
        "Mutation",
        "MutationResult",
        "ReadOptions",
        "TransactionOptions",
    },
)


class LookupRequest(proto.Message):
    r"""The request for
    [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].

    Attributes:
        project_id (str):
            Required. The ID of the project against which
            to make the request.
        read_options (google.cloud.datastore_v1.types.ReadOptions):
            The options for this lookup request.
        keys (Sequence[google.cloud.datastore_v1.types.Key]):
            Required. Keys of entities to look up.
    """

    project_id = proto.Field(proto.STRING, number=8,)
    read_options = proto.Field(proto.MESSAGE, number=1, message="ReadOptions",)

    keys = proto.RepeatedField(proto.MESSAGE, number=3, message=entity.Key,)