import { ElementRef, OnInit } from '@angular/core';
import { Subject } from 'rxjs';
import { Axis } from '../shared/models/axis.interface';
import { GraphOptions } from '../shared/models/graph-options.interface';
import { ViewBox } from '../shared/models/viewbox.interface';
import { D3Service } from '../shared/services/d3.service';
export interface Bar {
    labels: any[];
    data: any[];
    options?: any;
}
interface BarData {
    label: string;
    values: any[];
}
export interface BarD3 {
    xAxis: Axis[];
    yAxis: Axis[];
    xAxisPath: string;
    yAxisPath: string;
    rectanglesData: Rectangle[];
}
export interface Rectangle {
    x: number;
    y: number;
    height: number;
    width: number;
}
interface LabelsAndData {
    x: any;
    y: any;
}
export interface BarOptions extends GraphOptions {
    gridTicks?: number;
}
export declare class BarComponent implements OnInit {
    private container;
    private d3Service;
    data: BarData[];
    labels: any[];
    options?: BarOptions;
    graph: BarD3;
    labelsAndData: LabelsAndData[];
    parseTime: (dateString: string) => Date;
    private _options;
    viewBox: ViewBox;
    onResize$: Subject<void>;
    onResize(): void;
    constructor(container: ElementRef, d3Service: D3Service);
    ngOnInit(): void;
    private render;
    private changeAxisColor;
    private removeAxisTicks;
    private addLabelAxisY;
    private addLabelAxisX;
    private combineLabelsDataToOne;
    private make_x_gridlines;
    private make_y_gridlines;
    onResizeEvent(): void;
}
export {};
