import { BaseType, Selection } from 'd3-selection'; import { ChartAxis } from './axis'; import { ChartGridConfig } from './grid.builder'; import { ChartConfig, ChartData } from './chart.model'; import { ChartColorService } from './color.service'; import { ElementRef } from '@angular/core'; import { ChartTransition } from './transition'; import { ChartTooltip } from './tooltip'; export declare class QmsChart { axisBuilder: ChartAxis; gridBuilder: ChartGridConfig; transitionService: ChartTransition; tooltipBuilder: ChartTooltip; colorService: ChartColorService; margin: { top: number; right: number; bottom: number; left: number; }; svg: Selection; width: number; height: number; colors: string[]; startData: any[]; endData: any[]; constructor(axisBuilder: ChartAxis, gridBuilder: ChartGridConfig, transitionService: ChartTransition, tooltipBuilder: ChartTooltip, colorService: ChartColorService); /** * @param chartElm Reference to SVG on dom * @param config Chart specific configuration */ initializeChartState(chartElm: ElementRef, config: ChartConfig): void; /** * @param chartElm Reference to SVG on dom * @param center Are we pinning x,y to the top,left, or are we centering our drawing group inside the SVG. */ buildContainer(chartElm: ElementRef, center?: boolean): void; /** * @param chartElm Reference to SVG on dom * @param data Generic multi-dimensional ChartData structure * @param yScale D3 scale transformation object (d3.ScaleBand) */ setHorizontalMarginsBasedOnContent(chartElm: ElementRef, data: ChartData[], yScale: any): void; }