import type { Range, Scale } from 'uplot';
import type { ScaleProps } from '../config/types';
import type { Threshold } from '../hooks/types';
import type { LogScaleLimits, RangeFunctionParams } from './types';
import { DistributionType } from '../config/types';
export declare function normalizeLogScaleLimits({ distr, logBase, limits, }: {
    distr?: DistributionType;
    logBase: number;
    limits: LogScaleLimits;
}): LogScaleLimits;
export declare function getDistributionConfig({ time, distr, logBase, }: {
    time: ScaleProps['time'];
    distr?: DistributionType;
    logBase?: number;
}): Partial<Scale>;
export declare function getRangeConfig(min: number | null, max: number | null, softMin: number | null, softMax: number | null, padMinBy: number, padMaxBy: number): {
    rangeConfig: Range.Config;
    hardMinOnly: boolean;
    hardMaxOnly: boolean;
    hasFixedRange: boolean;
};
export declare function createRangeFunction(params: RangeFunctionParams): Range.Function;
export declare function adjustSoftLimitsWithThresholds(softMin: number | null, softMax: number | null, thresholds?: Threshold[], yAxisUnit?: string): {
    softMin: number | null;
    softMax: number | null;
};
