import type { ChartValue, ResolvedScale } from './types.js'; export interface LayoutSourceRow { readonly datum: TDatum; readonly sourceIndex: number; } export interface LayoutXYSourceRow extends LayoutSourceRow { readonly xValue: TXValue; readonly yValue: TYValue; } export interface ResolvedLayoutX { readonly xValue: TValue; readonly x: number; } export interface ResolvedLayoutY { readonly yValue: TValue; readonly y: number; } /** Materializes only complete positional pairs so one invalid axis cannot domain the other. */ export declare function materializeLayoutXYRows(data: readonly TDatum[], xValues: readonly (TXValue | null | undefined)[], yValues: readonly (TYValue | null | undefined)[]): readonly LayoutXYSourceRow[]; export declare function projectLayoutX, TValue extends ChartValue>(rows: readonly TRow[], values: readonly (TValue | null | undefined)[], scale: ResolvedScale): readonly (TRow & ResolvedLayoutX)[]; export declare function projectLayoutY, TValue extends ChartValue>(rows: readonly TRow[], values: readonly (TValue | null | undefined)[], scale: ResolvedScale): readonly (TRow & ResolvedLayoutY)[];