import { PositionMappings } from './types';
/**
 * Search entry structure
 */
export interface SearchEntry {
    type: 'code' | 'header' | 'module';
    content: string;
    lineNumber?: number;
    position?: string;
    context?: string;
}
/**
 * Search index structure for fast lookups
 */
export interface SearchIndex {
    [key: string]: SearchEntry[];
}
/**
 * Class responsible for building and providing search functionality
 */
export declare class AgdaDocsSearcher {
    /**
     * Generates the search index for all files in the inputDir
     */
    static buildSearchIndex(mappings: PositionMappings, inputDir: string): Promise<SearchIndex>;
    /**
     * Extracts search entries from a single file
     */
    private static extractSearchEntriesFromFile;
    /**
     * Writes the search index to a JSON file in the output directory
     */
    static writeSearchIndex(outputDir: string, index: SearchIndex): void;
    /**
     * Writes a large search index in chunks to handle size limitations
     * Now splits by entry count and recursively splits chunks that are too large.
     */
    private static writeChunkedSearchIndex;
    /**
     * Returns the path to the search script
     * This will be included in the transformed HTML
     */
    static getSearchScriptPath(): string;
}
