/** * @module @nhtio/adk/batteries/vector/arangodb * * ArangoDB adapter (experimental vector index, 3.12.4+). Each collection is an ArangoDB * document collection keyed by `_key`; a `vector` index on `vec` enables KNN via * `APPROX_NEAR_COSINE` / `APPROX_NEAR_L2`. Metadata is a JSON string attribute filtered with * the neutral filter tree's JS reference evaluator for exact cross-adapter parity. * * Driver: `arangojs` (pure JS). Requires the server started with * `--experimental-vector-index=true`. All values are passed as AQL bind parameters. */ import { BaseVectorStore } from "../contract"; import type { SearchPlan, UpsertPlan, DeletePlan, CollectionSpec } from "../plan"; import type { VectorMatch, VectorStoreCapabilities, BaseVectorStoreOptions } from "../types"; export interface ArangoDBVectorStoreOptions extends BaseVectorStoreOptions { /** Connection and authentication parameters for the backend. */ connection: { url: string; username?: string; password?: string; database?: string; nLists?: number; }; } export declare class ArangoDBVectorStore extends BaseVectorStore { #private; readonly capabilities: VectorStoreCapabilities; /** Static availability probe: whether this adapter's runtime driver can load in the current environment. */ static isAvailable(): boolean; isAvailable(): boolean; connect(): Promise; close(): Promise; createCollection(spec: CollectionSpec, ifNotExists: boolean): Promise; dropCollection(collection: string, ifExists: boolean): Promise; hasCollection(collection: string): Promise; renameCollection(_from: string, _to: string): Promise; executeUpsert(plan: UpsertPlan): Promise; executeSearch(plan: SearchPlan): Promise; executeDelete(plan: DeletePlan): Promise; }