import { OnInit, AfterViewInit, ElementRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
import * as i0 from "@angular/core";
export interface HeatmapData {
    agent: string;
    model: string;
    avgTime: number;
    successRate: number;
    value?: number;
}
export interface HeatmapConfig {
    width?: number;
    height?: number;
    margin?: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    colorScheme?: string[];
    showTooltip?: boolean;
    animationDuration?: number;
}
export declare class PerformanceHeatmapComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    data: HeatmapData[];
    title?: string;
    config: HeatmapConfig;
    chartSvg: ElementRef<SVGElement>;
    tooltip: ElementRef<HTMLDivElement>;
    legendGradient: ElementRef<HTMLDivElement>;
    private svg;
    private width;
    private height;
    private margin;
    private defaultColorScheme;
    private getColorScheme;
    selectedMetric: string;
    processedData: HeatmapData[];
    uniqueAgents: string[];
    uniqueModels: string[];
    minValue: number;
    maxValue: number;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    private applyConfig;
    private initChart;
    private processData;
    private calculatePerformanceScore;
    private updateValueRange;
    updateChart(): void;
    private calculateDimensions;
    private drawChart;
    private drawAxes;
    private getMetricValue;
    private getTextColor;
    private formatCellValue;
    private showTooltip;
    private hideTooltip;
    private initLegend;
    private updateLegend;
    getLegendTitle(): string;
    formatLegendValue(value: number): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceHeatmapComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceHeatmapComponent, "app-performance-heatmap", never, { "data": { "alias": "data"; "required": false; }; "title": { "alias": "title"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=performance-heatmap.component.d.ts.map