import type { XYAxisTypeLinear, XYAxisTypeCategorical, XYAxisTypeTime, XYAxisTypeLog } from './axis.js'; import * as Guards from './guards.js'; export type ScaleTypesMap = { [XYAxisTypeLinear]: { dotScale: Guards.DotScaleLinear; rectScale: Guards.RectScaleLinear; castDataType: number | undefined; tooltip: Guards.TooltipNumerical; hoveringPoint: Guards.NumericalHoveringPoint; }; [XYAxisTypeLog]: { dotScale: Guards.DotScaleLog; rectScale: Guards.RectScaleLog; castDataType: number | undefined; tooltip: Guards.TooltipNumerical; hoveringPoint: Guards.NumericalHoveringPoint; }; [XYAxisTypeTime]: { dotScale: Guards.DotScaleTime; rectScale: Guards.RectScaleTime; castDataType: Date | undefined; tooltip: Guards.TooltipTime; hoveringPoint: Guards.TimeHoveringPoint; }; [XYAxisTypeCategorical]: { dotScale: Guards.DotScaleBand; rectScale: Guards.RectScaleBand; castDataType: string | undefined; tooltip: Guards.TooltipCategorical; hoveringPoint: Guards.CategoricalHoveringPoint; }; }; export type ScaleTypes = keyof ScaleTypesMap;