import type { I18nConfig, HealthCheckResult, ValidationIssue } from '../types/index.js';
import type { FileManager } from '../core/file-manager.js';
export declare class HealthChecker {
    private config;
    private fileManager;
    constructor(config: I18nConfig, fileManager: FileManager);
    performHealthCheck(languages?: string[], namespaces?: string[], detailed?: boolean): Promise<HealthCheckResult>;
    performHealthCheckSummary(languages?: string[], namespaces?: string[]): Promise<{
        overall: {
            score: number;
            grade: 'A' | 'B' | 'C' | 'D' | 'F';
            status: 'excellent' | 'good' | 'needs_attention' | 'poor';
            totalIssues: number;
            criticalIssues: number;
        };
        files: Record<string, {
            score: number;
            grade: 'A' | 'B' | 'C' | 'D' | 'F';
            keyCount: number;
            issueCount: number;
            status: 'healthy' | 'warning' | 'error';
        }>;
        topIssues: Array<{
            type: string;
            severity: 'error' | 'warning' | 'info';
            count: number;
            description: string;
        }>;
        recommendations: string[];
    }>;
    validateFiles(fix?: boolean): Promise<{
        valid: boolean;
        issues: ValidationIssue[];
        totalFiles: number;
        validFiles: number;
        fixedIssues?: string[];
    }>;
    private getAllKeysWithDetails;
    private validateInterpolation;
    private validatePluralization;
    private validateConsistency;
    private validateTranslationQuality;
    private validateStructure;
    private validatePerformance;
    private performCrossLanguageAnalysis;
    private calculateQualityScore;
    private calculateOverallScore;
    private generateRecommendations;
    private getExpectedPluralForms;
    private getLanguageName;
    private extractInterpolationVars;
    private isUntranslated;
    private hasSuspiciousPattern;
    private containsHtml;
    private validateTranslationLength;
    private validateNamingPatterns;
    private validateJsonStructure;
    private attemptJsonFix;
    private getIssueTypeDescription;
}
