import type { ScaleLinear, ScaleSymLog } from 'd3-scale'; import { MinMaxConfig } from '../../core/types/min-max-config.js'; import { AxisScaleType } from '../../core/types/scales.js'; import { TimeseriesUnit } from '../../core/types/timeseries.js'; import { YAxisScales } from '../types/state.js'; import { TimeseriesChartYAxisConfig } from '../types/timeseries-config.js'; import { WeakMapSeries, WeakMapDatapoints, TimeseriesPerVariant } from '../types/timeseries.js'; export interface ScaleMetadata { min?: number; max?: number; unit?: TimeseriesUnit; } /** * Finds the y-scale based on the series unit. * * @param seriesUnit - * @param yScales - * @returns */ export declare function getYScaleByUnit(seriesUnit: TimeseriesUnit, yScales: YAxisScales): ScaleLinear | ScaleSymLog; /** * Finds the y-scale type based on the series unit. * * @param seriesUnit - * @param yScales - * @param axisScaleType - * @returns */ export declare function getYScaleTypeByUnit(seriesUnit: TimeseriesUnit, yScales: YAxisScales, axisScaleType: TimeseriesChartYAxisConfig): AxisScaleType; /** * Based on configuration assign boundaries to left and/or right axis * * @param leftConfigMinMax - * @param rightConfigMinMax - * @param firstUnitBoundaries - * @param secondUnitBoundaries - */ export declare const assignBoundariesToYAxes: (leftConfigMinMax: Partial | undefined, rightConfigMinMax: Partial | undefined, firstUnitBoundaries: ScaleMetadata | undefined, secondUnitBoundaries: ScaleMetadata | undefined) => { rightUnitBoundaries: ScaleMetadata | undefined; leftUnitBoundaries?: undefined; } | { leftUnitBoundaries: ScaleMetadata | undefined; rightUnitBoundaries?: undefined; } | { leftUnitBoundaries: ScaleMetadata | undefined; rightUnitBoundaries: ScaleMetadata; }; /** * Builds 2 scales if needed and assign them to left and/or right axis based in * configuration given by the user. * * @param timeseries - * @param config - * @param height - * @param seriesMap - * @param datapointsMap - */ export declare const buildYScales: (timeseries: TimeseriesPerVariant, config: TimeseriesChartYAxisConfig, height: number, seriesMap: WeakMapSeries, datapointsMap: WeakMapDatapoints) => YAxisScales;