import { type ScaleLinear } from "d3-scale";
import type { AxisScales, InputFields, MaybeNumber, NonEmptyArray, NumericalFields, PrimitiveViewWindow, SidedNumber, TransformedData, XAxisPropsWithDefaults, YAxisPropsWithDefaults } from "../../types";
export declare const transformHorizontalInputData: <RawData extends Record<string, unknown>, XK extends keyof InputFields<RawData>, YK extends keyof NumericalFields<RawData>>({ data: _data, xKey, yKeys, outputWindow, domain, domainPadding, xAxis, yAxes, viewport, labelRotate, axisScales, }: {
    data: RawData[];
    xKey: XK;
    yKeys: YK[];
    outputWindow: PrimitiveViewWindow;
    domain?: {
        x?: [number] | [number, number];
        y?: [number] | [number, number];
    };
    domainPadding?: SidedNumber;
    xAxis: XAxisPropsWithDefaults<RawData, XK, number>;
    yAxes: YAxisPropsWithDefaults<RawData, YK, InputFields<RawData>[XK]>[];
    viewport?: {
        x?: [number, number];
        y?: [number, number];
    };
    labelRotate?: number;
    axisScales?: AxisScales;
}) => TransformedData<RawData, XK, YK> & {
    xScale: ScaleLinear<number, number>;
    isNumericalData: boolean;
    xTicksNormalized: number[];
    yAxes: NonEmptyArray<{
        yScale: ScaleLinear<number, number>;
        yTicksNormalized: number[];
        yData: Record<string, {
            i: MaybeNumber[];
            o: MaybeNumber[];
        }>;
        maxYLabel: number;
    }>;
};
