import { ChangeDetectorRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList } from '@angular/core';
import { CoreBaseComponent } from '../../common/base.component';
import { LegendEntryData } from '../../legend/legend-entry/legend-entry.component';
import { PivotTabComponent } from '../../pivot/pivot-tab.component';
import { LineChartComponent, LineChartData } from '../line-chart.component';
import * as i0 from "@angular/core";
export declare class TabbedLineChartGroupComponent extends CoreBaseComponent implements OnInit, OnDestroy {
    private changeDetectorRef;
    protected get logSourceName(): string;
    lineChartComponents: QueryList<LineChartComponent>;
    groupData: Map<string, LineChartData>[];
    tabList: string[];
    noLeftMargin: boolean;
    groupTitle: string;
    /**
     * Currently support 1, 2, and 3 charts per row
     * Default is 3 charts.
     * Chart layout will scale automatically according to width of parent element
     */
    chartsPerRow: number;
    loadingWheels?: boolean;
    loadingMessage?: string;
    useCustomSettings?: boolean;
    chartLegendData: LegendEntryData[][];
    /**
     * Array of functions to apply to each chart in turn. Functions will modify tooltip data value for pretty printing
     */
    tooltipFormatters?: Function[];
    /**
     * The minimum chart width you want to allow for scaling purposes,
     * If not specified, this is 420
     */
    minChartWidth: number;
    /**
     * The max chart width you want to allow for scaling purposes.
     * If not specified, this is 840
     */
    maxChartWidth: number;
    /**
     * @deprecated since 9/25/2019. Please use 'tabClicked' instead
     */
    get onTabClick(): EventEmitter<number>;
    tabClicked: EventEmitter<number>;
    tabGroupWidth: string;
    selectedTab: string;
    maxNumber: number;
    chartPadding: number;
    constructor(injector: Injector, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    /**
     * Set selected tab and emit this event
     */
    tabChanged(tab: PivotTabComponent): void;
    /**
     * Refresh all of the charts when new data is added to lineChartData input
     */
    refresh(): void;
    /**
     * Get line chart data for selected tab
     */
    getLineChartData(tabChartData: any): LineChartData;
    /**
     * Returns the title of the current chart to track adn reuse  the chart object
     * @param index the index of the item
     * @param item the item
     */
    trackByTitle(index: any, item: any): any;
    /**
     * Check whether the LineChartData.isLoading for that tab is set to  true or false
     */
    dataIsLoading(tabChartData: any): boolean;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabbedLineChartGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabbedLineChartGroupComponent, "sme-tabbed-line-chart-group", never, { "groupData": "groupData"; "tabList": "tabList"; "noLeftMargin": "noLeftMargin"; "groupTitle": "groupTitle"; "chartsPerRow": "chartsPerRow"; "loadingWheels": "loadingWheels"; "loadingMessage": "loadingMessage"; "useCustomSettings": "useCustomSettings"; "chartLegendData": "chartLegendData"; "tooltipFormatters": "tooltipFormatters"; "minChartWidth": "minChartWidth"; "maxChartWidth": "maxChartWidth"; }, { "onTabClick": "onTabClick"; "tabClicked": "tabClicked"; }, never, never, false, never>;
}
