import { EmbeddingProvider } from './EmbeddingProvider';
import { VectorStore } from './VectorStore';
export interface IndexerOptions {
    root: string;
    store: VectorStore;
    embed: EmbeddingProvider;
    /** Additional patterns to skip (besides .gitignore + defaults). */
    extraIgnore?: string[];
    /** Skip files larger than this (bytes). Default: 1 MiB. */
    maxFileBytes?: number;
    /** Force full rebuild instead of incremental. */
    rebuild?: boolean;
    /** Progress callback (file path, processed-so-far, total). */
    onProgress?: (file: string, done: number, total: number) => void;
}
export interface IndexerReport {
    scannedFiles: number;
    indexedFiles: number;
    skippedFiles: number;
    upsertedChunks: number;
    removedFiles: number;
}
export declare class Indexer {
    build(opts: IndexerOptions): Promise<IndexerReport>;
}
