export interface VectorStore {
/** Initialize collections/indexes. Call once before use. */
initialize(): Promise<void>;
/** Upsert a single document (embedding computed if not provided). */
upsert(collection: string, doc: VectorDocument): Promise<void>;
/** Upsert multiple documents in batch. */
upsertBatch(collection: string, docs: VectorDocument[]): Promise<void>;
/**
* Similarity search by vector, text query, or multimodal `ContentPart[]` query.
* Multimodal queries require an `EmbeddingProvider` with `embedMultimodal` support.
*/
search(collection: string, query: number[] | string | ContentPart[], options?: VectorSearchOptions): Promise<VectorSearchResult[]>;
/** Delete a document by ID. */
delete(collection: string, id: string): Promise<void>;
/** Get a document by ID. */
get(collection: string, id: string): Promise<VectorDocument | null>;
/** Drop an entire collection. */
dropCollection(collection: string): Promise<void>;
/** Close connections. */
close(): Promise<void>;
}