import { UnitConversionService, UnitOption } from "@nova-ui/bits";
import { IScale } from "@nova-ui/charts";
import { ITimeseriesScaleConfig, ITimeseriesWidgetConfig } from "./types";
import * as i0 from "@angular/core";
/**
 * This service handles scale creation and configuration for the timeseries widget
 */
export declare class TimeseriesScalesService {
    private unitConversionService;
    private unitConversionPipe;
    constructor(unitConversionService: UnitConversionService);
    /**
     * Creates a scale based on given configuration
     *
     * @param scaleConfig
     */
    getScale(scaleConfig: ITimeseriesScaleConfig, units: UnitOption, widgetConfig?: ITimeseriesWidgetConfig): IScale<any>;
    /**
     * Currently only TimeIntervalScale has configuration
     *
     * @param scale
     * @param scaleConfig
     */
    updateConfiguration(scale: IScale<any>, scaleConfig: ITimeseriesScaleConfig, widgetConfig?: ITimeseriesWidgetConfig): void;
    private getStackedBarScaleDomain;
    private getLineScaleDomain;
    private getStackedAreaScaleDomain;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimeseriesScalesService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TimeseriesScalesService>;
}
