import { MutationResult } from '../types';
export declare class GambitService {
    private gambitPath;
    checkGambitInstalled(): Promise<boolean>;
    installGambit(): Promise<void>;
    compileProject(projectPath: string): Promise<void>;
    prepareProject(projectPath: string): Promise<void>;
    setupGambitConfig(projectPath: string): Promise<void>;
    setupGambitConfigWithoutDependencies(projectPath: string, includePatterns?: string[], excludePatterns?: string[]): Promise<void>;
    ensureSolcAvailable(projectPath: string): Promise<string>;
    runMutationTesting(projectPath: string): Promise<MutationResult[]>;
    /**
     * Filter source files based on include/exclude patterns
     * @param files List of files to filter
     * @param includePatterns Optional glob patterns to include
     * @param excludePatterns Optional glob patterns to exclude
     * @returns Filtered list of files
     */
    private filterFilesByPatterns;
    runMutationTestingWithoutSetup(projectPath: string, numMutants?: number, includePatterns?: string[], excludePatterns?: string[], customRemappings?: string[]): Promise<MutationResult[]>;
    /**
     * Test a single mutant by replacing the original file, running tests, and restoring
     */
    private testSingleMutant;
    /**
     * Parse mutants from Gambit output directory
     */
    private parseGambitMutants;
    private parseGambitResults;
    getSurvivedMutations(results: MutationResult[]): Promise<MutationResult[]>;
    /**
     * Re-test only the previously survived mutations
     * This is much more efficient for iterative mode
     */
    retestSurvivedMutations(projectPath: string, previousResults: MutationResult[]): Promise<MutationResult[]>;
    /**
     * Find existing mutant directories from previous runs
     */
    private findMutantDirectories;
    /**
     * Generate comprehensive mutation analysis with Guardian Mutation Score
     */
    generateMutationAnalysis(results: MutationResult[], projectPath: string): Promise<{
        guardianScore: number;
        analysis: {
            summary: any;
            byFile: any;
            byMutationType: any;
            criticalGaps: any[];
            recommendations: string[];
        };
        reportMarkdown: string;
    }>;
    /**
     * Calculate Guardian Mutation Score - a more sophisticated scoring system
     */
    private calculateGuardianScore;
    /**
     * Get severity level for mutation types
     */
    private getMutationSeverity;
    /**
     * Analyze mutations by file
     */
    private analyzeByFile;
    /**
     * Analyze mutations by type
     */
    private analyzeByMutationType;
    /**
     * Identify critical gaps that need immediate attention
     */
    private identifyCriticalGaps;
    /**
     * Calculate priority score for a mutant based on various factors
     */
    private calculateMutantPriority;
    /**
     * Generate actionable recommendations
     */
    private generateRecommendations;
    /**
     * Generate detailed markdown mutation analysis report
     */
    private generateMutationReport;
    private getScoreEmoji;
    private getScoreGrade;
    private describeMutationImpact;
}
//# sourceMappingURL=gambit.service.d.ts.map