/**
 * IndexPipeline — full-index and incremental-sync pipelines.
 *
 * Owns the two heavy workflows:
 *   - indexAll(): scan all files, extract, store, resolve, detect frameworks,
 *                 generate embeddings, analyze architecture.
 *   - sync():     detect changed files via git (or full scan fallback),
 *                 re-extract only what changed, then run the same tail pipeline.
 *
 * Everything that touches the filesystem or sub-systems is injected via the
 * constructor, keeping this class testable and free of global state.
 */
import { GraphDatabase } from '../db/database';
import { ReferenceResolver } from '../resolution/index';
import { VectorManager } from '../vectors/index';
import { ArchitectureAnalyzer } from '../architecture/index';
import type { KiroGraphConfig } from '../config';
import type { IndexResult, IndexProgress, SyncResult } from '../types';
import { LockManager } from './lock-manager';
export declare class IndexPipeline {
    private readonly db;
    private readonly vectors;
    private readonly resolver;
    private readonly arch;
    private readonly lock;
    private readonly config;
    private readonly projectRoot;
    private readonly mutex;
    constructor(db: GraphDatabase, vectors: VectorManager, resolver: ReferenceResolver, arch: ArchitectureAnalyzer, lock: LockManager, config: KiroGraphConfig, projectRoot: string);
    indexAll(opts?: {
        onProgress?: (p: IndexProgress) => void;
        force?: boolean;
        signal?: AbortSignal;
    }): Promise<IndexResult>;
    sync(changedFiles?: string[]): Promise<SyncResult>;
}
//# sourceMappingURL=pipeline.d.ts.map