# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from google.protobuf.struct_pb2 import (
    Struct as google___protobuf___struct_pb2___Struct,
)

from typing import (
    Iterable as typing___Iterable,
    Mapping as typing___Mapping,
    MutableMapping as typing___MutableMapping,
    Optional as typing___Optional,
    Text as typing___Text,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)

builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int

DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class SparseValues(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    indices: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___int] = ...
    values: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...

    def __init__(
        self,
        *,
        indices: typing___Optional[typing___Iterable[builtin___int]] = None,
        values: typing___Optional[typing___Iterable[builtin___float]] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["indices", b"indices", "values", b"values"]
    ) -> None: ...

type___SparseValues = SparseValues

class Vector(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    id: typing___Text = ...
    values: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...

    @property
    def sparse_values(self) -> type___SparseValues: ...
    @property
    def metadata(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        id: typing___Optional[typing___Text] = None,
        values: typing___Optional[typing___Iterable[builtin___float]] = None,
        sparse_values: typing___Optional[type___SparseValues] = None,
        metadata: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["metadata", b"metadata", "sparse_values", b"sparse_values"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "id", b"id", "metadata", b"metadata", "sparse_values", b"sparse_values", "values", b"values"
        ],
    ) -> None: ...

type___Vector = Vector

class ScoredVector(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    id: typing___Text = ...
    score: builtin___float = ...
    values: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...

    @property
    def sparse_values(self) -> type___SparseValues: ...
    @property
    def metadata(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        id: typing___Optional[typing___Text] = None,
        score: typing___Optional[builtin___float] = None,
        values: typing___Optional[typing___Iterable[builtin___float]] = None,
        sparse_values: typing___Optional[type___SparseValues] = None,
        metadata: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["metadata", b"metadata", "sparse_values", b"sparse_values"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "id",
            b"id",
            "metadata",
            b"metadata",
            "score",
            b"score",
            "sparse_values",
            b"sparse_values",
            "values",
            b"values",
        ],
    ) -> None: ...

type___ScoredVector = ScoredVector

class UpsertRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    namespace: typing___Text = ...

    @property
    def vectors(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___Vector]: ...
    def __init__(
        self,
        *,
        vectors: typing___Optional[typing___Iterable[type___Vector]] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["namespace", b"namespace", "vectors", b"vectors"]
    ) -> None: ...

type___UpsertRequest = UpsertRequest

class UpsertResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    upserted_count: builtin___int = ...

    def __init__(
        self,
        *,
        upserted_count: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal["upserted_count", b"upserted_count"]) -> None: ...

type___UpsertResponse = UpsertResponse

class DeleteRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ids: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
    delete_all: builtin___bool = ...
    namespace: typing___Text = ...

    @property
    def filter(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        ids: typing___Optional[typing___Iterable[typing___Text]] = None,
        delete_all: typing___Optional[builtin___bool] = None,
        namespace: typing___Optional[typing___Text] = None,
        filter: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal["filter", b"filter"]) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "delete_all", b"delete_all", "filter", b"filter", "ids", b"ids", "namespace", b"namespace"
        ],
    ) -> None: ...

type___DeleteRequest = DeleteRequest

class DeleteResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    def __init__(
        self,
    ) -> None: ...

type___DeleteResponse = DeleteResponse

class FetchRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ids: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text] = ...
    namespace: typing___Text = ...

    def __init__(
        self,
        *,
        ids: typing___Optional[typing___Iterable[typing___Text]] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal["ids", b"ids", "namespace", b"namespace"]) -> None: ...

type___FetchRequest = FetchRequest

class FetchResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    class VectorsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key: typing___Text = ...

        @property
        def value(self) -> type___Vector: ...
        def __init__(
            self,
            *,
            key: typing___Optional[typing___Text] = None,
            value: typing___Optional[type___Vector] = None,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal["value", b"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal["key", b"key", "value", b"value"]) -> None: ...
    type___VectorsEntry = VectorsEntry

    namespace: typing___Text = ...

    @property
    def vectors(self) -> typing___MutableMapping[typing___Text, type___Vector]: ...
    def __init__(
        self,
        *,
        vectors: typing___Optional[typing___Mapping[typing___Text, type___Vector]] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["namespace", b"namespace", "vectors", b"vectors"]
    ) -> None: ...

type___FetchResponse = FetchResponse

class QueryVector(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    values: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...
    top_k: builtin___int = ...
    namespace: typing___Text = ...

    @property
    def sparse_values(self) -> type___SparseValues: ...
    @property
    def filter(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        values: typing___Optional[typing___Iterable[builtin___float]] = None,
        sparse_values: typing___Optional[type___SparseValues] = None,
        top_k: typing___Optional[builtin___int] = None,
        namespace: typing___Optional[typing___Text] = None,
        filter: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["filter", b"filter", "sparse_values", b"sparse_values"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "filter",
            b"filter",
            "namespace",
            b"namespace",
            "sparse_values",
            b"sparse_values",
            "top_k",
            b"top_k",
            "values",
            b"values",
        ],
    ) -> None: ...

type___QueryVector = QueryVector

class QueryRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    namespace: typing___Text = ...
    top_k: builtin___int = ...
    include_values: builtin___bool = ...
    include_metadata: builtin___bool = ...
    vector: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...
    id: typing___Text = ...

    @property
    def filter(self) -> google___protobuf___struct_pb2___Struct: ...
    @property
    def queries(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___QueryVector]: ...
    @property
    def sparse_vector(self) -> type___SparseValues: ...
    def __init__(
        self,
        *,
        namespace: typing___Optional[typing___Text] = None,
        top_k: typing___Optional[builtin___int] = None,
        filter: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
        include_values: typing___Optional[builtin___bool] = None,
        include_metadata: typing___Optional[builtin___bool] = None,
        queries: typing___Optional[typing___Iterable[type___QueryVector]] = None,
        vector: typing___Optional[typing___Iterable[builtin___float]] = None,
        sparse_vector: typing___Optional[type___SparseValues] = None,
        id: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions___Literal["filter", b"filter", "sparse_vector", b"sparse_vector"]
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "filter",
            b"filter",
            "id",
            b"id",
            "include_metadata",
            b"include_metadata",
            "include_values",
            b"include_values",
            "namespace",
            b"namespace",
            "queries",
            b"queries",
            "sparse_vector",
            b"sparse_vector",
            "top_k",
            b"top_k",
            "vector",
            b"vector",
        ],
    ) -> None: ...

type___QueryRequest = QueryRequest

class SingleQueryResults(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    namespace: typing___Text = ...

    @property
    def matches(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___ScoredVector]: ...
    def __init__(
        self,
        *,
        matches: typing___Optional[typing___Iterable[type___ScoredVector]] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions___Literal["matches", b"matches", "namespace", b"namespace"]
    ) -> None: ...

type___SingleQueryResults = SingleQueryResults

class QueryResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    namespace: typing___Text = ...

    @property
    def results(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___SingleQueryResults]: ...
    @property
    def matches(
        self,
    ) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___ScoredVector]: ...
    def __init__(
        self,
        *,
        results: typing___Optional[typing___Iterable[type___SingleQueryResults]] = None,
        matches: typing___Optional[typing___Iterable[type___ScoredVector]] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "matches", b"matches", "namespace", b"namespace", "results", b"results"
        ],
    ) -> None: ...

type___QueryResponse = QueryResponse

class UpdateRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    id: typing___Text = ...
    values: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___float] = ...
    namespace: typing___Text = ...

    @property
    def sparse_values(self) -> type___SparseValues: ...
    @property
    def set_metadata(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        id: typing___Optional[typing___Text] = None,
        values: typing___Optional[typing___Iterable[builtin___float]] = None,
        sparse_values: typing___Optional[type___SparseValues] = None,
        set_metadata: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
        namespace: typing___Optional[typing___Text] = None,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions___Literal["set_metadata", b"set_metadata", "sparse_values", b"sparse_values"],
    ) -> builtin___bool: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "id",
            b"id",
            "namespace",
            b"namespace",
            "set_metadata",
            b"set_metadata",
            "sparse_values",
            b"sparse_values",
            "values",
            b"values",
        ],
    ) -> None: ...

type___UpdateRequest = UpdateRequest

class UpdateResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    def __init__(
        self,
    ) -> None: ...

type___UpdateResponse = UpdateResponse

class DescribeIndexStatsRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def filter(self) -> google___protobuf___struct_pb2___Struct: ...
    def __init__(
        self,
        *,
        filter: typing___Optional[google___protobuf___struct_pb2___Struct] = None,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions___Literal["filter", b"filter"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal["filter", b"filter"]) -> None: ...

type___DescribeIndexStatsRequest = DescribeIndexStatsRequest

class NamespaceSummary(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    vector_count: builtin___int = ...

    def __init__(
        self,
        *,
        vector_count: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions___Literal["vector_count", b"vector_count"]) -> None: ...

type___NamespaceSummary = NamespaceSummary

class DescribeIndexStatsResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    class NamespacesEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key: typing___Text = ...

        @property
        def value(self) -> type___NamespaceSummary: ...
        def __init__(
            self,
            *,
            key: typing___Optional[typing___Text] = None,
            value: typing___Optional[type___NamespaceSummary] = None,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions___Literal["value", b"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal["key", b"key", "value", b"value"]) -> None: ...
    type___NamespacesEntry = NamespacesEntry

    dimension: builtin___int = ...
    index_fullness: builtin___float = ...
    total_vector_count: builtin___int = ...

    @property
    def namespaces(self) -> typing___MutableMapping[typing___Text, type___NamespaceSummary]: ...
    def __init__(
        self,
        *,
        namespaces: typing___Optional[typing___Mapping[typing___Text, type___NamespaceSummary]] = None,
        dimension: typing___Optional[builtin___int] = None,
        index_fullness: typing___Optional[builtin___float] = None,
        total_vector_count: typing___Optional[builtin___int] = None,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions___Literal[
            "dimension",
            b"dimension",
            "index_fullness",
            b"index_fullness",
            "namespaces",
            b"namespaces",
            "total_vector_count",
            b"total_vector_count",
        ],
    ) -> None: ...

type___DescribeIndexStatsResponse = DescribeIndexStatsResponse
