import _m0 from "protobufjs/minimal.js";
import { BooleanArrayProperties, ConsistencyLevel, IntArrayProperties, NumberArrayProperties, ObjectArrayProperties, ObjectProperties, TextArrayProperties, Vectors } from "./base.js";
export declare const protobufPackage = "weaviate.v1";
export interface BatchObjectsRequest {
    objects: BatchObject[];
    consistencyLevel?: ConsistencyLevel | undefined;
}
export interface BatchReferencesRequest {
    references: BatchReference[];
    consistencyLevel?: ConsistencyLevel | undefined;
}
export interface BatchStreamRequest {
    start?: BatchStreamRequest_Start | undefined;
    data?: BatchStreamRequest_Data | undefined;
    stop?: BatchStreamRequest_Stop | undefined;
}
export interface BatchStreamRequest_Start {
    consistencyLevel?: ConsistencyLevel | undefined;
}
export interface BatchStreamRequest_Stop {
}
export interface BatchStreamRequest_Data {
    objects: BatchStreamRequest_Data_Objects | undefined;
    references: BatchStreamRequest_Data_References | undefined;
}
export interface BatchStreamRequest_Data_Objects {
    values: BatchObject[];
}
export interface BatchStreamRequest_Data_References {
    values: BatchReference[];
}
export interface BatchStreamReply {
    results?: BatchStreamReply_Results | undefined;
    shuttingDown?: BatchStreamReply_ShuttingDown | undefined;
    started?: BatchStreamReply_Started | undefined;
    backoff?: BatchStreamReply_Backoff | undefined;
    acks?: BatchStreamReply_Acks | undefined;
    outOfMemory?: BatchStreamReply_OutOfMemory | undefined;
}
export interface BatchStreamReply_Started {
}
export interface BatchStreamReply_ShuttingDown {
}
export interface BatchStreamReply_OutOfMemory {
    uuids: string[];
    beacons: string[];
    /**
     * How long to wait until ShuttingDown is sent, in seconds
     * If ShuttingDown is not set by this time, the client should exit the stream
     */
    waitTime: number;
}
export interface BatchStreamReply_Backoff {
    batchSize: number;
}
export interface BatchStreamReply_Acks {
    uuids: string[];
    beacons: string[];
}
export interface BatchStreamReply_Results {
    errors: BatchStreamReply_Results_Error[];
    successes: BatchStreamReply_Results_Success[];
}
export interface BatchStreamReply_Results_Error {
    error: string;
    uuid?: string | undefined;
    beacon?: string | undefined;
}
export interface BatchStreamReply_Results_Success {
    uuid?: string | undefined;
    beacon?: string | undefined;
}
export interface BatchObject {
    uuid: string;
    /**
     * protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
     *
     * @deprecated
     */
    vector: number[];
    properties: BatchObject_Properties | undefined;
    collection: string;
    tenant: string;
    vectorBytes: Uint8Array;
    /** protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED */
    vectors: Vectors[];
}
export interface BatchObject_Properties {
    nonRefProperties: {
        [key: string]: any;
    } | undefined;
    singleTargetRefProps: BatchObject_SingleTargetRefProps[];
    multiTargetRefProps: BatchObject_MultiTargetRefProps[];
    numberArrayProperties: NumberArrayProperties[];
    intArrayProperties: IntArrayProperties[];
    textArrayProperties: TextArrayProperties[];
    booleanArrayProperties: BooleanArrayProperties[];
    objectProperties: ObjectProperties[];
    objectArrayProperties: ObjectArrayProperties[];
    /**
     * empty lists do not have a type in many languages and clients do not know which datatype the property has.
     * Weaviate can get the datatype from its schema
     */
    emptyListProps: string[];
}
export interface BatchObject_SingleTargetRefProps {
    uuids: string[];
    propName: string;
}
export interface BatchObject_MultiTargetRefProps {
    uuids: string[];
    propName: string;
    targetCollection: string;
}
export interface BatchReference {
    name: string;
    fromCollection: string;
    fromUuid: string;
    toCollection?: string | undefined;
    toUuid: string;
    tenant: string;
}
export interface BatchObjectsReply {
    took: number;
    errors: BatchObjectsReply_BatchError[];
}
export interface BatchObjectsReply_BatchError {
    index: number;
    error: string;
}
export interface BatchReferencesReply {
    took: number;
    errors: BatchReferencesReply_BatchError[];
}
export interface BatchReferencesReply_BatchError {
    index: number;
    error: string;
}
export declare const BatchObjectsRequest: {
    encode(message: BatchObjectsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObjectsRequest;
    fromJSON(object: any): BatchObjectsRequest;
    toJSON(message: BatchObjectsRequest): unknown;
    create(base?: DeepPartial<BatchObjectsRequest>): BatchObjectsRequest;
    fromPartial(object: DeepPartial<BatchObjectsRequest>): BatchObjectsRequest;
};
export declare const BatchReferencesRequest: {
    encode(message: BatchReferencesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchReferencesRequest;
    fromJSON(object: any): BatchReferencesRequest;
    toJSON(message: BatchReferencesRequest): unknown;
    create(base?: DeepPartial<BatchReferencesRequest>): BatchReferencesRequest;
    fromPartial(object: DeepPartial<BatchReferencesRequest>): BatchReferencesRequest;
};
export declare const BatchStreamRequest: {
    encode(message: BatchStreamRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest;
    fromJSON(object: any): BatchStreamRequest;
    toJSON(message: BatchStreamRequest): unknown;
    create(base?: DeepPartial<BatchStreamRequest>): BatchStreamRequest;
    fromPartial(object: DeepPartial<BatchStreamRequest>): BatchStreamRequest;
};
export declare const BatchStreamRequest_Start: {
    encode(message: BatchStreamRequest_Start, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest_Start;
    fromJSON(object: any): BatchStreamRequest_Start;
    toJSON(message: BatchStreamRequest_Start): unknown;
    create(base?: DeepPartial<BatchStreamRequest_Start>): BatchStreamRequest_Start;
    fromPartial(object: DeepPartial<BatchStreamRequest_Start>): BatchStreamRequest_Start;
};
export declare const BatchStreamRequest_Stop: {
    encode(_: BatchStreamRequest_Stop, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest_Stop;
    fromJSON(_: any): BatchStreamRequest_Stop;
    toJSON(_: BatchStreamRequest_Stop): unknown;
    create(base?: DeepPartial<BatchStreamRequest_Stop>): BatchStreamRequest_Stop;
    fromPartial(_: DeepPartial<BatchStreamRequest_Stop>): BatchStreamRequest_Stop;
};
export declare const BatchStreamRequest_Data: {
    encode(message: BatchStreamRequest_Data, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest_Data;
    fromJSON(object: any): BatchStreamRequest_Data;
    toJSON(message: BatchStreamRequest_Data): unknown;
    create(base?: DeepPartial<BatchStreamRequest_Data>): BatchStreamRequest_Data;
    fromPartial(object: DeepPartial<BatchStreamRequest_Data>): BatchStreamRequest_Data;
};
export declare const BatchStreamRequest_Data_Objects: {
    encode(message: BatchStreamRequest_Data_Objects, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest_Data_Objects;
    fromJSON(object: any): BatchStreamRequest_Data_Objects;
    toJSON(message: BatchStreamRequest_Data_Objects): unknown;
    create(base?: DeepPartial<BatchStreamRequest_Data_Objects>): BatchStreamRequest_Data_Objects;
    fromPartial(object: DeepPartial<BatchStreamRequest_Data_Objects>): BatchStreamRequest_Data_Objects;
};
export declare const BatchStreamRequest_Data_References: {
    encode(message: BatchStreamRequest_Data_References, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamRequest_Data_References;
    fromJSON(object: any): BatchStreamRequest_Data_References;
    toJSON(message: BatchStreamRequest_Data_References): unknown;
    create(base?: DeepPartial<BatchStreamRequest_Data_References>): BatchStreamRequest_Data_References;
    fromPartial(object: DeepPartial<BatchStreamRequest_Data_References>): BatchStreamRequest_Data_References;
};
export declare const BatchStreamReply: {
    encode(message: BatchStreamReply, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply;
    fromJSON(object: any): BatchStreamReply;
    toJSON(message: BatchStreamReply): unknown;
    create(base?: DeepPartial<BatchStreamReply>): BatchStreamReply;
    fromPartial(object: DeepPartial<BatchStreamReply>): BatchStreamReply;
};
export declare const BatchStreamReply_Started: {
    encode(_: BatchStreamReply_Started, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Started;
    fromJSON(_: any): BatchStreamReply_Started;
    toJSON(_: BatchStreamReply_Started): unknown;
    create(base?: DeepPartial<BatchStreamReply_Started>): BatchStreamReply_Started;
    fromPartial(_: DeepPartial<BatchStreamReply_Started>): BatchStreamReply_Started;
};
export declare const BatchStreamReply_ShuttingDown: {
    encode(_: BatchStreamReply_ShuttingDown, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_ShuttingDown;
    fromJSON(_: any): BatchStreamReply_ShuttingDown;
    toJSON(_: BatchStreamReply_ShuttingDown): unknown;
    create(base?: DeepPartial<BatchStreamReply_ShuttingDown>): BatchStreamReply_ShuttingDown;
    fromPartial(_: DeepPartial<BatchStreamReply_ShuttingDown>): BatchStreamReply_ShuttingDown;
};
export declare const BatchStreamReply_OutOfMemory: {
    encode(message: BatchStreamReply_OutOfMemory, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_OutOfMemory;
    fromJSON(object: any): BatchStreamReply_OutOfMemory;
    toJSON(message: BatchStreamReply_OutOfMemory): unknown;
    create(base?: DeepPartial<BatchStreamReply_OutOfMemory>): BatchStreamReply_OutOfMemory;
    fromPartial(object: DeepPartial<BatchStreamReply_OutOfMemory>): BatchStreamReply_OutOfMemory;
};
export declare const BatchStreamReply_Backoff: {
    encode(message: BatchStreamReply_Backoff, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Backoff;
    fromJSON(object: any): BatchStreamReply_Backoff;
    toJSON(message: BatchStreamReply_Backoff): unknown;
    create(base?: DeepPartial<BatchStreamReply_Backoff>): BatchStreamReply_Backoff;
    fromPartial(object: DeepPartial<BatchStreamReply_Backoff>): BatchStreamReply_Backoff;
};
export declare const BatchStreamReply_Acks: {
    encode(message: BatchStreamReply_Acks, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Acks;
    fromJSON(object: any): BatchStreamReply_Acks;
    toJSON(message: BatchStreamReply_Acks): unknown;
    create(base?: DeepPartial<BatchStreamReply_Acks>): BatchStreamReply_Acks;
    fromPartial(object: DeepPartial<BatchStreamReply_Acks>): BatchStreamReply_Acks;
};
export declare const BatchStreamReply_Results: {
    encode(message: BatchStreamReply_Results, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Results;
    fromJSON(object: any): BatchStreamReply_Results;
    toJSON(message: BatchStreamReply_Results): unknown;
    create(base?: DeepPartial<BatchStreamReply_Results>): BatchStreamReply_Results;
    fromPartial(object: DeepPartial<BatchStreamReply_Results>): BatchStreamReply_Results;
};
export declare const BatchStreamReply_Results_Error: {
    encode(message: BatchStreamReply_Results_Error, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Results_Error;
    fromJSON(object: any): BatchStreamReply_Results_Error;
    toJSON(message: BatchStreamReply_Results_Error): unknown;
    create(base?: DeepPartial<BatchStreamReply_Results_Error>): BatchStreamReply_Results_Error;
    fromPartial(object: DeepPartial<BatchStreamReply_Results_Error>): BatchStreamReply_Results_Error;
};
export declare const BatchStreamReply_Results_Success: {
    encode(message: BatchStreamReply_Results_Success, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchStreamReply_Results_Success;
    fromJSON(object: any): BatchStreamReply_Results_Success;
    toJSON(message: BatchStreamReply_Results_Success): unknown;
    create(base?: DeepPartial<BatchStreamReply_Results_Success>): BatchStreamReply_Results_Success;
    fromPartial(object: DeepPartial<BatchStreamReply_Results_Success>): BatchStreamReply_Results_Success;
};
export declare const BatchObject: {
    encode(message: BatchObject, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObject;
    fromJSON(object: any): BatchObject;
    toJSON(message: BatchObject): unknown;
    create(base?: DeepPartial<BatchObject>): BatchObject;
    fromPartial(object: DeepPartial<BatchObject>): BatchObject;
};
export declare const BatchObject_Properties: {
    encode(message: BatchObject_Properties, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObject_Properties;
    fromJSON(object: any): BatchObject_Properties;
    toJSON(message: BatchObject_Properties): unknown;
    create(base?: DeepPartial<BatchObject_Properties>): BatchObject_Properties;
    fromPartial(object: DeepPartial<BatchObject_Properties>): BatchObject_Properties;
};
export declare const BatchObject_SingleTargetRefProps: {
    encode(message: BatchObject_SingleTargetRefProps, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObject_SingleTargetRefProps;
    fromJSON(object: any): BatchObject_SingleTargetRefProps;
    toJSON(message: BatchObject_SingleTargetRefProps): unknown;
    create(base?: DeepPartial<BatchObject_SingleTargetRefProps>): BatchObject_SingleTargetRefProps;
    fromPartial(object: DeepPartial<BatchObject_SingleTargetRefProps>): BatchObject_SingleTargetRefProps;
};
export declare const BatchObject_MultiTargetRefProps: {
    encode(message: BatchObject_MultiTargetRefProps, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObject_MultiTargetRefProps;
    fromJSON(object: any): BatchObject_MultiTargetRefProps;
    toJSON(message: BatchObject_MultiTargetRefProps): unknown;
    create(base?: DeepPartial<BatchObject_MultiTargetRefProps>): BatchObject_MultiTargetRefProps;
    fromPartial(object: DeepPartial<BatchObject_MultiTargetRefProps>): BatchObject_MultiTargetRefProps;
};
export declare const BatchReference: {
    encode(message: BatchReference, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchReference;
    fromJSON(object: any): BatchReference;
    toJSON(message: BatchReference): unknown;
    create(base?: DeepPartial<BatchReference>): BatchReference;
    fromPartial(object: DeepPartial<BatchReference>): BatchReference;
};
export declare const BatchObjectsReply: {
    encode(message: BatchObjectsReply, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObjectsReply;
    fromJSON(object: any): BatchObjectsReply;
    toJSON(message: BatchObjectsReply): unknown;
    create(base?: DeepPartial<BatchObjectsReply>): BatchObjectsReply;
    fromPartial(object: DeepPartial<BatchObjectsReply>): BatchObjectsReply;
};
export declare const BatchObjectsReply_BatchError: {
    encode(message: BatchObjectsReply_BatchError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchObjectsReply_BatchError;
    fromJSON(object: any): BatchObjectsReply_BatchError;
    toJSON(message: BatchObjectsReply_BatchError): unknown;
    create(base?: DeepPartial<BatchObjectsReply_BatchError>): BatchObjectsReply_BatchError;
    fromPartial(object: DeepPartial<BatchObjectsReply_BatchError>): BatchObjectsReply_BatchError;
};
export declare const BatchReferencesReply: {
    encode(message: BatchReferencesReply, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchReferencesReply;
    fromJSON(object: any): BatchReferencesReply;
    toJSON(message: BatchReferencesReply): unknown;
    create(base?: DeepPartial<BatchReferencesReply>): BatchReferencesReply;
    fromPartial(object: DeepPartial<BatchReferencesReply>): BatchReferencesReply;
};
export declare const BatchReferencesReply_BatchError: {
    encode(message: BatchReferencesReply_BatchError, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchReferencesReply_BatchError;
    fromJSON(object: any): BatchReferencesReply_BatchError;
    toJSON(message: BatchReferencesReply_BatchError): unknown;
    create(base?: DeepPartial<BatchReferencesReply_BatchError>): BatchReferencesReply_BatchError;
    fromPartial(object: DeepPartial<BatchReferencesReply_BatchError>): BatchReferencesReply_BatchError;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
export {};
