import { CommonResponse, CommonNamespaceArgs } from "./Common"; import { ReadConsistency } from "./Const"; export type Row = Record; export type PrimaryKey = Record; export type PartitionKey = Record; export type SearchParams = Record; export type UpdateFields = Record; export type Marker = Record; export interface InsertArgs extends CommonNamespaceArgs { rows: Record[]; } export interface InsertResponse extends CommonResponse { affectedCount: number; } export interface UpsertArgs extends InsertArgs { } export interface UpsertResponse extends InsertResponse { } export interface DeleteArgs extends CommonNamespaceArgs { primaryKey?: PrimaryKey; partitionKey?: PartitionKey; filter?: string; } export interface QueryArgs extends CommonNamespaceArgs { primaryKey: PrimaryKey; partitionKey?: PartitionKey; projections?: string[]; retrieveVector?: boolean; readConsistency?: ReadConsistency; } export interface QueryResponse extends CommonResponse { row: Row; } export type QueryKey = { primaryKey: PrimaryKey; partitionKey?: PartitionKey; }; export interface BatchQueryArgs extends CommonNamespaceArgs { keys: QueryKey[]; projections?: string[]; retrieveVector?: boolean; readConsistency?: ReadConsistency; } export interface BatchQueryResponse extends CommonResponse { rows: Row[]; } export interface RowResult { row: Row; distance: number; score: number; } export interface VectorSearchArgs { database: string; table: string; request: vectorSearchRequest; } export interface BM25SearchArgs { database: string; table: string; request: bm25SearchRequest; } export interface HybridSearchArgs { database: string; table: string; request: hybridSearchRequest; } export interface SearchRowResult { searchVectorFloats?: number[]; rows: RowResult[]; } export interface BatchSearchRowResult { results: SearchRowResult[]; } export interface SearchResult { isBatch: boolean; rows: SearchRowResult; batchRows: BatchSearchRowResult; } export interface SearchResponse extends CommonResponse, SearchRowResult { } export interface BatchSearchResponse extends CommonResponse, BatchSearchRowResult { } export interface ANNSearchParams { vectorField: string; vectorFloats: number[] | number[][]; params: SearchParams; filter?: string; } export interface BatchSearchArgs extends CommonNamespaceArgs { anns: ANNSearchParams; partitionKey?: PartitionKey; retrieveVector?: boolean; projections?: string[]; readConsistency?: ReadConsistency; } export interface UpdateArgs extends CommonNamespaceArgs { primaryKey: PrimaryKey; partitionKey?: PartitionKey; update: UpdateFields; } export interface SelectArgs extends CommonNamespaceArgs { filter?: string; marker?: Marker; projections?: string[]; limit: number; readConsistency?: ReadConsistency; } export interface SelectResponse extends CommonResponse { isTruncated: boolean; nextMarker: Marker; rows: Row[]; } export declare class VectorSearchConfig { params: Record; constructor(); Ef(ef: number): VectorSearchConfig; Pruning(pruning: boolean): VectorSearchConfig; SearchCoarseCount(searchCoarseCount: number): VectorSearchConfig; } export interface searchRequest { requestType(): string; toDict(): Record; isBatch(): boolean; } export interface vectorSearchRequest extends searchRequest { vectorSearchRequestDummyInterface(): void; } export declare class Vector { vector: number[]; constructor(vector: number[]); name(): string; representation(): any; } export declare class request { set: Record; constructor(); mark(key: string): void; isMarked(key: string): boolean; } export declare class SearchCommonFields extends request { partitionKey?: Record; projections?: string[]; readConsistency?: string; limit?: number; filter?: string; searchCommonFieldsToMap(): Record; } export declare class vectorSearchFields extends SearchCommonFields { vectorField?: string; vector?: Vector; vectors?: Vector[]; distanceNear?: number; distanceFar?: number; config?: VectorSearchConfig; fillSearchFields(fields: Record): void; } export declare class VectorTopkSearchRequest extends vectorSearchFields implements vectorSearchRequest { constructor(vectorField: string, vector: Vector, limit: number); PartitionKey(partitionKey: Record): VectorTopkSearchRequest; ReadConsistency(readConsistency: string): VectorTopkSearchRequest; Projections(projections: string[]): VectorTopkSearchRequest; Filter(filter: string): VectorTopkSearchRequest; Config(config: VectorSearchConfig): VectorTopkSearchRequest; requestType(): string; isBatch(): boolean; toDict(): Record; vectorSearchRequestDummyInterface(): void; } /**** Vector Range Search ****/ export declare class DistanceRange { Min: number; Max: number; constructor(Min: number, Max: number); } export declare class VectorRangeSearchRequest extends vectorSearchFields implements vectorSearchRequest { constructor(vectorField: string, vector: Vector, distanceRange: DistanceRange); PartitionKey(partitionKey: Record): VectorRangeSearchRequest; ReadConsistency(readConsistency: string): VectorRangeSearchRequest; Projections(projections: string[]): VectorRangeSearchRequest; Limit(limit: number): VectorRangeSearchRequest; Filter(filter: string): VectorRangeSearchRequest; Config(config: VectorSearchConfig): VectorRangeSearchRequest; requestType(): string; isBatch(): boolean; toDict(): Record; vectorSearchRequestDummyInterface(): void; } /**** Vectothis Batch Search ****/ export declare class VectorBatchSearchRequest extends vectorSearchFields implements vectorSearchRequest { constructor(vectorField: string, vectors: Vector[]); PartitionKey(partitionKey: Record): VectorBatchSearchRequest; ReadConsistency(readConsistency: string): VectorBatchSearchRequest; Projections(projections: string[]): VectorBatchSearchRequest; Limit(limit: number): VectorBatchSearchRequest; DistanceRange(distanceRange: DistanceRange): VectorBatchSearchRequest; Filter(filter: string): VectorBatchSearchRequest; Config(config: VectorSearchConfig): VectorBatchSearchRequest; isBatch(): boolean; requestType(): string; toDict(): Record; vectorSearchRequestDummyInterface(): void; } /**** BM25 Search ****/ export interface bm25SearchRequest extends searchRequest { bm25SearchRequestDummyInterface(): void; } export declare class BM25SearchRequest extends SearchCommonFields implements bm25SearchRequest { indexName: string; searchText: string; constructor(indexName: string, searchText: string); PartitionKey(partitionKey: Record): BM25SearchRequest; ReadConsistency(readConsistency: string): BM25SearchRequest; Projections(projections: string[]): BM25SearchRequest; Limit(limit: number): BM25SearchRequest; Filter(filter: string): BM25SearchRequest; toDict(): Record; requestType(): string; isBatch(): boolean; bm25SearchRequestDummyInterface(): void; } /**** Hybrid Search ****/ export interface hybridSearchRequest extends searchRequest { hybridSearchRequestDummyInterface(): void; } export declare class HybridSearchRequest extends SearchCommonFields implements hybridSearchRequest { vectorRequest: vectorSearchRequest; bm25Request: bm25SearchRequest; vectorWeight: number; bm25Weight: number; constructor(vectorRequest: vectorSearchRequest, bm25Request: bm25SearchRequest, vectorWeight: number, bm25Weight: number); PartitionKey(partitionKey: Record): HybridSearchRequest; ReadConsistency(readConsistency: string): HybridSearchRequest; Projections(projections: string[]): HybridSearchRequest; Limit(limit: number): HybridSearchRequest; Filter(filter: string): HybridSearchRequest; toDict(): Record; isBatch(): boolean; requestType(): string; hybridSearchRequestDummyInterface(): void; }