/**
 * Production-grade Error Aggregator
 * Implements AGENTS.md principles:
 * - "Collect ALL errors before reporting"
 * - "Fail fast, fail clearly"
 * - "Report errors clearly with context"
 */
export interface CompilationError {
    file: string;
    line?: number;
    column?: number;
    code: string;
    message: string;
    severity: 'critical' | 'error' | 'warning';
    category: 'syntax' | 'type' | 'resolution' | 'system' | 'validation' | 'runtime' | 'unknown';
    suggestion?: string;
    timestamp?: number;
    stack?: string;
}
export declare class CompilationErrorAggregator {
    private errors;
    private warnings;
    private criticalErrors;
    private readonly maxErrors;
    private failFastOnCritical;
    /**
     * Collect an error or warning with automatic categorization
     * Does NOT fail immediately - aggregates for later reporting
     * EXCEPT for critical errors when failFastOnCritical is enabled
     */
    collect(error: CompilationError): void;
    /**
     * Automatically categorize error based on message and code
     */
    private categorizeError;
    /**
     * Check if compilation should stop
     */
    shouldStop(): boolean;
    /**
     * Report header and summary statistics
     */
    private reportHeaderAndSummary;
    /**
     * Report critical errors section
     */
    private reportCriticalErrors;
    /**
     * Report errors section
     */
    private reportErrors;
    /**
     * Report warnings section
     */
    private reportWarnings;
    /**
     * Report all collected errors and warnings
     * Provides comprehensive context for debugging
     */
    reportAll(): void;
    /**
     * Report a single error with formatting
     */
    private reportSingleError;
    /**
     * Get errors grouped by category
     */
    private getErrorsByCategory;
    /**
     * Fail fast with comprehensive error reporting
     * Implements proper exit codes based on error severity
     */
    failFast(): never;
    /**
     * Get error count
     */
    getErrorCount(): number;
    /**
     * Get critical error count
     */
    getCriticalErrorCount(): number;
    /**
     * Get warning count
     */
    getWarningCount(): number;
    /**
     * Get total issue count
     */
    getTotalCount(): number;
    /**
     * Check if there are any errors
     */
    hasErrors(): boolean;
    /**
     * Check if there are any critical errors
     */
    hasCriticalErrors(): boolean;
    /**
     * Clear all collected errors and warnings
     */
    clear(): void;
    /**
     * Set whether to fail fast on critical errors
     */
    setFailFastOnCritical(enabled: boolean): void;
    /**
     * Get all errors (critical, errors, warnings)
     */
    getAllErrors(): CompilationError[];
    private groupByFile;
    /**
     * Get common error suggestions
     */
    static getSuggestion(code: string): string | undefined;
    /**
     * Create error from exception with auto-categorization
     */
    static fromException(error: Error, file: string, code?: string): CompilationError;
}
/**
 * Get or create global error aggregator
 */
export declare function getGlobalErrorAggregator(): CompilationErrorAggregator;
/**
 * Reset global error aggregator
 */
export declare function resetGlobalErrorAggregator(): void;
//# sourceMappingURL=error-aggregator.d.ts.map