import { RadarData, RadarStyle } from '../../types'; export interface RadarPoint { x: number; y: number; axisIndex: number; value: number; } export interface RadarGrid { levels: number; maxRadius: number; center: { x: number; y: number; }; startAngle: number; angleStep: number; } export declare class RadarRenderer { private ctx; private width; private height; private grid; constructor(ctx: CanvasRenderingContext2D, width: number, height: number); /** * Convert radar data to screen coordinates */ private dataToPoints; /** * Draw radar grid (background circles and radial lines) */ drawGrid(data: RadarData, style: RadarStyle): void; /** * Draw axis labels */ drawLabels(data: RadarData, style: RadarStyle): void; /** * Draw radar chart */ drawRadar(data: RadarData, style: RadarStyle): void; /** * Render complete radar chart */ render(data: RadarData, style: RadarStyle): void; /** * Render multiple radar charts (for comparison) */ renderMultiple(datasets: { data: RadarData; style: RadarStyle; }[]): void; /** * Get screen coordinates for a specific axis */ getAxisCoordinates(axisIndex: number, value: number, style: RadarStyle): { x: number; y: number; }; /** * Update canvas dimensions */ updateDimensions(width: number, height: number): void; /** * Get grid configuration */ getGrid(): RadarGrid; /** * Set grid configuration */ setGrid(grid: Partial): void; }