import * as d3 from 'd3'; import { ChartBounds, ChartMode, DataRepresentation, MultiDatasetFormat, ProcessedDataPoint, RawChartData } from '@/types'; /** * Data processor that transforms Kendo UI format to D3-compatible format */ export declare class DataProcessor { /** * Extract specific dataset from multi-dataset format based on mode and representation */ static extractDatasetFromMulti(multiData: MultiDatasetFormat, mode: ChartMode, representation: DataRepresentation): RawChartData; /** * Transform raw Kendo data format to D3-ready data structure */ static transformKendoToD3(rawData: RawChartData): { data: ProcessedDataPoint[]; energySources: string[]; years: number[]; }; /** * Create stacked data using D3 stack layout */ static createStackedData(data: ProcessedDataPoint[], energySources: string[]): d3.Series[]; /** * Calculate domains for scales */ static calculateDomains(data: ProcessedDataPoint[], energySources: string[]): { xDomain: [number, number]; yDomain: [number, number]; }; /** * Calculate chart bounds based on dimensions and margins */ static calculateBounds(width: number, height: number, margin: { top: number; right: number; bottom: number; left: number; }): ChartBounds; /** * Get data point value at specific coordinates */ static getDataAtPoint(data: ProcessedDataPoint[], year: number, energySource: string): number; /** * Find closest data point to given year */ static findClosestDataPoint(data: ProcessedDataPoint[], targetYear: number): ProcessedDataPoint | null; /** * Extract color information from raw data */ static extractColors(rawData: RawChartData): Record; /** * Validate processed data integrity */ static validateProcessedData(data: ProcessedDataPoint[], energySources: string[]): boolean; } //# sourceMappingURL=DataProcessor.d.ts.map