import * as d3 from 'd3';
import { ViewBox } from '../models/viewbox.interface';
export declare enum AxisDirection {
    top = "top",
    right = "right",
    bottom = "bottom",
    left = "left"
}
export declare class D3Service {
    constructor();
    translate(x: number, y: number): string;
    factoryAxis(scale: any, direction: AxisDirection): any;
    factoryLine(): any;
    scaleLinearX(labels: any[], width: number): d3.ScaleLinear<number, number>;
    scaleLinearY(data: any[], height: number): d3.ScaleLinear<number, number>;
    scaleBandX(labels: any[], width: number): d3.ScaleBand<string>;
    scaleLinearYRangeRound(data: any[], height: number): d3.ScaleLinear<number, number>;
    addLabelAxisY(svg: d3.Selection<SVGGElement, unknown, null, undefined>, height: number, options: any): void;
    addLabelAxisX(svg: d3.Selection<SVGGElement, unknown, null, undefined>, width: number, height: number, options: any): void;
    getViewBoxDefault(options: any): ViewBox;
    removeAxisTicks(axis: d3.Selection<SVGGElement, unknown, null, undefined>): void;
    changeAxisColor(axis: d3.Selection<SVGGElement, unknown, null, undefined>, config: any): void;
    getXaxisTime(svg: d3.Selection<SVGGElement, unknown, null, undefined>, height: number, x: d3.ScaleTime<number, number>, timeFormat: string, xAxisTicks: number): d3.Selection<SVGGElement, unknown, null, undefined>;
    hideTooltip(tooltipText: any, tooltip: any): void;
    showTooltip(d: any, xScale: any, yScale: any, tooltip: any, tooltipRect: any, tooltipText: any, formatTime: any): void;
    addTooltip(container: any): {
        tooltip: d3.Selection<SVGGElement, unknown, null, undefined>;
        tooltipRect: d3.Selection<SVGRectElement, unknown, null, undefined>;
        tooltipText: d3.Selection<SVGTextElement, unknown, null, undefined>;
        tooltipConfig: {
            width: number;
            height: number;
            fill: string;
            opacity: number;
            rx: number;
            text: {
                translateX: number;
                translateY: number;
            };
        };
    };
}
