/**
 * Fault Localization Module
 *
 * Implements spectrum-based fault localization techniques to identify
 * suspicious code locations that may contain bugs.
 *
 * Based on research:
 * - Tarantula (Jones et al., 2002)
 * - Ochiai (Abreu et al., 2007)
 * - DStar (Wong et al., 2014)
 */
import { Fault, FaultLocalizationResult, FaultLocalizationConfig, TestCoverage, FileReader } from "./types.js";
/**
 * Fault Localization Engine
 */
export declare class FaultLocalizer {
    private config;
    private fileReader?;
    constructor(config?: Partial<FaultLocalizationConfig>, fileReader?: FileReader);
    /**
     * Localize faults from error output
     */
    localize(errorOutput: string, coverage?: TestCoverage): Promise<FaultLocalizationResult>;
    /**
     * Parse error output to extract faults
     */
    private parseErrorOutput;
    /**
     * Extract locations from stack trace
     */
    private extractStackTrace;
    /**
     * Enhance faults with stack trace information
     */
    private enhanceFaultsWithStackTrace;
    /**
     * Calculate suspiciousness scores using spectrum-based analysis
     */
    private calculateSuspiciousness;
    /**
     * Calculate suspiciousness using a specific metric
     */
    private calculateMetric;
    /**
     * Count tests that execute a statement and fail
     */
    private countExecutingFailingTests;
    /**
     * Count tests that execute a statement and pass
     */
    private countExecutingPassingTests;
    /**
     * Rank faults by combining static analysis and spectrum-based scores
     */
    private rankFaults;
    /**
     * Add code snippets to faults for context
     */
    private addCodeSnippets;
    /**
     * Deduplicate faults by location
     */
    private deduplicateFaults;
    /**
     * Analyze a single error message
     */
    analyzeSingleError(errorMessage: string): Fault | null;
    /**
     * Get configuration
     */
    getConfig(): FaultLocalizationConfig;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<FaultLocalizationConfig>): void;
}
/**
 * Create a fault localizer instance
 */
export declare function createFaultLocalizer(config?: Partial<FaultLocalizationConfig>, fileReader?: FileReader): FaultLocalizer;
