import type { Client } from "@libsql/client"; import { type RebuildLanesResult } from "./rebuild-lanes.js"; import { type RebuildArcsResult } from "./rebuild-arcs.js"; import { type RebuildFtsResult } from "./rebuild-fts.js"; import { type RebuildRollupResult } from "./rebuild-rollup.js"; import { type RebuildKeyphrasesResult } from "./rebuild-keyphrases.js"; import { type RebuildEmbeddingsResult } from "./rebuild-embeddings.js"; import type { EmbeddingsBuildPhase } from "../util/embeddings-progress.js"; import type { OfferState } from "../util/nudge-state.js"; export interface RebuildVaultArgs { vault: string; threshold?: number; registryDb?: Client; nowIso?: string; embeddingsInteractive?: boolean; promptConfirm?: (question: string) => Promise; modelCachePresentFn?: () => boolean; embeddingsProgress?: EmbeddingsBuildProgress; } export interface EmbeddingsBuildProgress { onPhase?: (phase: EmbeddingsBuildPhase) => void; onDownload?: (bytesDone: number, totalBytes: number) => void; onEmbed?: (done: number, total: number) => void; } export interface RebuildVaultResult { vaultName: string; lanes: RebuildLanesResult; arcs: RebuildArcsResult; fts: RebuildFtsResult; rollup: RebuildRollupResult; keyphrases: RebuildKeyphrasesResult; embeddings: RebuildEmbeddingsResult | null; indexQuarantinedTo: string | null; durationMs: number; } export declare function rebuildVaultFlow(args: RebuildVaultArgs): Promise; interface EmbeddingsBuildGateArgs { vault: string; vaultPath: string; registryDb: Client; interactive?: boolean; promptConfirm?: (question: string) => Promise; modelCachePresentFn?: () => boolean; askedStateFn?: () => Promise<() => OfferState>; progress?: EmbeddingsBuildProgress; } export declare function embeddingsBuildGate(args: EmbeddingsBuildGateArgs): Promise; export declare function deriveUnavailableTerminalPhase(res: Pick): "timed-out" | "offline-deferred"; export {}; //# sourceMappingURL=rebuild-vault.d.ts.map