import type { IReporter, ILogger, IValidationError, IProjectAnalysisResult, IStandardsConfiguration, IProcessedReportData, ISummaryItem, IReportGenerationResult } from '../types';
/**
 * The `Reporter` class is responsible for generating, formatting, and saving frontend standards validation reports.
 * It processes validation errors, warnings, and info suggestions, and produces detailed and summary reports
 * in both human-readable and JSON formats. The class also manages log directories, file metadata, and
 * optionally includes collaborator information from Git history.
 *
 * @remarks
 * - Excludes Jest (test/spec) files from violation counts.
 * - Supports exporting reports in both text and JSON formats.
 * - Copies a viewer HTML file to the logs directory for enhanced report viewing.
 *
 * @example
 * ```typescript
 * const reporter = new Reporter(rootDir, outputPath, logger);
 * await reporter.generate(zoneErrors, projectInfo, config);
 * ```
 *
 * @see IReporter
 */
export declare class Reporter implements IReporter {
    /**
     * Determine if a file is a Jest (test/spec)
     */
    private isJestFile;
    readonly rootDir: string;
    outputPath: string;
    logDir: string;
    readonly logger: ILogger;
    includeCollaborators: boolean;
    private _originalZoneErrors;
    private getFileMeta;
    constructor(rootDir: string, outputPath: string | null, logger: ILogger);
    /**
     * Generate and save validation report
     */
    generate(zoneErrors: Record<string, IValidationError[]>, projectInfo: IProjectAnalysisResult, config: IStandardsConfiguration): Promise<IReportGenerationResult>;
    /**
     * Process errors and generate statistics
     */
    processErrors(zoneErrors: Record<string, IValidationError[]>): IProcessedReportData;
    /**
     * Generate error summary
     */
    generateSummary(errorsByRule: Record<string, number>, totalErrors: number): ISummaryItem[];
    /**
     * Format the complete report
     */
    formatReport(reportData: IProcessedReportData, projectInfo: IProjectAnalysisResult, _config: IStandardsConfiguration): Promise<string>;
    /**
     * Add report header section
     */
    addReportHeader(lines: string[], projectInfo: IProjectAnalysisResult): void;
    /**
     * Add summary section
     */
    addSummarySection(lines: string[], reportData: IProcessedReportData): void;
    /**
     * Add zone results section
     */
    addZoneResultsSection(lines: string[], reportData: IProcessedReportData): void;
    /**
     * Add detailed errors section
     */
    addDetailedErrorsSection(lines: string[]): void;
    /**
     * Add detailed warnings section
     */
    addDetailedWarningsSection(lines: string[]): void;
    /**
     * Add detailed info suggestions section
     */
    addDetailedInfosSection(lines: string[]): void;
    /**
     * Add statistics section
     */
    addStatisticsSection(lines: string[], reportData: IProcessedReportData): void;
    /**
     * Add recommendations section
     */
    addRecommendationsSection(lines: string[]): void;
    /**
     * Save report to file
     */
    saveReport(content: string): Promise<void>;
    /**
     * Get original zone errors
     */
    getOriginalZoneErrors(): Record<string, IValidationError[]>;
    /**
     * Set original zone errors for detailed reporting
     */
    setOriginalZoneErrors(zoneErrors: Record<string, IValidationError[]>): void;
    /**
     * Generate a quick summary for console output
     */
    generateQuickSummary(reportData: IProcessedReportData): string;
    /**
     * Export report in JSON format
     */
    exportJson(reportData: IProcessedReportData, outputPath?: string | null): Promise<string>;
}
//# sourceMappingURL=reporter.d.ts.map