import { ChartData, NormalizedChartData, NormalizedChartDataBase, Orientation } from "./types.js";

//#region src/react/charts/normalize.d.ts

/**
 * Normalizes chart data from either Arrow or JSON format.
 * Converts BigInt and Date values to chart-compatible types.
 */
declare function normalizeChartData(data: ChartData, xKey?: string, yKey?: string | string[], orientation?: Orientation): NormalizedChartData;
/**
 * Normalized data for heatmap charts.
 * Extends base (not NormalizedChartData) because heatmaps don't use yDataMap.
 * Instead, they use heatmapData which contains [xIndex, yIndex, value] tuples.
 */
interface NormalizedHeatmapData extends NormalizedChartDataBase {
  /** Y-axis categories (rows) */
  yAxisData: (string | number)[];
  /** Heatmap data as [xIndex, yIndex, value] tuples */
  heatmapData: [number, number, number][];
  /** Min value in the data */
  min: number;
  /** Max value in the data */
  max: number;
}
/**
 * Normalizes data specifically for heatmap charts.
 * Expects data in format: `{ xKey: string, yAxisKey: string, valueKey: number }`
 *
 * @param data - Raw data (Arrow Table or JSON array)
 * @param xKey - Field key for X-axis (columns)
 * @param yAxisKey - Field key for Y-axis (rows)
 * @param valueKey - Field key for the cell values
 */
declare function normalizeHeatmapData(data: ChartData, xKey?: string, yAxisKey?: string, valueKey?: string | string[]): NormalizedHeatmapData;
//#endregion
export { NormalizedHeatmapData, normalizeChartData, normalizeHeatmapData };
//# sourceMappingURL=normalize.d.ts.map