import type { LegacyMemoryEmbeddingRecord, MemoryIndexSourceRecord, MemoryVectorIndexManifest } from '../../contracts/vector_index'; import { type EmbeddingsLike } from './embedding'; import type { LivingMemoryVectorIndexWorkerClient } from './worker_client'; import type { VectorIndexInspection } from './worker_protocol'; export interface VectorIndexRebuildRepository { listEntryIndexSourcePage(afterId: string | null, limit: number): Promise; listLegacyEmbeddingPage(afterId: string | null, limit: number): Promise; listEntryPresetIds(): Promise; countEntriesByPreset(presetId: string): Promise; } export type VectorIndexRebuildWorker = Pick; export interface VectorIndexRebuildProgress { completed: number; total: number; batchDuration: number; totalDuration: number; } export declare const rebuildVectorIndex: (options: { repository: VectorIndexRebuildRepository; worker: VectorIndexRebuildWorker; embeddings: EmbeddingsLike; embeddingModelId: string; dimension: number; reuseLegacyEmbeddings: boolean; manifest: MemoryVectorIndexManifest; rebuildDatabaseDirectory: string; finalize: (transferCleanupOwnership: () => void) => Promise; onProgress: (progress: VectorIndexRebuildProgress) => Promise; shouldStop: () => boolean; }) => Promise;