import { Database } from "./Database"; import { TransactionSetStore } from "./transactionSet"; import { StoredEmbedding, EmbeddingFormat } from "../embeddingFormats"; export type IvfConfig = { model: string; format: EmbeddingFormat; cellTargetSize: number; }; export type IvfEmbeddingRoot = { config: IvfConfig; count: number; flat: TransactionSetStore; byRef: { [ref: string]: Uint8Array; }; steps: { [step: string]: boolean; }; centroids: TransactionSetStore; cells: { [cellId: string]: TransactionSetStore; }; }; export type EmbeddingInput = { ref: string; embedding: StoredEmbedding; }; export type SearchHit = { ref: string; closeness: number; }; export declare function rebuildStructure(database: Database): void; export declare function searchEmbeddings(database: Database, query: StoredEmbedding, options: { probeBudget: number; resultCount: number; }): SearchHit[] | undefined; export declare function lookupEmbeddings(database: Database, refs: string[]): Map | undefined; export declare function insertEmbeddings(database: Database, items: EmbeddingInput[]): undefined; export declare function removeEmbeddings(database: Database, refs: string[]): void;