/**
 * Local TF-IDF codebase indexer for CLI (mirrors Vigthoria Code extension indexer).
 */
export type CodebaseSearchResult = {
    filePath: string;
    relativePath: string;
    startLine: number;
    endLine: number;
    content: string;
    language: string;
    score: number;
    symbol: string | null;
};
export type IndexMeta = {
    indexedFileCount: number;
    totalChunks: number;
    indexHash: string;
    topFiles: string[];
    indexedAt: string;
};
export declare class CodebaseIndexer {
    private workspaceRoot;
    private index;
    private invertedIndex;
    private chunkStore;
    private fileHashes;
    private indexedFileCount;
    private totalChunks;
    private isIndexing;
    private readonly maxFileSize;
    private readonly chunkSize;
    private readonly chunkOverlap;
    private readonly maxResults;
    private readonly ignorePatterns;
    private readonly supportedExtensions;
    constructor(workspaceRoot: string);
    getStatus(): {
        indexedFileCount: number;
        totalChunks: number;
        isIndexing: boolean;
    };
    static metaPath(workspaceRoot: string): string;
    static loadMeta(workspaceRoot: string): IndexMeta | null;
    private saveMeta;
    hasLocalIndex(): boolean;
    countCandidateFiles(): number;
    countIndexableFiles(): number;
    indexWorkspace(): Promise<IndexMeta>;
    search(query: string, maxResults?: number): CodebaseSearchResult[];
    getContextForQuery(query: string, maxTokens?: number): string;
    formatSearchResults(query: string, maxResults?: number): string;
    private findFiles;
    private indexFile;
    private chunkFile;
    private tokenize;
    private isStopWord;
    private getLanguage;
    private shouldIgnore;
}
