/**
 * 🔍 jpglens - Report Generator
 * Configurable AI Analysis Report Generation System
 *
 * @author Taha Bahrami (Kaito)
 * @license MIT
 */
import { AnalysisResult, ReportConfig, ReportTemplate } from './types.js';
/**
 * Default report templates for different output formats
 */
export declare const DEFAULT_REPORT_TEMPLATES: Record<string, ReportTemplate>;
/**
 * Default report configuration
 */
export declare const DEFAULT_REPORT_CONFIG: ReportConfig;
/**
 * Report Generator Class
 */
export declare class ReportGenerator {
    private config;
    private templates;
    constructor(config?: Partial<ReportConfig>);
    /**
     * Generate a report from analysis results
     */
    generateReport(analysisResult: AnalysisResult, customConfig?: Partial<ReportConfig>): Promise<string>;
    /**
     * Generate report content based on template and format
     */
    private generateReportContent;
    /**
     * Generate markdown report
     */
    private generateMarkdownReport;
    /**
     * Generate JSON report
     */
    private generateJsonReport;
    /**
     * Generate HTML report
     */
    private generateHtmlReport;
    /**
     * Generate markdown section
     */
    private generateMarkdownSection;
    /**
     * Generate HTML section
     */
    private generateHtmlSection;
    /**
     * Extract section data for JSON format
     */
    private extractSectionData;
    /**
     * Save report to file
     */
    private saveReport;
    /**
     * Generate file name based on configuration
     */
    private generateFileName;
    /**
     * Get file extension for format
     */
    private getFileExtension;
    /**
     * Format timestamp based on configuration
     */
    private formatTimestamp;
    /**
     * Format section title
     */
    private formatSectionTitle;
    /**
     * Extract executive summary from result
     */
    private extractExecutiveSummary;
    /**
     * Format issues for display
     */
    private formatIssues;
    /**
     * Format recommendations for display
     */
    private formatRecommendations;
    /**
     * Format technical details
     */
    private formatTechnicalDetails;
    /**
     * Get template by name
     */
    private getTemplate;
    /**
     * Ensure output directory exists
     */
    private ensureOutputDirectory;
    /**
     * Add custom template
     */
    addTemplate(name: string, template: ReportTemplate): void;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<ReportConfig>): void;
    /**
     * Get current configuration
     */
    getConfig(): ReportConfig;
}
/**
 * Create report generator with default configuration
 */
export declare function createReportGenerator(config?: Partial<ReportConfig>): ReportGenerator;
//# sourceMappingURL=report-generator.d.ts.map