import { Journal } from "./journal.js";
import { MetricsRegistry } from "./metrics.js";
import { JournalEntry, Mountable } from "./types.js";
import { QueryResult, VectorEntry, VectorMockOptions, VectorQuery } from "./vector-types.js";
import * as http$1 from "node:http";

//#region src/vector-mock.d.ts
declare class VectorMock implements Mountable {
  private collections;
  private queryHandlers;
  private server;
  private journal;
  private registry;
  private options;
  private requestHandler;
  constructor(options?: VectorMockOptions);
  addCollection(name: string, opts: {
    dimension: number;
  }): this;
  upsert(collection: string, vectors: VectorEntry[]): this;
  onQuery(collection: string, results: QueryResult[] | ((query: VectorQuery) => QueryResult[])): this;
  deleteCollection(name: string): this;
  handleRequest(req: http$1.IncomingMessage, res: http$1.ServerResponse, pathname: string): Promise<boolean>;
  health(): {
    status: string;
    collections: number;
  };
  setJournal(journal: Journal): void;
  setRegistry(registry: MetricsRegistry): void;
  start(): Promise<string>;
  stop(): Promise<void>;
  getRequests(): JournalEntry[];
  reset(): this;
  private buildHandler;
}
//# sourceMappingURL=vector-mock.d.ts.map
//#endregion
export { VectorMock };
//# sourceMappingURL=vector-mock.d.ts.map