/** * @license * Copyright 2026 Alibaba Group Holding Limited * SPDX-License-Identifier: Apache-2.0 */ import { type MemoryConfig, type MemoryConnection, type MemoryLogger } from './config.js'; import type { StoredVector } from './store.js'; export declare function normalizeVector(values: readonly number[]): Float32Array | null; export declare class EmbeddingClient { readonly model: string; readonly minSim: number; readonly vecLimit: number; private readonly config; private readonly connection; private readonly log; private readonly fetcher; private readonly cache; private readonly pending; private closed; private warmup?; constructor(options: { config?: MemoryConfig['retrieve']; connection: MemoryConnection; log?: MemoryLogger; fetch?: typeof globalThis.fetch; }); get available(): boolean; get unavailableReason(): string; embedQuery(text: string): Promise; embedDocuments(texts: readonly string[]): Promise>; warmUp(): Promise; private request; close(): void; } export declare function searchVectors(vectors: readonly StoredVector[], query: Float32Array, minSim: number, limit: number): Array<{ refId: number; similarity: number; }>; export declare class EmbeddingBackfiller { private readonly client; private readonly write; private readonly log; private readonly maxQueue; private readonly queue; private readonly queued; private running?; private closed; constructor(client: EmbeddingClient, write: (id: number, vector: Float32Array, model: string) => void, log?: MemoryLogger, maxQueue?: number); enqueue(id: number, text: string): boolean; private run; drain(timeoutMs?: number): Promise; close(): void; }