import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs';
import { ChartInputMutli, ChartInputStreamVar } from '../ChartDataModel';
import { AbstractVariable } from '@iotize/tap/data';
import { AlertController } from '@ionic/angular';
import * as shape from 'd3-shape';
import { LegendPosition, LineChartComponent } from '@swimlane/ngx-charts';
import * as i0 from "@angular/core";
interface SerieItem {
    name: string | Date;
    value: number;
}
export interface ChartInputData {
    name: string;
    series?: SerieItem[];
}
export interface ChartInputStream {
    stream: Observable<number>;
    label: string;
}
export declare class TapVariableLineChartComponent extends LineChartComponent implements OnDestroy {
    alertController: AlertController;
    id?: KeyType;
    lineChart: LineChartComponent;
    colorScheme: {
        domain: string[];
    };
    curves: {
        basis: shape.CurveFactory;
        basisClosed: shape.CurveFactory;
        bundle: shape.CurveBundleFactory;
        cardinal: shape.CurveCardinalFactory;
        cardinalClosed: shape.CurveCardinalFactory;
        catmullRom: shape.CurveCatmullRomFactory;
        catmullRomClosed: shape.CurveCatmullRomFactory;
        Linear: shape.CurveFactory;
        'Linear Closed': shape.CurveFactory;
        monotoneX: shape.CurveFactory;
        'Monotone Y': shape.CurveFactory;
        Natural: shape.CurveFactory;
        Step: shape.CurveFactory;
        'Step After': shape.CurveFactory;
        'Step Before': shape.CurveFactory;
        default: shape.CurveFactory;
    };
    showExportButton: boolean;
    exportedFileName?: string;
    linearCurve: shape.CurveFactory;
    legendPosition: LegendPosition;
    showLegend: boolean;
    xAxis: boolean;
    yAxis: boolean;
    yAxisLabel: string;
    xAxisLabel: string;
    showYAxisLabel: boolean;
    showXAxisLabel: boolean;
    timeline: boolean;
    autoScale: boolean;
    xAxisTickFormatting: (input: any) => string;
    history: boolean;
    valueCountLimit: number | undefined;
    set label(indexOrArray: string | string[] | undefined | Function);
    set variable(variableOrArray: AbstractVariable<number | number[]> | AbstractVariable<number | number[]>[] | undefined);
    set input(inputs: ChartInputStreamVar[]);
    results: ChartInputMutli[];
    private subscription?;
    private multiple?;
    private chartModel;
    constructor(myChartElement: ElementRef, zone: NgZone, cd: ChangeDetectorRef, platformId: string, alertController: AlertController);
    createExportedData(): any[];
    defaultDateTickFormatting(val: any): string;
    onSelect(event: any): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TapVariableLineChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TapVariableLineChartComponent, "tap-variable-line-chart", never, { "colorScheme": "colorScheme"; "showExportButton": "showExportButton"; "exportedFileName": "exportedFileName"; "linearCurve": "linearCurve"; "legendPosition": "legendPosition"; "showLegend": "showLegend"; "xAxis": "xAxis"; "yAxis": "yAxis"; "yAxisLabel": "yAxisLabel"; "xAxisLabel": "xAxisLabel"; "showYAxisLabel": "showYAxisLabel"; "showXAxisLabel": "showXAxisLabel"; "timeline": "timeline"; "autoScale": "autoScale"; "xAxisTickFormatting": "xAxisTickFormatting"; "history": "history"; "valueCountLimit": "valueCountLimit"; "label": "label"; "variable": "variable"; "input": "input"; }, {}, never, never>;
}
export {};
