import { ChartDataPoint } from '../types'; export interface DataProcessingOptions { normalize?: boolean; smooth?: boolean; smoothWindow?: number; removeOutliers?: boolean; outlierThreshold?: number; aggregate?: boolean; aggregateMethod?: 'sum' | 'avg' | 'min' | 'max' | 'count'; aggregateWindow?: number; sort?: boolean; sortBy?: 'x' | 'y' | 'value'; sortOrder?: 'asc' | 'desc'; filter?: (point: ChartDataPoint) => boolean; transform?: (point: ChartDataPoint) => ChartDataPoint; } export declare class ChartDataUtils { /** * Normalize data points to a specific range */ static normalizeData(data: ChartDataPoint[], min?: number, max?: number): ChartDataPoint[]; /** * Apply smoothing to data points using moving average */ static smoothData(data: ChartDataPoint[], windowSize?: number): ChartDataPoint[]; /** * Remove outliers using statistical methods */ static removeOutliers(data: ChartDataPoint[], threshold?: number): ChartDataPoint[]; /** * Aggregate data points using various methods */ static aggregateData(data: ChartDataPoint[], method?: 'sum' | 'avg' | 'min' | 'max' | 'count', windowSize?: number): ChartDataPoint[]; /** * Sort data points by specified criteria */ static sortData(data: ChartDataPoint[], sortBy?: 'x' | 'y' | 'value', order?: 'asc' | 'desc'): ChartDataPoint[]; /** * Filter data points using a predicate function */ static filterData(data: ChartDataPoint[], predicate: (point: ChartDataPoint) => boolean): ChartDataPoint[]; /** * Transform data points using a transformation function */ static transformData(data: ChartDataPoint[], transformer: (point: ChartDataPoint) => ChartDataPoint): ChartDataPoint[]; /** * Process data with multiple operations in sequence */ static processData(data: ChartDataPoint[], options: DataProcessingOptions): ChartDataPoint[]; /** * Generate sample data for testing */ static generateSampleData(count?: number, type?: 'linear' | 'sine' | 'random' | 'exponential', range?: [number, number]): ChartDataPoint[]; /** * Calculate statistical measures for data */ static calculateStatistics(data: ChartDataPoint[]): { mean: number; median: number; mode: number[]; variance: number; standardDeviation: number; min: number; max: number; range: number; quartiles: [number, number, number]; }; /** * Detect trends in data */ static detectTrend(data: ChartDataPoint[]): 'increasing' | 'decreasing' | 'stable' | 'volatile'; } export declare const normalizeData: (data: ChartDataPoint[], min?: number, max?: number) => ChartDataPoint[]; export declare const smoothData: (data: ChartDataPoint[], windowSize?: number) => ChartDataPoint[]; export declare const removeOutliers: (data: ChartDataPoint[], threshold?: number) => ChartDataPoint[]; export declare const aggregateData: (data: ChartDataPoint[], method?: "sum" | "avg" | "min" | "max" | "count", windowSize?: number) => ChartDataPoint[]; export declare const sortData: (data: ChartDataPoint[], sortBy?: "x" | "y" | "value", order?: "asc" | "desc") => ChartDataPoint[]; export declare const filterData: (data: ChartDataPoint[], predicate: (point: ChartDataPoint) => boolean) => ChartDataPoint[]; export declare const transformData: (data: ChartDataPoint[], transformer: (point: ChartDataPoint) => ChartDataPoint) => ChartDataPoint[]; export declare const processData: (data: ChartDataPoint[], options: DataProcessingOptions) => ChartDataPoint[]; export declare const generateSampleData: (count?: number, type?: "linear" | "sine" | "random" | "exponential", range?: [number, number]) => ChartDataPoint[]; export declare const calculateStatistics: (data: ChartDataPoint[]) => { mean: number; median: number; mode: number[]; variance: number; standardDeviation: number; min: number; max: number; range: number; quartiles: [number, number, number]; }; export declare const detectTrend: (data: ChartDataPoint[]) => "stable" | "increasing" | "decreasing" | "volatile"; //# sourceMappingURL=ChartDataUtils.d.ts.map