/**
 * Configuration for Enhanced Index system
 *
 * Centralizes all tunable parameters for the index, NLP scoring,
 * and relationship discovery systems.
 *
 * FIXES IMPLEMENTED (Issue #1100):
 * - Added all magic numbers from Enhanced Index to configuration
 * - Centralized thresholds, limits, and timeouts
 */
export interface IndexConfiguration {
    index: {
        ttlMinutes: number;
        rebuildOnStartup: boolean;
        persistToDisk: boolean;
        lockTimeoutMs: number;
        maxConcurrentBuilds: number;
    };
    performance: {
        maxElementsForFullMatrix: number;
        maxSimilarityComparisons: number;
        maxRelationshipComparisons: number;
        similarityBatchSize: number;
        similarityThreshold: number;
        defaultSimilarityThreshold: number;
        defaultSimilarLimit: number;
        defaultVerbSearchLimit: number;
        parallelProcessing: boolean;
        circuitBreakerTimeoutMs: number;
    };
    sampling: {
        baseSampleSize: number;
        sampleRatio: number;
        clusterSampleLimit: number;
    };
    nlp: {
        cacheExpiryMinutes: number;
        minTokenLength: number;
        entropyBands: {
            low: number;
            moderate: number;
            high: number;
        };
        jaccardThresholds: {
            low: number;
            moderate: number;
            high: number;
        };
    };
    verbs: {
        confidenceThreshold: number;
        maxRecursionDepth: number;
        maxElementsPerVerb: number;
        includeSynonyms: boolean;
    };
    memory: {
        maxCacheSize: number;
        enableGarbageCollection: boolean;
        gcIntervalMinutes: number;
        cleanupIntervalMinutes: number;
        staleIndexMultiplier: number;
    };
}
export declare class IndexConfigManager {
    private config;
    private configPath;
    private defaultConfig;
    constructor();
    /**
     * Load configuration from disk synchronously (for constructor)
     */
    private loadConfigSync;
    /**
     * Save current configuration to disk
     */
    saveConfig(): Promise<void>;
    /**
     * Get the current configuration
     */
    getConfig(): IndexConfiguration;
    /**
     * Update configuration with validation
     */
    updateConfig(updates: Partial<IndexConfiguration>): Promise<void>;
    /**
     * Validate configuration values
     * Throws an error if any value is invalid
     */
    private validateConfig;
    /**
     * Reset to default configuration
     */
    resetToDefaults(): Promise<void>;
    /**
     * Get specific configuration value by path
     */
    get(path: string): any;
    /**
     * Set specific configuration value by path
     */
    set(path: string, value: any): Promise<void>;
}
//# sourceMappingURL=IndexConfig.d.ts.map