import { CountMetricsSummary } from './metrics/count-metrics';
import { LCOMMetricsSummary } from './metrics/lcom-metrics';
import { DistanceMetricsSummary } from './metrics/distance-metrics';
export interface ExportOptions {
    outputPath?: string;
    title?: string;
    includeTimestamp?: boolean;
    customCss?: string;
}
export interface ComprehensiveMetricsSummary {
    count: CountMetricsSummary;
    lcom: LCOMMetricsSummary;
    distance: DistanceMetricsSummary;
}
export interface ProjectMetricsSummary {
    count?: CountMetricsSummary;
    lcom?: LCOMMetricsSummary;
    distance?: DistanceMetricsSummary;
}
export declare class MetricsExporter {
    /**
     * Export metrics summary as HTML file
     */
    static exportAsHTML(summary: ProjectMetricsSummary, options: ExportOptions): Promise<void>;
    /**
     * Export comprehensive metrics (all types) as HTML file with default path
     */
    static exportComprehensiveAsHTML(tsConfigPath?: string, options?: Partial<ExportOptions>): Promise<void>;
    /**
     * Gather all available metrics for comprehensive reporting
     */
    static gatherComprehensiveMetrics(tsConfigPath?: string): Promise<ComprehensiveMetricsSummary>;
    private static generateHTML;
    private static generateCountMetricsSection;
    private static generateLCOMMetricsSection;
    private static generateDistanceMetricsSection;
    private static getDefaultStyles;
    private static writeFile;
}
