import type { OpenLoreConfig } from '../../types/index.js'; import type { LLMContext } from './artifact-generator.js'; export interface IndexReport { index: 'function' | 'text' | 'spec'; status: 'start' | 'complete' | 'skip' | 'warning'; detail?: string; } export interface IndexReporter { report(event: IndexReport): void; } export interface AnalysisIndexResult { functionIndex: 'built' | 'skipped' | 'degraded'; textIndex: 'built' | 'skipped'; specIndex: 'built' | 'skipped'; degraded: Array<{ index: IndexReport['index']; reason: string; }>; } export interface BuildAnalysisIndexesOptions { rootPath: string; outputPath: string; config: OpenLoreConfig | null; llmContext?: LLMContext | null; force?: boolean; keywordOnly?: boolean; freshSpecDirectory?: boolean; include?: string[]; exclude?: string[]; reporter?: IndexReporter; /** Analysis generation this index set consumes; enables verified cache reuse. */ generationId?: string; } export interface BuildSpecIndexOptions { rootPath: string; outputPath: string; config: OpenLoreConfig | null; keywordOnly?: boolean; reporter?: IndexReporter; } /** Spec-only fast path used by `analyze --reindex-specs`. */ export declare function buildSpecIndex(options: BuildSpecIndexOptions): Promise<'built' | 'skipped'>; /** Build indexes one-at-a-time per canonical output directory for every frontend. */ export declare function buildAnalysisIndexes(options: BuildAnalysisIndexesOptions): Promise; //# sourceMappingURL=analysis-indexes.d.ts.map