"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import arg_services.base.v1.base_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

global___EmbeddingLevel = EmbeddingLevel
class _EmbeddingLevel(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[EmbeddingLevel.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    EMBEDDING_LEVEL_UNSPECIFIED = EmbeddingLevel.V(0)
    EMBEDDING_LEVEL_DOCUMENT = EmbeddingLevel.V(1)
    EMBEDDING_LEVEL_TOKENS = EmbeddingLevel.V(2)
    EMBEDDING_LEVEL_SENTENCES = EmbeddingLevel.V(3)
class EmbeddingLevel(metaclass=_EmbeddingLevel):
    V = typing.NewType('V', builtins.int)
EMBEDDING_LEVEL_UNSPECIFIED = EmbeddingLevel.V(0)
EMBEDDING_LEVEL_DOCUMENT = EmbeddingLevel.V(1)
EMBEDDING_LEVEL_TOKENS = EmbeddingLevel.V(2)
EMBEDDING_LEVEL_SENTENCES = EmbeddingLevel.V(3)

global___Pooling = Pooling
class _Pooling(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Pooling.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    POOLING_UNSPECIFIED = Pooling.V(0)
    POOLING_MEAN = Pooling.V(1)
    POOLING_MAX = Pooling.V(2)
    POOLING_MIN = Pooling.V(3)
    POOLING_SUM = Pooling.V(4)
    POOLING_FIRST = Pooling.V(5)
    POOLING_LAST = Pooling.V(6)
class Pooling(metaclass=_Pooling):
    V = typing.NewType('V', builtins.int)
POOLING_UNSPECIFIED = Pooling.V(0)
POOLING_MEAN = Pooling.V(1)
POOLING_MAX = Pooling.V(2)
POOLING_MIN = Pooling.V(3)
POOLING_SUM = Pooling.V(4)
POOLING_FIRST = Pooling.V(5)
POOLING_LAST = Pooling.V(6)

global___EmbeddingType = EmbeddingType
class _EmbeddingType(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[EmbeddingType.V], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor = ...
    EMBEDDING_TYPE_UNSPECIFIED = EmbeddingType.V(0)
    EMBEDDING_TYPE_SPACY = EmbeddingType.V(1)
    EMBEDDING_TYPE_USE = EmbeddingType.V(2)
    EMBEDDING_TYPE_SBERT = EmbeddingType.V(3)
class EmbeddingType(metaclass=_EmbeddingType):
    V = typing.NewType('V', builtins.int)
EMBEDDING_TYPE_UNSPECIFIED = EmbeddingType.V(0)
EMBEDDING_TYPE_SPACY = EmbeddingType.V(1)
EMBEDDING_TYPE_USE = EmbeddingType.V(2)
EMBEDDING_TYPE_SBERT = EmbeddingType.V(3)

class DocBinRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LANGUAGE_FIELD_NUMBER: builtins.int
    TEXTS_FIELD_NUMBER: builtins.int
    SPACY_MODEL_FIELD_NUMBER: builtins.int
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    EMBEDDING_LEVELS_FIELD_NUMBER: builtins.int
    EMBEDDING_MODELS_FIELD_NUMBER: builtins.int
    language: arg_services.base.v1.base_pb2.Language.V = ...
    texts: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    spacy_model: typing.Text = ...
    attributes: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    embedding_levels: google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EmbeddingLevel.V] = ...

    @property
    def embedding_models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EmbeddingModel]: ...

    def __init__(self,
        *,
        language : arg_services.base.v1.base_pb2.Language.V = ...,
        texts : typing.Optional[typing.Iterable[typing.Text]] = ...,
        spacy_model : typing.Text = ...,
        attributes : typing.Optional[typing.Iterable[typing.Text]] = ...,
        embedding_levels : typing.Optional[typing.Iterable[global___EmbeddingLevel.V]] = ...,
        embedding_models : typing.Optional[typing.Iterable[global___EmbeddingModel]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"attributes",b"attributes",u"embedding_levels",b"embedding_levels",u"embedding_models",b"embedding_models",u"language",b"language",u"spacy_model",b"spacy_model",u"texts",b"texts"]) -> None: ...
global___DocBinRequest = DocBinRequest

class DocBinResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DOCBIN_FIELD_NUMBER: builtins.int
    docbin: builtins.bytes = ...

    def __init__(self,
        *,
        docbin : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"docbin",b"docbin"]) -> None: ...
global___DocBinResponse = DocBinResponse

class VectorRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    LANGUAGE_FIELD_NUMBER: builtins.int
    TEXTS_FIELD_NUMBER: builtins.int
    SPACY_MODEL_FIELD_NUMBER: builtins.int
    EMBEDDING_LEVELS_FIELD_NUMBER: builtins.int
    EMBEDDING_MODELS_FIELD_NUMBER: builtins.int
    language: arg_services.base.v1.base_pb2.Language.V = ...
    texts: google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text] = ...
    spacy_model: typing.Text = ...
    embedding_levels: google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___EmbeddingLevel.V] = ...

    @property
    def embedding_models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EmbeddingModel]: ...

    def __init__(self,
        *,
        language : arg_services.base.v1.base_pb2.Language.V = ...,
        texts : typing.Optional[typing.Iterable[typing.Text]] = ...,
        spacy_model : typing.Text = ...,
        embedding_levels : typing.Optional[typing.Iterable[global___EmbeddingLevel.V]] = ...,
        embedding_models : typing.Optional[typing.Iterable[global___EmbeddingModel]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"embedding_levels",b"embedding_levels",u"embedding_models",b"embedding_models",u"language",b"language",u"spacy_model",b"spacy_model",u"texts",b"texts"]) -> None: ...
global___VectorRequest = VectorRequest

class VectorResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DOCUMENT_FIELD_NUMBER: builtins.int
    TOKENS_FIELD_NUMBER: builtins.int
    SENTENCES_FIELD_NUMBER: builtins.int

    @property
    def document(self) -> global___Vector: ...

    @property
    def tokens(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Vector]: ...

    @property
    def sentences(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Vector]: ...

    def __init__(self,
        *,
        document : typing.Optional[global___Vector] = ...,
        tokens : typing.Optional[typing.Iterable[global___Vector]] = ...,
        sentences : typing.Optional[typing.Iterable[global___Vector]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"document",b"document"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"document",b"document",u"sentences",b"sentences",u"tokens",b"tokens"]) -> None: ...
global___VectorResponse = VectorResponse

class Vector(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VECTOR_FIELD_NUMBER: builtins.int
    vector: google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float] = ...

    def __init__(self,
        *,
        vector : typing.Optional[typing.Iterable[builtins.float]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"vector",b"vector"]) -> None: ...
global___Vector = Vector

class EmbeddingModel(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MODEL_TYPE_FIELD_NUMBER: builtins.int
    MODEL_NAME_FIELD_NUMBER: builtins.int
    POOLING_FIELD_NUMBER: builtins.int
    model_type: global___EmbeddingType.V = ...
    model_name: typing.Text = ...
    pooling: global___Pooling.V = ...

    def __init__(self,
        *,
        model_type : global___EmbeddingType.V = ...,
        model_name : typing.Text = ...,
        pooling : global___Pooling.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"model_name",b"model_name",u"model_type",b"model_type",u"pooling",b"pooling"]) -> None: ...
global___EmbeddingModel = EmbeddingModel
