import { type ScaleBand, type ScaleLinear, type ScaleLogarithmic } from 'd3-scale'; import { MinMax } from '../types/min-max.js'; import { AxisScaleType } from '../types/scales.js'; /** Reverse mapping of pixel coordinates to the Date associated to a band */ export declare function scaleBandInvert(scale: ScaleBand): (mousePosition: number) => string; export declare const getLinearScale: (domainMin: number, domainMax: number, range?: number[], options?: { isMinOrMaxNumber: boolean; }) => ScaleLinear; /** * Simple method to build a Log scale based on params. * * Note: Logarithmic scale has some restrictions, to avoid crashes, boundaries * will be sanitized. * * @param domainMin - * @param domainMax - * @param range - * @param options - */ export declare const getLogScale: (domainMin: number, domainMax: number, range?: number[], options?: { isMinOrMaxNumber: boolean; }) => ScaleLogarithmic; /** * Core method to get a Scale based on boundaries and range. * * @param scale - Scale Type will be defaulted to 'linear' * @param min - domain min * @param max - domain max * @param range - range boundaries [min, max] * @param options - possible set of options that can be passed down to scale functions * - isMinOrMaxNumber: boolean - should be set to true when the min or max has been set an specific number by the user. * @returns configured log | linear scale. */ export declare function getScale(scale: AxisScaleType, { min, max }: MinMax, range?: number[], options?: { isMinOrMaxNumber: boolean; }): ScaleLinear | ScaleLogarithmic;