import { FilterValue } from '../filters/index.js'; import { CallOptions, MultiTargetVectorJoin, ReturnVectors } from '../index.js'; import { Sorting } from '../sort/classes.js'; import { GroupByOptions, GroupByReturn, QueryMetadata, QueryProperty, QueryReference, RerankOptions, WeaviateObject, WeaviateReturn } from '../types/index.js'; import { IncludeVector, PrimitiveKeys } from '../types/internal.js'; /** Options available in the `query.fetchObjectById` method */ export type FetchObjectByIdOptions = { /** Whether to include the vector of the object in the response. If using named vectors, pass an array of strings to include only specific vectors. */ includeVector?: I; /** * Which properties of the object to return. Can be primitive, in which case specify their names, or nested, in which case * use the QueryNested type. If not specified, all properties are returned. */ returnProperties?: QueryProperty[]; /** Which references of the object to return. If not specified, no references are returned. */ returnReferences?: QueryReference[]; }; /** Options available in the `query.fetchObjects` method */ export type FetchObjectsOptions = { /** How many objects to return in the query */ limit?: number; /** How many objects to skip in the query. Incompatible with the `after` cursor */ offset?: number; /** The cursor to start the query from. Incompatible with the `offset` param */ after?: string; /** The filters to be applied to the query. Use `weaviate.filter.*` to create filters */ filters?: FilterValue; /** The sorting to be applied to the query. Use `weaviate.sort.*` to create sorting */ sort?: Sorting; /** Whether to include the vector of the object in the response. If using named vectors, pass an array of strings to include only specific vectors. */ includeVector?: I; /** Which metadata of the object to return. If not specified, no metadata is returned. */ returnMetadata?: QueryMetadata; /** * Which properties of the object to return. Can be primitive, in which case specify their names, or nested, in which case * use the QueryNested type. If not specified, all properties are returned. */ returnProperties?: QueryProperty[]; /** Which references of the object to return. If not specified, no references are returned. */ returnReferences?: QueryReference[]; }; /** Base options available to all the query methods that involve searching. */ export type SearchOptions = { /** How many objects to return in the query */ limit?: number; /** How many objects to skip in the query. Incompatible with the `after` cursor */ offset?: number; /** The [autocut](https://weaviate.io/developers/weaviate/api/graphql/additional-operators#autocut) parameter */ autoLimit?: number; /** The filters to be applied to the query. Use `weaviate.filter.*` to create filters */ filters?: FilterValue; /** How to rerank the query results. Requires a configured [reranking](https://weaviate.io/developers/weaviate/concepts/reranking) module. */ rerank?: RerankOptions; /** Whether to include the vector of the object in the response. If using named vectors, pass an array of strings to include only specific vectors. */ includeVector?: I; /** Which metadata of the object to return. If not specified, no metadata is returned. */ returnMetadata?: QueryMetadata; /** * Which properties of the object to return. Can be primitive, in which case specify their names, or nested, in which case * use the QueryNested type. If not specified, all properties are returned. */ returnProperties?: QueryProperty[]; /** Which references of the object to return. If not specified, no references are returned. */ returnReferences?: QueryReference[]; }; /** Which property of the collection to perform the keyword search on. */ export type Bm25QueryProperty = { /** The property name to search on. */ name: PrimitiveKeys; /** The weight to provide to the keyword search for this property. */ weight: number; }; export type Bm25OperatorOr = { operator: 'Or'; minimumMatch: number; }; export type Bm25OperatorAnd = { operator: 'And'; }; export type Bm25OperatorOptions = Bm25OperatorOr | Bm25OperatorAnd; export type Bm25SearchOptions = { /** Which properties of the collection to perform the keyword search on. */ queryProperties?: (PrimitiveKeys | Bm25QueryProperty)[]; operator?: Bm25OperatorOptions; }; /** Base options available in the `query.bm25` method */ export type BaseBm25Options = SearchOptions & Bm25SearchOptions; /** Options available in the `query.bm25` method when specifying the `groupBy` parameter. */ export type GroupByBm25Options = BaseBm25Options & { /** The group by options to apply to the search. */ groupBy: GroupByOptions; }; /** Options available in the `query.bm25` method */ export type Bm25Options = BaseBm25Options | GroupByBm25Options | undefined; /** Options available to the hybrid search type only */ export type HybridSearchOptions = { /** The weight of the vector score. If not specified, the default weight specified by the server is used. */ alpha?: number; /** The type of fusion to apply. If not specified, the default fusion type specified by the server is used. */ fusionType?: 'Ranked' | 'RelativeScore'; /** The maximum tolerated similarity in the vector search before the results are cutoff from the result set. */ maxVectorDistance?: number; /** The properties to search in. If not specified, all properties are searched. */ queryProperties?: (PrimitiveKeys | Bm25QueryProperty)[]; /** Specify which vector(s) to search on if using named vectors. */ targetVector?: TargetVectorInputType; /** The specific vector to search for or a specific vector subsearch. If not specified, the query is vectorized and used in the similarity search. */ vector?: NearVectorInputType | HybridNearTextSubSearch | HybridNearVectorSubSearch; bm25Operator?: Bm25OperatorOptions; }; /** Base options available in the `query.hybrid` method */ export type BaseHybridOptions = SearchOptions & HybridSearchOptions; export type HybridSubSearchBase = { certainty?: number; distance?: number; }; export type HybridNearTextSubSearch = HybridSubSearchBase & { query: string | string[]; moveTo?: MoveOptions; moveAway?: MoveOptions; }; export type HybridNearVectorSubSearch = HybridSubSearchBase & { vector: NearVectorInputType; }; /** Options available in the `query.hybrid` method when specifying the `groupBy` parameter. */ export type GroupByHybridOptions = BaseHybridOptions & { /** The group by options to apply to the search. */ groupBy: GroupByOptions; }; /** Options available in the `query.hybrid` method */ export type HybridOptions = BaseHybridOptions | GroupByHybridOptions | undefined; export type NearSearchOptions = { /** The minimum similarity score to return. Incompatible with the `distance` param. */ certainty?: number; /** The maximum distance to search. Incompatible with the `certainty` param. */ distance?: number; /** Specify which vector to search on if using named vectors. */ targetVector?: TargetVectorInputType; }; /** Base options for the near search queries. */ export type BaseNearOptions = SearchOptions & NearSearchOptions; /** Options available in the near search queries when specifying the `groupBy` parameter. */ export type GroupByNearOptions = BaseNearOptions & { /** The group by options to apply to the search. */ groupBy: GroupByOptions; }; /** Options available when specifying `moveTo` and `moveAway` in the `query.nearText` method. */ export type MoveOptions = { force: number; objects?: string[]; concepts?: string[]; }; /** Base options for the `query.nearText` method. */ export type BaseNearTextOptions = BaseNearOptions & { moveTo?: MoveOptions; moveAway?: MoveOptions; }; /** Options available in the near text search queries when specifying the `groupBy` parameter. */ export type GroupByNearTextOptions = BaseNearTextOptions & { groupBy: GroupByOptions; }; /** The type of the media to search for in the `query.nearMedia` method */ export type NearMediaType = 'audio' | 'depth' | 'image' | 'imu' | 'thermal' | 'video'; export type SingleVectorType = number[]; export type MultiVectorType = number[][]; /** The allowed types of primitive vectors as stored in Weaviate. * * These correspond to 1-dimensional vectors, created by modules named `x2vec-`, and 2-dimensional vectors, created by modules named `x2colbert-`. */ export type PrimitiveVectorType = SingleVectorType | MultiVectorType; export type ListOfVectors = { kind: 'listOfVectors'; dimensionality: '1D' | '2D'; vectors: V[]; }; /** * The vector(s) to search for in the `query/generate.nearVector` and `query/generate.hybrid` methods. One of: * - a single 1-dimensional vector, in which case pass a single number array. * - a single 2-dimensional vector, in which case pas a single array of number arrays. * - multiple named vectors, in which case pass an object of type `Record`. */ export type NearVectorInputType = PrimitiveVectorType | Record | ListOfVectors>; /** * Over which vector spaces to perform the vector search query in the `nearX` search method. One of: * - a single vector space search, in which case pass a string with the name of the vector space to search in. * - a multi-vector space search, in which case pass an array of strings with the names of the vector spaces to search in. * - a weighted multi-vector space search, in which case pass an object of type `MultiTargetVectorJoin` detailing the vector spaces to search in. */ export type TargetVectorInputType = TargetVector | TargetVector[] | MultiTargetVectorJoin; export type TargetVector = V extends undefined ? string : keyof V & string; interface Bm25 { /** * Search for objects in this collection using the keyword-based BM25 algorithm. * * See the [docs](https://weaviate.io/developers/weaviate/search/bm25) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @typeParam I - The vector(s) to include in the response. If using named vectors, pass an array of strings to include only specific vectors. * @typeParam RV - The vectors(s) to be returned in the response depending on the input in opts.includeVector. * @param {string} query - The query to search for. * @param {BaseBm25Options} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>>} - The result of the search within the fetched collection. */ bm25, RV extends ReturnVectors>(query: string, opts?: BaseBm25Options, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection using the keyword-based BM25 algorithm. * * See the [docs](https://weaviate.io/developers/weaviate/search/bm25) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @typeParam I - The vector(s) to include in the response. If using named vectors, pass an array of strings to include only specific vectors. * @typeParam RV - The vectors(s) to be returned in the response depending on the input in opts.includeVector. * @param {string} query - The query to search for. * @param {GroupByBm25Options} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ bm25, RV extends ReturnVectors>(query: string, opts: GroupByBm25Options, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection using the keyword-based BM25 algorithm. * * See the [docs](https://weaviate.io/developers/weaviate/search/bm25) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @typeParam I - The vector(s) to include in the response. If using named vectors, pass an array of strings to include only specific vectors. * @typeParam RV - The vectors(s) to be returned in the response depending on the input in opts.includeVector. * @param {string} query - The query to search for. * @param {Bm25Options} [opts] - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ bm25, RV extends ReturnVectors>(query: string, opts?: Bm25Options, callOpts?: CallOptions): QueryReturn; } interface Hybrid { /** * Search for objects in this collection using the hybrid algorithm blending keyword-based BM25 and vector-based similarity. * * See the [docs](https://weaviate.io/developers/weaviate/search/hybrid) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @typeParam I - The vector(s) to include in the response. If using named vectors, pass an array of strings to include only specific vectors. * @typeParam RV - The vectors(s) to be returned in the response depending on the input in opts.includeVector. * @param {string} query - The query to search for in the BM25 keyword search.. * @param {BaseHybridOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ hybrid, RV extends ReturnVectors>(query: string, opts?: BaseHybridOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection using the hybrid algorithm blending keyword-based BM25 and vector-based similarity. * * See the [docs](https://weaviate.io/developers/weaviate/search/hybrid) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @typeParam I - The vector(s) to include in the response. If using named vectors, pass an array of strings to include only specific vectors. * @typeParam RV - The vectors(s) to be returned in the response depending on the input in opts.includeVector. * @param {string} query - The query to search for in the BM25 keyword search.. * @param {GroupByHybridOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ hybrid, RV extends ReturnVectors>(query: string, opts: GroupByHybridOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection using the hybrid algorithm blending keyword-based BM25 and vector-based similarity. * * See the [docs](https://weaviate.io/developers/weaviate/search/hybrid) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {string} query - The query to search for in the BM25 keyword search.. * @param {HybridOptions} [opts] - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ hybrid, RV extends ReturnVectors>(query: string, opts?: HybridOptions, callOpts?: CallOptions): QueryReturn; } interface NearImage { /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have an image-capable vectorization module installed in order to use this method, * e.g. `img2vec-neural`, `multi2vec-clip`, or `multi2vec-bind. * * See the [docs](https://weaviate.io/developers/weaviate/search/image) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @param {string | Buffer} image - The image to search on. This can be a base64 string, a file path string, or a buffer. * @param {BaseNearOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ nearImage, RV extends ReturnVectors>(image: string | Buffer, opts?: BaseNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have an image-capable vectorization module installed in order to use this method, * e.g. `img2vec-neural`, `multi2vec-clip`, or `multi2vec-bind. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @param {string | Buffer} image - The image to search on. This can be a base64 string, a file path string, or a buffer. * @param {GroupByNearOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The group by result of the search within the fetched collection. */ nearImage, RV extends ReturnVectors>(image: string | Buffer, opts: GroupByNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have an image-capable vectorization module installed in order to use this method, * e.g. `img2vec-neural`, `multi2vec-clip`, or `multi2vec-bind. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {string | Buffer} image - The image to search on. This can be a base64 string, a file path string, or a buffer. * @param {NearOptions} [opts] - The available options for the search. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {QueryReturn} - The result of the search within the fetched collection. */ nearImage, RV extends ReturnVectors>(image: string | Buffer, opts?: NearOptions, callOpts?: CallOptions): QueryReturn; } interface NearMedia { /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have a multi-media-capable vectorization module installed in order to use this method, e.g. `multi2vec-bind` or `multi2vec-palm`. * * See the [docs](https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/multi2vec-bind) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @param {string | Buffer} media - The media to search on. This can be a base64 string, a file path string, or a buffer. * @param {NearMediaType} type - The type of media to search for, e.g. 'audio'. * @param {BaseNearOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ nearMedia, RV extends ReturnVectors>(media: string | Buffer, type: NearMediaType, opts?: BaseNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have a multi-media-capable vectorization module installed in order to use this method, e.g. `multi2vec-bind` or `multi2vec-palm`. * * See the [docs](https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/multi2vec-bind) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @param {string | Buffer} media - The media to search on. This can be a base64 string, a file path string, or a buffer. * @param {NearMediaType} type - The type of media to search for, e.g. 'audio'. * @param {GroupByNearOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The group by result of the search within the fetched collection. */ nearMedia, RV extends ReturnVectors>(media: string | Buffer, type: NearMediaType, opts: GroupByNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by image in this collection using an image-capable vectorization module and vector-based similarity search. * You must have a multi-media-capable vectorization module installed in order to use this method, e.g. `multi2vec-bind` or `multi2vec-palm`. * * See the [docs](https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/multi2vec-bind) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {string | Buffer} media - The media to search on. This can be a base64 string, a file path string, or a buffer. * @param {NearMediaType} type - The type of media to search for, e.g. 'audio'. * @param {NearOptions} [opts] - The available options for the search. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {QueryReturn} - The result of the search within the fetched collection. */ nearMedia, RV extends ReturnVectors>(media: string | Buffer, type: NearMediaType, opts?: NearOptions, callOpts?: CallOptions): QueryReturn; } interface NearObject { /** * Search for objects in this collection by another object using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/api/graphql/search-operators#nearobject) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @param {string} id - The UUID of the object to search for. * @param {BaseNearOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ nearObject, RV extends ReturnVectors>(id: string, opts?: BaseNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection by another object using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/api/graphql/search-operators#nearobject) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @param {string} id - The UUID of the object to search for. * @param {GroupByNearOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The group by result of the search within the fetched collection. */ nearObject, RV extends ReturnVectors>(id: string, opts: GroupByNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection by another object using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {number[]} id - The UUID of the object to search for. * @param {NearOptions} [opts] - The available options for the search. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {QueryReturn} - The result of the search within the fetched collection. */ nearObject, RV extends ReturnVectors>(id: string, opts?: NearOptions, callOpts?: CallOptions): QueryReturn; } interface NearText { /** * Search for objects in this collection by text using text-capable vectorization module and vector-based similarity search. * You must have a text-capable vectorization module installed in order to use this method, * e.g. any of the `text2vec-` and `multi2vec-` modules. * * See the [docs](https://weaviate.io/developers/weaviate/api/graphql/search-operators#neartext) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @param {string | string[]} query - The text query to search for. * @param {BaseNearTextOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ nearText, RV extends ReturnVectors>(query: string | string[], opts?: BaseNearTextOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection by text using text-capable vectorization module and vector-based similarity search. * You must have a text-capable vectorization module installed in order to use this method, * e.g. any of the `text2vec-` and `multi2vec-` modules. * * See the [docs](https://weaviate.io/developers/weaviate/api/graphql/search-operators#neartext) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @param {string | string[]} query - The text query to search for. * @param {GroupByNearTextOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The group by result of the search within the fetched collection. */ nearText, RV extends ReturnVectors>(query: string | string[], opts: GroupByNearTextOptions, callOpts?: CallOptions): Promise>; /** * Search for objects in this collection by text using text-capable vectorization module and vector-based similarity search. * You must have a text-capable vectorization module installed in order to use this method, * e.g. any of the `text2vec-` and `multi2vec-` modules. * * See the [docs](https://weaviate.io/developers/weaviate/api/graphql/search-operators#neartext) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {string | string[]} query - The text query to search for. * @param {NearTextOptions} [opts] - The available options for the search. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {QueryReturn} - The result of the search within the fetched collection. */ nearText, RV extends ReturnVectors>(query: string | string[], opts?: NearTextOptions, callOpts?: CallOptions): QueryReturn; } interface NearVector { /** * Search for objects by vector in this collection using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search without the `groupBy` param. * * @param {NearVectorInputType} vector - The vector(s) to search on. * @param {BaseNearOptions} [opts] - The available options for the search excluding the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The result of the search within the fetched collection. */ nearVector, RV extends ReturnVectors>(vector: NearVectorInputType, opts?: BaseNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by vector in this collection using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search with the `groupBy` param. * * @param {NearVectorInputType} vector - The vector(s) to search for. * @param {GroupByNearOptions} opts - The available options for the search including the `groupBy` param. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The group by result of the search within the fetched collection. */ nearVector, RV extends ReturnVectors>(vector: NearVectorInputType, opts: GroupByNearOptions, callOpts?: CallOptions): Promise>; /** * Search for objects by vector in this collection using a vector-based similarity search. * * See the [docs](https://weaviate.io/developers/weaviate/search/similarity) for a more detailed explanation. * * This overload is for performing a search with a programmatically defined `opts` param. * * @param {NearVectorInputType} vector - The vector(s) to search for. * @param {NearOptions} [opts] - The available options for the search. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {QueryReturn} - The result of the search within the fetched collection. */ nearVector, RV extends ReturnVectors>(vector: NearVectorInputType, opts?: NearOptions, callOpts?: CallOptions): QueryReturn; } /** All the available methods on the `.query` namespace. */ export interface Query extends Bm25, Hybrid, NearImage, NearMedia, NearObject, NearText, NearVector { /** * Retrieve an object from the server by its UUID. * * @param {string} id - The UUID of the object to retrieve. * @param {FetchObjectByIdOptions} [opts] - The available options for fetching the object. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise | null>} - The object with the given UUID, or null if it does not exist. */ fetchObjectById: >(id: string, opts?: FetchObjectByIdOptions, callOpts?: CallOptions) => Promise> | null>; /** * Retrieve objects from the server without searching. * * @param {FetchObjectsOptions} [opts] - The available options for fetching the objects. * @param {CallOptions} [callOpts] - The available options for the API call. * @returns {Promise>} - The objects within the fetched collection. */ fetchObjects: >(opts?: FetchObjectsOptions, callOpts?: CallOptions) => Promise>>; } /** Options available in the `query.nearImage`, `query.nearMedia`, `query.nearObject`, and `query.nearVector` methods */ export type NearOptions = BaseNearOptions | GroupByNearOptions | undefined; /** Options available in the `query.nearText` method */ export type NearTextOptions = BaseNearTextOptions | GroupByNearTextOptions | undefined; /** The return type of the `query` methods. It is a union of a standard query and a group by query due to function overloading. */ export type QueryReturn = Promise> | Promise>; export {};