import { Serie } from './LineTimeSerieChart.types';
type ChartDataInput = {
    series: Serie[] | {
        above: Serie[] | undefined;
        below: Serie[] | undefined;
    } | undefined;
    startingTimeStamp: number;
    duration: number;
    interval: number;
    yAxisType: 'default' | 'percentage' | 'symmetrical';
    unitRange?: {
        threshold: number;
        label: string;
    }[];
};
export type LineToRender = {
    key: string;
    dataKey: string;
    stroke: string;
    strokeDasharray?: string;
};
type ChartDataOutput = {
    /** Processed data ready for Recharts */
    rechartsData: Record<string, number | null>[];
    /** Maximum value for Y-axis domain */
    topDomain: number;
    /** Value used for tick calculation */
    topValue: number;
    /** Unit label (e.g., "KiB/s", "%") */
    unitLabel: string | undefined;
    /** X-axis tick positions */
    xAxisTicks: number[];
    /** Line configurations ready for rendering */
    linesToRender: LineToRender[];
    /** Set of labels belonging to "below" series (for symmetrical charts) */
    belowSeriesLabels: Set<string> | undefined;
};
/**
 * Hook that processes chart data for LineTimeSerieChart.
 * Handles data normalization, unit scaling, empty data handling, and series grouping.
 */
export declare function useChartData({ series, startingTimeStamp, duration, interval, yAxisType, unitRange, }: ChartDataInput): ChartDataOutput;
export {};
//# sourceMappingURL=useChartData.d.ts.map