import { WhereFilter } from '../../openapi/types.js'; import { BM25, Hybrid, NearAudioSearch, NearDepthSearch, NearIMUSearch, NearImageSearch, NearObject, NearTextSearch, NearThermalSearch, NearVector, NearVideoSearch, Targets, VectorForTarget } from '../../proto/v1/base_search.js'; import { BatchObject as BatchObjectGRPC, BatchReference as BatchReferenceGRPC } from '../../proto/v1/batch.js'; import { GenerativeSearch } from '../../proto/v1/generative.js'; import { GroupBy } from '../../proto/v1/search_get.js'; import { AggregateFetchArgs, AggregateHybridArgs, AggregateNearImageArgs, AggregateNearObjectArgs, AggregateNearTextArgs, AggregateNearVectorArgs } from '../../grpc/aggregator.js'; import { SearchBm25Args, SearchFetchArgs, SearchHybridArgs, SearchNearAudioArgs, SearchNearDepthArgs, SearchNearIMUArgs, SearchNearImageArgs, SearchNearObjectArgs, SearchNearTextArgs, SearchNearThermalArgs, SearchNearVectorArgs, SearchNearVideoArgs } from '../../grpc/searcher.js'; import { AggregateRequest_GroupBy } from '../../proto/v1/aggregate.js'; import { Filters as FiltersGRPC, Vectors } from '../../proto/v1/base.js'; import { FilterValue } from '../filters/index.js'; import { AggregateBaseOptions, AggregateHybridOptions, AggregateNearOptions, BatchReference, GenerativeConfigRuntime, GroupByAggregate, GroupedTask, PropertiesMetrics, SinglePrompt } from '../index.js'; import { BaseHybridOptions, BaseNearOptions, Bm25Options, Bm25SearchOptions, FetchObjectByIdOptions, FetchObjectsOptions, HybridNearTextSubSearch, HybridNearVectorSubSearch, HybridOptions, HybridSearchOptions, ListOfVectors, MultiVectorType, NearOptions, NearTextOptions, NearVectorInputType, PrimitiveVectorType, SingleVectorType, TargetVectorInputType } from '../query/types.js'; import { TenantBC, TenantCreate, TenantUpdate } from '../tenants/types.js'; import { BatchObjects, DataObject, GenerateOptions, GeoCoordinate, GroupByOptions, MetadataKeys, NestedProperties, NonReferenceInputs, PhoneNumberInput, QueryMetadata, ReferenceInput, WeaviateField } from '../types/index.js'; export declare class DataGuards { static isText: (argument?: WeaviateField) => argument is string; static isTextArray: (argument?: WeaviateField) => argument is string[]; static isInt: (argument?: WeaviateField) => argument is number; static isIntArray: (argument?: WeaviateField) => argument is number[]; static isFloat: (argument?: WeaviateField) => argument is number; static isFloatArray: (argument?: WeaviateField) => argument is number[]; static isBoolean: (argument?: WeaviateField) => argument is boolean; static isBooleanArray: (argument?: WeaviateField) => argument is boolean[]; static isDate: (argument?: WeaviateField) => argument is Date; static isDateArray: (argument?: WeaviateField) => argument is Date[]; static isGeoCoordinate: (argument?: WeaviateField) => argument is GeoCoordinate; static isPhoneNumber: (argument?: WeaviateField) => argument is PhoneNumberInput; static isNested: (argument?: WeaviateField) => argument is NestedProperties; static isNestedArray: (argument?: WeaviateField) => argument is NestedProperties[]; static isEmptyArray: (argument?: WeaviateField) => argument is []; static isDataObject: (obj: DataObject | NonReferenceInputs) => obj is DataObject; } export declare class MetadataGuards { static isKeys: (argument?: QueryMetadata) => argument is MetadataKeys; static isAll: (argument?: QueryMetadata) => boolean; static isAllAndQueryProfile: (argument?: QueryMetadata) => boolean; static isUndefined: (argument?: QueryMetadata) => argument is undefined; } declare class Aggregate { private static aggregations; private static common; static groupBy: (groupBy?: GroupByAggregate) => AggregateRequest_GroupBy; static hybrid: (query: string, opts?: AggregateHybridOptions, V>) => Promise; static nearImage: (image: string, opts?: AggregateNearOptions, V>) => AggregateNearImageArgs; static nearObject: (id: string, opts?: AggregateNearOptions, V>) => AggregateNearObjectArgs; static nearText: (query: string | string[], opts?: AggregateNearOptions, V>) => AggregateNearTextArgs; static nearVector: (vector: NearVectorInputType, opts?: AggregateNearOptions, V>) => Promise; static overAll: (opts?: AggregateBaseOptions>) => AggregateFetchArgs; } declare class Search { private static queryProperties; private static metadata; private static sortBy; private static rerank; static groupBy: (groupBy?: GroupByOptions) => GroupBy; static isGroupBy: (args: any) => args is T; private static common; static bm25: (query: string, opts?: Bm25Options) => SearchBm25Args; static fetchObjects: (args?: FetchObjectsOptions) => SearchFetchArgs; static fetchObjectById: (args: { id: string; } & FetchObjectByIdOptions) => SearchFetchArgs; static hybrid: (args: { query: string; supportsVectors: boolean; }, opts?: HybridOptions) => Promise; static nearAudio: (args: { audio: string; }, opts?: NearOptions) => SearchNearAudioArgs; static nearDepth: (args: { depth: string; }, opts?: NearOptions) => SearchNearDepthArgs; static nearImage: (args: { image: string; }, opts?: NearOptions) => SearchNearImageArgs; static nearIMU: (args: { imu: string; }, opts?: NearOptions) => SearchNearIMUArgs; static nearObject: (args: { id: string; }, opts?: NearOptions) => SearchNearObjectArgs; static nearText: (args: { query: string | string[]; }, opts?: NearTextOptions) => SearchNearTextArgs; static nearThermal: (args: { thermal: string; }, opts?: NearOptions) => SearchNearThermalArgs; static nearVector: (args: { vector: NearVectorInputType; supportsVectors: boolean; }, opts?: NearOptions) => Promise; static nearVideo: (args: { video: string; }, opts?: NearOptions) => SearchNearVideoArgs; } export declare class Serialize { static aggregate: typeof Aggregate; static search: typeof Search; static isNamedVectors: (opts?: BaseNearOptions) => boolean; static isMultiTarget: (opts?: BaseNearOptions) => boolean; static isMultiWeightPerTarget: (opts?: BaseNearOptions) => boolean; static isMultiVector: (vec?: NearVectorInputType) => boolean; static isMultiVectorPerTarget: (vec?: NearVectorInputType) => boolean; private static withImages; private static generativeQuery; static generative: (args: { supportsSingleGrouped: boolean; }, opts?: GenerateOptions) => Promise; static isSinglePrompt(arg?: string | SinglePrompt): arg is SinglePrompt; static isGroupedTask(arg?: string | GroupedTask): arg is GroupedTask; private static bm25QueryProperties; private static bm25SearchOperator; static bm25Search: (args: { query: string; } & Bm25SearchOptions) => BM25; static isHybridVectorSearch: (vector: BaseHybridOptions["vector"]) => vector is PrimitiveVectorType | Record | ListOfVectors>; static isHybridNearTextSearch: (vector: BaseHybridOptions["vector"]) => vector is HybridNearTextSubSearch; static isHybridNearVectorSearch: (vector: BaseHybridOptions["vector"]) => vector is HybridNearVectorSubSearch; private static hybridVector; static hybridSearch: (args: { query: string; supportsVectors: boolean; } & HybridSearchOptions) => Promise; static nearAudioSearch: (args: { audio: string; } & NearOptions) => NearAudioSearch; static nearDepthSearch: (args: { depth: string; } & NearOptions) => NearDepthSearch; static nearImageSearch: (args: { image: string; } & NearOptions) => NearImageSearch; static nearIMUSearch: (args: { imu: string; } & NearOptions) => NearIMUSearch; static nearObjectSearch: (args: { id: string; } & NearOptions) => NearObject; static nearTextSearch: (args: { query: string | string[]; targetVector?: TargetVectorInputType; certainty?: number; distance?: number; moveAway?: { concepts?: string[]; force?: number; objects?: string[]; }; moveTo?: { concepts?: string[]; force?: number; objects?: string[]; }; }) => NearTextSearch; static nearThermalSearch: (args: { thermal: string; } & NearOptions) => NearThermalSearch; private static vectorToBuffer; private static vectorToBytes; /** * Convert a 2D array of numbers to a Uint8Array * * Defined as an async method so that control can be relinquished back to the event loop on each outer loop for large vectors */ private static vectorsToBytes; static nearVectorSearch: (args: { vector: NearVectorInputType; supportsVectors: boolean; certainty?: number; distance?: number; targetVector?: TargetVectorInputType; }) => Promise; static targetVector: (args?: { targetVector?: TargetVectorInputType; }) => { targets?: Targets; targetVectors?: string[]; }; static vectors: (args: { supportsVectors: boolean; argumentName: "nearVector" | "vector"; targetVector?: TargetVectorInputType; vector?: NearVectorInputType; }) => Promise<{ targetVectors?: string[]; targets?: Targets; vectorBytes?: Uint8Array; vectors?: Vectors[]; vectorPerTarget?: Record; vectorForTargets?: VectorForTarget[]; }>; private static targets; static nearVideoSearch: (args: { video: string; } & NearOptions) => NearVideoSearch; static filtersGRPC: (filters: FilterValue) => FiltersGRPC; private static filtersGRPCValueText; private static filtersGRPCValueTextArray; private static filterTargetToREST; static filtersREST: (filters: FilterValue) => WhereFilter; private static operator; static restProperties: (properties: Record, references?: Record | undefined>) => Record; private static batchProperties; static batchObject: (collection: string, object: DataObject | NonReferenceInputs, requiresInsertFix: boolean, tenant?: string) => { grpc: BatchObjectGRPC; object: { id: string; collection: string; tenant: string | undefined; properties?: NonReferenceInputs | undefined; references?: import("../index.js").ReferenceInputs | undefined; vectors?: number[] | import("../index.js").Vectors; }; }; static batchObjects: (collection: string, objects: (DataObject | NonReferenceInputs)[], requiresInsertFix: boolean, tenant?: string) => Promise>; static batchReference: (ref: BatchReference) => { grpc: BatchReferenceGRPC; beacon: string; }; static tenants(tenants: T[], mapper: (tenant: T) => M): M[][]; static tenantCreate(tenant: T): { name: string; activityStatus?: 'HOT' | 'COLD'; }; static tenantUpdate(tenant: T): { name: string; activityStatus: 'HOT' | 'COLD' | 'FROZEN'; }; } export {};