import type { ScaleBand } from 'd3-scale'; import { CategoricalBarData, Dimension, WeakMapCategory, WeakMapDimension } from '../types/categorical-bar-chart-data.js'; import { GroupMode, type CategoricalValueScales } from '../types/categorical-bar-chart.js'; export type BarPlotCoordinates = { valueCoord: (dimension: Dimension) => number; categoryCoord: (dimension: Dimension, category: CategoricalBarData) => number; barSize: (dimension: Dimension) => number; barThickness: (dimension: Dimension) => number; }; /** * Get the top bar value coordinate * @param dimension - dimension * @param valueScale - value scale * @param dimensionMap - */ export declare function getTopValueCoord(dimension: Dimension, valueScale: CategoricalValueScales, dimensionMap: WeakMapDimension): number; /** * Get bar size base on valueScale * * @internal * @param value - value of current dimension * @param valueScale - value scale */ export declare function getBarSize(value: number, valueScale: CategoricalValueScales): number; /** * Calculates the bar coordinate base on current dimension and the categoryScale. will consider if is Stacked or Grouped. * @param groupMode - group mode * @param categoryScale - category scale * @param valueScale - value scale * @param dimensionsScale - dimensions scale * @param isSingleDimension - is single dimension * @param dimensionMap - dimensions Map * @param categoryMap - category Map */ export declare function getBarCoordinates(groupMode: GroupMode, categoryScale: ScaleBand, valueScale: CategoricalValueScales, dimensionsScale: ScaleBand, isSingleDimension: boolean, dimensionMap: WeakMapDimension, categoryMap: WeakMapCategory): BarPlotCoordinates;