import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { ChartData, FusionChartPieData } from './entities/chart-data'; import { ChartLabel } from './entities/chart-label'; import { ChartDataset } from './entities/chart-dataset'; import { CurrencyPipe, DatePipe, DecimalPipe, PercentPipe } from '@angular/common'; import { UniqueIdService } from '@ironsource/fusion-ui/services/unique-id'; import { ChartDataService } from './chart.service'; import { ColorsService } from '@ironsource/fusion-ui/services/colors'; import { ShortNumberScaleSuffixPipe } from '@ironsource/fusion-ui/pipes/numbers'; import { ChartBaseDatasetOptions } from './entities/chart-options'; import { ChartType } from './entities/chart-type.enum'; import { ClonePipe } from '@ironsource/fusion-ui/pipes/clone'; import { Chart, ChartData as ChartJsData, ChartOptions as ChartJsOptions } from 'chart.js'; import * as i0 from "@angular/core"; export declare abstract class ChartBaseComponent implements OnInit, OnDestroy, OnChanges { protected datePipe: DatePipe; protected currencyPipe: CurrencyPipe; protected decimalPipe: DecimalPipe; protected percentPipe: PercentPipe; protected numberToStringPipe: ShortNumberScaleSuffixPipe; protected uniqueIdService: UniqueIdService; protected dataParseService: ChartDataService; protected colorsService: ColorsService; protected elemRef: ElementRef; protected clonePipe: ClonePipe; /** @internal */ id: string; /** @internal */ type: ChartType; set data(value: ChartData | FusionChartPieData); /** @internal */ set options(value: {}); /** @internal */ get options(): any; chartSubject: string; loading: boolean; noData: boolean; afterDatasetInit: EventEmitter; /** @internal */ pieDataSum: number; /** @internal */ pieSumLabel: string; /** @internal */ componentVersion: number; private _options; protected _data: ChartData | FusionChartPieData; protected ctx: HTMLCanvasElement; protected canvasContent: CanvasRenderingContext2D; protected chart: Chart; protected chartData: ChartJsData; protected chartOptions: ChartJsOptions; protected maxVal: number; protected isStacked: boolean; protected yAxesFormat: string; private legends; private barWidth; private originalBarData; private originalLabels; constructor(datePipe: DatePipe, currencyPipe: CurrencyPipe, decimalPipe: DecimalPipe, percentPipe: PercentPipe, numberToStringPipe: ShortNumberScaleSuffixPipe, uniqueIdService: UniqueIdService, dataParseService: ChartDataService, colorsService: ColorsService, elemRef: ElementRef, clonePipe: ClonePipe); ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; private setChart; /** @internal */ toggleDataset(label: ChartLabel, recalculateYMax?: boolean): void; private filterBarData; private getLabelIndex; private toggleLineDataset; /** @internal */ highlightDataset(label: ChartLabel): void; private setChartUnHoveredBGColor; private setChartHoveredBGColor; /** @internal */ addDatasetStyleOptions(isLastDotted?: boolean): void; protected getColors(): string[]; private addDatasetLineStyleOptions; private addDatasetBarStyleOptions; private addDatasetPieStyleOptions; private getDisplayFormat; protected getDataSetOptionsByStyleVersion(versionNumber?: number): ChartBaseDatasetOptions; protected getChartOptionsByStyleVersion(versionNumber?: number): any; private applyOptions; private deepMerge; private getChartOptions; protected setLineChartOptions(options: any): void; private setBarChartOptions; private trimAxisXLabel; private setPieChartOptions; private isLastDotted; private filterTooltip; private getTooltipLabel; private calculateTotals; private getBeforeTitle; private getTooltipDateTitle; private renderChart; protected calcYAxes(yAxe: any): void; protected getFormatted(value: number, format?: string): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }