# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings

from . import qdrant_service_pb2 as qdrant__service__pb2

GRPC_GENERATED_VERSION = '1.75.1'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in qdrant_service_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class QdrantServiceStub(object):
    """========================================
    Qdrant Vector Database Service
    ========================================
    Provides centralized vector storage and search with:
    - High-performance nearest neighbor search
    - Payload filtering and hybrid search
    - Multi-vector support per point
    - Quantization for memory optimization
    - Distributed collections

    ========== Collection Management ==========
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.CreateCollection = channel.unary_unary(
                '/isa.qdrant.QdrantService/CreateCollection',
                request_serializer=qdrant__service__pb2.CreateCollectionRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.CreateCollectionResponse.FromString,
                _registered_method=True)
        self.ListCollections = channel.unary_unary(
                '/isa.qdrant.QdrantService/ListCollections',
                request_serializer=qdrant__service__pb2.ListCollectionsRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.ListCollectionsResponse.FromString,
                _registered_method=True)
        self.GetCollectionInfo = channel.unary_unary(
                '/isa.qdrant.QdrantService/GetCollectionInfo',
                request_serializer=qdrant__service__pb2.GetCollectionInfoRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.GetCollectionInfoResponse.FromString,
                _registered_method=True)
        self.UpdateCollection = channel.unary_unary(
                '/isa.qdrant.QdrantService/UpdateCollection',
                request_serializer=qdrant__service__pb2.UpdateCollectionRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.UpdateCollectionResponse.FromString,
                _registered_method=True)
        self.DeleteCollection = channel.unary_unary(
                '/isa.qdrant.QdrantService/DeleteCollection',
                request_serializer=qdrant__service__pb2.DeleteCollectionRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DeleteCollectionResponse.FromString,
                _registered_method=True)
        self.CreateCollectionAlias = channel.unary_unary(
                '/isa.qdrant.QdrantService/CreateCollectionAlias',
                request_serializer=qdrant__service__pb2.CreateCollectionAliasRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.CreateCollectionAliasResponse.FromString,
                _registered_method=True)
        self.UpsertPoints = channel.unary_unary(
                '/isa.qdrant.QdrantService/UpsertPoints',
                request_serializer=qdrant__service__pb2.UpsertPointsRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.UpsertPointsResponse.FromString,
                _registered_method=True)
        self.GetPoints = channel.unary_unary(
                '/isa.qdrant.QdrantService/GetPoints',
                request_serializer=qdrant__service__pb2.GetPointsRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.GetPointsResponse.FromString,
                _registered_method=True)
        self.DeletePoints = channel.unary_unary(
                '/isa.qdrant.QdrantService/DeletePoints',
                request_serializer=qdrant__service__pb2.DeletePointsRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DeletePointsResponse.FromString,
                _registered_method=True)
        self.UpdatePayload = channel.unary_unary(
                '/isa.qdrant.QdrantService/UpdatePayload',
                request_serializer=qdrant__service__pb2.UpdatePayloadRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.UpdatePayloadResponse.FromString,
                _registered_method=True)
        self.DeletePayload = channel.unary_unary(
                '/isa.qdrant.QdrantService/DeletePayload',
                request_serializer=qdrant__service__pb2.DeletePayloadRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DeletePayloadResponse.FromString,
                _registered_method=True)
        self.ClearPayload = channel.unary_unary(
                '/isa.qdrant.QdrantService/ClearPayload',
                request_serializer=qdrant__service__pb2.ClearPayloadRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.ClearPayloadResponse.FromString,
                _registered_method=True)
        self.Search = channel.unary_unary(
                '/isa.qdrant.QdrantService/Search',
                request_serializer=qdrant__service__pb2.SearchRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.SearchResponse.FromString,
                _registered_method=True)
        self.SearchBatch = channel.unary_unary(
                '/isa.qdrant.QdrantService/SearchBatch',
                request_serializer=qdrant__service__pb2.SearchBatchRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.SearchBatchResponse.FromString,
                _registered_method=True)
        self.Recommend = channel.unary_unary(
                '/isa.qdrant.QdrantService/Recommend',
                request_serializer=qdrant__service__pb2.RecommendRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.RecommendResponse.FromString,
                _registered_method=True)
        self.Discover = channel.unary_unary(
                '/isa.qdrant.QdrantService/Discover',
                request_serializer=qdrant__service__pb2.DiscoverRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DiscoverResponse.FromString,
                _registered_method=True)
        self.Scroll = channel.unary_unary(
                '/isa.qdrant.QdrantService/Scroll',
                request_serializer=qdrant__service__pb2.ScrollRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.ScrollResponse.FromString,
                _registered_method=True)
        self.Count = channel.unary_unary(
                '/isa.qdrant.QdrantService/Count',
                request_serializer=qdrant__service__pb2.CountRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.CountResponse.FromString,
                _registered_method=True)
        self.CreateFieldIndex = channel.unary_unary(
                '/isa.qdrant.QdrantService/CreateFieldIndex',
                request_serializer=qdrant__service__pb2.CreateFieldIndexRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.CreateFieldIndexResponse.FromString,
                _registered_method=True)
        self.DeleteFieldIndex = channel.unary_unary(
                '/isa.qdrant.QdrantService/DeleteFieldIndex',
                request_serializer=qdrant__service__pb2.DeleteFieldIndexRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DeleteFieldIndexResponse.FromString,
                _registered_method=True)
        self.CreateSnapshot = channel.unary_unary(
                '/isa.qdrant.QdrantService/CreateSnapshot',
                request_serializer=qdrant__service__pb2.CreateSnapshotRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.CreateSnapshotResponse.FromString,
                _registered_method=True)
        self.ListSnapshots = channel.unary_unary(
                '/isa.qdrant.QdrantService/ListSnapshots',
                request_serializer=qdrant__service__pb2.ListSnapshotsRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.ListSnapshotsResponse.FromString,
                _registered_method=True)
        self.DeleteSnapshot = channel.unary_unary(
                '/isa.qdrant.QdrantService/DeleteSnapshot',
                request_serializer=qdrant__service__pb2.DeleteSnapshotRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.DeleteSnapshotResponse.FromString,
                _registered_method=True)
        self.HealthCheck = channel.unary_unary(
                '/isa.qdrant.QdrantService/HealthCheck',
                request_serializer=qdrant__service__pb2.QdrantHealthCheckRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.QdrantHealthCheckResponse.FromString,
                _registered_method=True)
        self.GetClusterInfo = channel.unary_unary(
                '/isa.qdrant.QdrantService/GetClusterInfo',
                request_serializer=qdrant__service__pb2.GetClusterInfoRequest.SerializeToString,
                response_deserializer=qdrant__service__pb2.GetClusterInfoResponse.FromString,
                _registered_method=True)


class QdrantServiceServicer(object):
    """========================================
    Qdrant Vector Database Service
    ========================================
    Provides centralized vector storage and search with:
    - High-performance nearest neighbor search
    - Payload filtering and hybrid search
    - Multi-vector support per point
    - Quantization for memory optimization
    - Distributed collections

    ========== Collection Management ==========
    """

    def CreateCollection(self, request, context):
        """CreateCollection - Create a new vector collection
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListCollections(self, request, context):
        """ListCollections - List all collections
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCollectionInfo(self, request, context):
        """GetCollectionInfo - Get detailed collection information
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateCollection(self, request, context):
        """UpdateCollection - Update collection parameters
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteCollection(self, request, context):
        """DeleteCollection - Delete a collection
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateCollectionAlias(self, request, context):
        """CreateCollectionAlias - Create collection alias
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpsertPoints(self, request, context):
        """========== Point (Vector) Operations ==========

        UpsertPoints - Insert or update points (vectors with payload)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPoints(self, request, context):
        """GetPoints - Retrieve points by IDs
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeletePoints(self, request, context):
        """DeletePoints - Delete points by IDs or filter
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdatePayload(self, request, context):
        """UpdatePayload - Update payload for points
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeletePayload(self, request, context):
        """DeletePayload - Delete specific payload fields
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ClearPayload(self, request, context):
        """ClearPayload - Clear all payload data
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Search(self, request, context):
        """========== Search Operations ==========

        Search - Vector similarity search
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SearchBatch(self, request, context):
        """SearchBatch - Batch vector search
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Recommend(self, request, context):
        """Recommend - Recommendation based on positive/negative examples
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Discover(self, request, context):
        """Discover - Discovery search (find points similar to positive but different from negative)
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Scroll(self, request, context):
        """Scroll - Iterate through all points
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Count(self, request, context):
        """Count - Count points matching filter
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateFieldIndex(self, request, context):
        """========== Index Management ==========

        CreateFieldIndex - Create payload field index
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteFieldIndex(self, request, context):
        """DeleteFieldIndex - Delete payload field index
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSnapshot(self, request, context):
        """========== Snapshot Operations ==========

        CreateSnapshot - Create collection snapshot
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSnapshots(self, request, context):
        """ListSnapshots - List available snapshots
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSnapshot(self, request, context):
        """DeleteSnapshot - Delete a snapshot
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HealthCheck(self, request, context):
        """========== Health & Stats ==========

        HealthCheck - Service health check
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetClusterInfo(self, request, context):
        """GetClusterInfo - Get cluster information
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_QdrantServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateCollection': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateCollection,
                    request_deserializer=qdrant__service__pb2.CreateCollectionRequest.FromString,
                    response_serializer=qdrant__service__pb2.CreateCollectionResponse.SerializeToString,
            ),
            'ListCollections': grpc.unary_unary_rpc_method_handler(
                    servicer.ListCollections,
                    request_deserializer=qdrant__service__pb2.ListCollectionsRequest.FromString,
                    response_serializer=qdrant__service__pb2.ListCollectionsResponse.SerializeToString,
            ),
            'GetCollectionInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCollectionInfo,
                    request_deserializer=qdrant__service__pb2.GetCollectionInfoRequest.FromString,
                    response_serializer=qdrant__service__pb2.GetCollectionInfoResponse.SerializeToString,
            ),
            'UpdateCollection': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateCollection,
                    request_deserializer=qdrant__service__pb2.UpdateCollectionRequest.FromString,
                    response_serializer=qdrant__service__pb2.UpdateCollectionResponse.SerializeToString,
            ),
            'DeleteCollection': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteCollection,
                    request_deserializer=qdrant__service__pb2.DeleteCollectionRequest.FromString,
                    response_serializer=qdrant__service__pb2.DeleteCollectionResponse.SerializeToString,
            ),
            'CreateCollectionAlias': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateCollectionAlias,
                    request_deserializer=qdrant__service__pb2.CreateCollectionAliasRequest.FromString,
                    response_serializer=qdrant__service__pb2.CreateCollectionAliasResponse.SerializeToString,
            ),
            'UpsertPoints': grpc.unary_unary_rpc_method_handler(
                    servicer.UpsertPoints,
                    request_deserializer=qdrant__service__pb2.UpsertPointsRequest.FromString,
                    response_serializer=qdrant__service__pb2.UpsertPointsResponse.SerializeToString,
            ),
            'GetPoints': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPoints,
                    request_deserializer=qdrant__service__pb2.GetPointsRequest.FromString,
                    response_serializer=qdrant__service__pb2.GetPointsResponse.SerializeToString,
            ),
            'DeletePoints': grpc.unary_unary_rpc_method_handler(
                    servicer.DeletePoints,
                    request_deserializer=qdrant__service__pb2.DeletePointsRequest.FromString,
                    response_serializer=qdrant__service__pb2.DeletePointsResponse.SerializeToString,
            ),
            'UpdatePayload': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdatePayload,
                    request_deserializer=qdrant__service__pb2.UpdatePayloadRequest.FromString,
                    response_serializer=qdrant__service__pb2.UpdatePayloadResponse.SerializeToString,
            ),
            'DeletePayload': grpc.unary_unary_rpc_method_handler(
                    servicer.DeletePayload,
                    request_deserializer=qdrant__service__pb2.DeletePayloadRequest.FromString,
                    response_serializer=qdrant__service__pb2.DeletePayloadResponse.SerializeToString,
            ),
            'ClearPayload': grpc.unary_unary_rpc_method_handler(
                    servicer.ClearPayload,
                    request_deserializer=qdrant__service__pb2.ClearPayloadRequest.FromString,
                    response_serializer=qdrant__service__pb2.ClearPayloadResponse.SerializeToString,
            ),
            'Search': grpc.unary_unary_rpc_method_handler(
                    servicer.Search,
                    request_deserializer=qdrant__service__pb2.SearchRequest.FromString,
                    response_serializer=qdrant__service__pb2.SearchResponse.SerializeToString,
            ),
            'SearchBatch': grpc.unary_unary_rpc_method_handler(
                    servicer.SearchBatch,
                    request_deserializer=qdrant__service__pb2.SearchBatchRequest.FromString,
                    response_serializer=qdrant__service__pb2.SearchBatchResponse.SerializeToString,
            ),
            'Recommend': grpc.unary_unary_rpc_method_handler(
                    servicer.Recommend,
                    request_deserializer=qdrant__service__pb2.RecommendRequest.FromString,
                    response_serializer=qdrant__service__pb2.RecommendResponse.SerializeToString,
            ),
            'Discover': grpc.unary_unary_rpc_method_handler(
                    servicer.Discover,
                    request_deserializer=qdrant__service__pb2.DiscoverRequest.FromString,
                    response_serializer=qdrant__service__pb2.DiscoverResponse.SerializeToString,
            ),
            'Scroll': grpc.unary_unary_rpc_method_handler(
                    servicer.Scroll,
                    request_deserializer=qdrant__service__pb2.ScrollRequest.FromString,
                    response_serializer=qdrant__service__pb2.ScrollResponse.SerializeToString,
            ),
            'Count': grpc.unary_unary_rpc_method_handler(
                    servicer.Count,
                    request_deserializer=qdrant__service__pb2.CountRequest.FromString,
                    response_serializer=qdrant__service__pb2.CountResponse.SerializeToString,
            ),
            'CreateFieldIndex': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateFieldIndex,
                    request_deserializer=qdrant__service__pb2.CreateFieldIndexRequest.FromString,
                    response_serializer=qdrant__service__pb2.CreateFieldIndexResponse.SerializeToString,
            ),
            'DeleteFieldIndex': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteFieldIndex,
                    request_deserializer=qdrant__service__pb2.DeleteFieldIndexRequest.FromString,
                    response_serializer=qdrant__service__pb2.DeleteFieldIndexResponse.SerializeToString,
            ),
            'CreateSnapshot': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSnapshot,
                    request_deserializer=qdrant__service__pb2.CreateSnapshotRequest.FromString,
                    response_serializer=qdrant__service__pb2.CreateSnapshotResponse.SerializeToString,
            ),
            'ListSnapshots': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSnapshots,
                    request_deserializer=qdrant__service__pb2.ListSnapshotsRequest.FromString,
                    response_serializer=qdrant__service__pb2.ListSnapshotsResponse.SerializeToString,
            ),
            'DeleteSnapshot': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSnapshot,
                    request_deserializer=qdrant__service__pb2.DeleteSnapshotRequest.FromString,
                    response_serializer=qdrant__service__pb2.DeleteSnapshotResponse.SerializeToString,
            ),
            'HealthCheck': grpc.unary_unary_rpc_method_handler(
                    servicer.HealthCheck,
                    request_deserializer=qdrant__service__pb2.QdrantHealthCheckRequest.FromString,
                    response_serializer=qdrant__service__pb2.QdrantHealthCheckResponse.SerializeToString,
            ),
            'GetClusterInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetClusterInfo,
                    request_deserializer=qdrant__service__pb2.GetClusterInfoRequest.FromString,
                    response_serializer=qdrant__service__pb2.GetClusterInfoResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'isa.qdrant.QdrantService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('isa.qdrant.QdrantService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class QdrantService(object):
    """========================================
    Qdrant Vector Database Service
    ========================================
    Provides centralized vector storage and search with:
    - High-performance nearest neighbor search
    - Payload filtering and hybrid search
    - Multi-vector support per point
    - Quantization for memory optimization
    - Distributed collections

    ========== Collection Management ==========
    """

    @staticmethod
    def CreateCollection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/CreateCollection',
            qdrant__service__pb2.CreateCollectionRequest.SerializeToString,
            qdrant__service__pb2.CreateCollectionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListCollections(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/ListCollections',
            qdrant__service__pb2.ListCollectionsRequest.SerializeToString,
            qdrant__service__pb2.ListCollectionsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCollectionInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/GetCollectionInfo',
            qdrant__service__pb2.GetCollectionInfoRequest.SerializeToString,
            qdrant__service__pb2.GetCollectionInfoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def UpdateCollection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/UpdateCollection',
            qdrant__service__pb2.UpdateCollectionRequest.SerializeToString,
            qdrant__service__pb2.UpdateCollectionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeleteCollection(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/DeleteCollection',
            qdrant__service__pb2.DeleteCollectionRequest.SerializeToString,
            qdrant__service__pb2.DeleteCollectionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateCollectionAlias(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/CreateCollectionAlias',
            qdrant__service__pb2.CreateCollectionAliasRequest.SerializeToString,
            qdrant__service__pb2.CreateCollectionAliasResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def UpsertPoints(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/UpsertPoints',
            qdrant__service__pb2.UpsertPointsRequest.SerializeToString,
            qdrant__service__pb2.UpsertPointsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPoints(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/GetPoints',
            qdrant__service__pb2.GetPointsRequest.SerializeToString,
            qdrant__service__pb2.GetPointsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeletePoints(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/DeletePoints',
            qdrant__service__pb2.DeletePointsRequest.SerializeToString,
            qdrant__service__pb2.DeletePointsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def UpdatePayload(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/UpdatePayload',
            qdrant__service__pb2.UpdatePayloadRequest.SerializeToString,
            qdrant__service__pb2.UpdatePayloadResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeletePayload(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/DeletePayload',
            qdrant__service__pb2.DeletePayloadRequest.SerializeToString,
            qdrant__service__pb2.DeletePayloadResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ClearPayload(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/ClearPayload',
            qdrant__service__pb2.ClearPayloadRequest.SerializeToString,
            qdrant__service__pb2.ClearPayloadResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Search(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/Search',
            qdrant__service__pb2.SearchRequest.SerializeToString,
            qdrant__service__pb2.SearchResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SearchBatch(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/SearchBatch',
            qdrant__service__pb2.SearchBatchRequest.SerializeToString,
            qdrant__service__pb2.SearchBatchResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Recommend(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/Recommend',
            qdrant__service__pb2.RecommendRequest.SerializeToString,
            qdrant__service__pb2.RecommendResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Discover(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/Discover',
            qdrant__service__pb2.DiscoverRequest.SerializeToString,
            qdrant__service__pb2.DiscoverResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Scroll(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/Scroll',
            qdrant__service__pb2.ScrollRequest.SerializeToString,
            qdrant__service__pb2.ScrollResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Count(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/Count',
            qdrant__service__pb2.CountRequest.SerializeToString,
            qdrant__service__pb2.CountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateFieldIndex(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/CreateFieldIndex',
            qdrant__service__pb2.CreateFieldIndexRequest.SerializeToString,
            qdrant__service__pb2.CreateFieldIndexResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeleteFieldIndex(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/DeleteFieldIndex',
            qdrant__service__pb2.DeleteFieldIndexRequest.SerializeToString,
            qdrant__service__pb2.DeleteFieldIndexResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateSnapshot(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/CreateSnapshot',
            qdrant__service__pb2.CreateSnapshotRequest.SerializeToString,
            qdrant__service__pb2.CreateSnapshotResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListSnapshots(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/ListSnapshots',
            qdrant__service__pb2.ListSnapshotsRequest.SerializeToString,
            qdrant__service__pb2.ListSnapshotsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DeleteSnapshot(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/DeleteSnapshot',
            qdrant__service__pb2.DeleteSnapshotRequest.SerializeToString,
            qdrant__service__pb2.DeleteSnapshotResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def HealthCheck(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/HealthCheck',
            qdrant__service__pb2.QdrantHealthCheckRequest.SerializeToString,
            qdrant__service__pb2.QdrantHealthCheckResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetClusterInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/isa.qdrant.QdrantService/GetClusterInfo',
            qdrant__service__pb2.GetClusterInfoRequest.SerializeToString,
            qdrant__service__pb2.GetClusterInfoResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
