import { OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { DynamicComponentAlertAggregator, WidgetTimeContextDateRangeService } from '@c8y/ngx-components';
import { FormBuilder } from '@angular/forms';
import { aggregationType } from '@c8y/client';
import { TranslateService } from '@ngx-translate/core';
import { ContextDashboardComponent } from '@c8y/ngx-components/context-dashboard';
import { ChartsComponent, DatapointsGraphKPIDetails, DatapointsGraphWidgetConfig, DatapointsGraphWidgetTimeProps, AlarmDetailsExtended, AlarmOrEventExtended, EventDetailsExtended, TimeContextProps } from '@c8y/ngx-components/echart';
import * as i0 from "@angular/core";
export declare class DatapointsGraphWidgetViewComponent implements OnChanges, OnDestroy {
    private formBuilder;
    private translate;
    private widgetTimeContextDateRangeService;
    private dashboardContextComponent;
    events: EventDetailsExtended[];
    alarms: AlarmDetailsExtended[];
    AGGREGATION_ICONS: Record<"undefined" | aggregationType, string>;
    AGGREGATION_TEXTS: Record<"undefined" | aggregationType | "disabled", string>;
    alerts: DynamicComponentAlertAggregator | undefined;
    datapointsOutOfSync: Map<DatapointsGraphKPIDetails, boolean>;
    timeProps: DatapointsGraphWidgetTimeProps | undefined;
    hasAtLeastOneDatapointActive: boolean;
    hasAtLeastOneAlarmActive: boolean;
    timeControlsFormGroup: ReturnType<DatapointsGraphWidgetViewComponent['initForm']>;
    isMarkedAreaEnabled: boolean;
    loadedDatapoints: DatapointsGraphKPIDetails[];
    loadedAlarmsOrEvents: AlarmOrEventExtended[];
    enabledMarkedAreaAlarmType: string | undefined;
    set config(value: DatapointsGraphWidgetConfig);
    get config(): never;
    chartComponent: ChartsComponent;
    displayConfig: DatapointsGraphWidgetConfig | undefined;
    legendHelp: any;
    readonly disableZoomInLabel: "Disable zoom in";
    readonly enableZoomInLabel: "Click to enable zoom, then click and drag on the desired area in the chart.";
    readonly hideDatapointLabel: "Hide data point";
    readonly showDatapointLabel: "Show data point";
    private destroy$;
    constructor(formBuilder: FormBuilder, translate: TranslateService, widgetTimeContextDateRangeService: WidgetTimeContextDateRangeService, dashboardContextComponent: ContextDashboardComponent);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    timePropsChanged(timeProps: TimeContextProps): void;
    updateDashboardTimeContext(timeProps: DatapointsGraphWidgetTimeProps): void;
    updateTimeRangeOnRealtime(timeRange: Pick<DatapointsGraphWidgetConfig, 'dateFrom' | 'dateTo'>): void;
    toggleChart(datapoint: DatapointsGraphKPIDetails): void;
    handleDatapointOutOfSync(dpOutOfSync: DatapointsGraphKPIDetails): void;
    toggleMarkedArea(alarm: AlarmDetailsExtended): void;
    toggleAlarmEventType(alarmOrEvent: AlarmOrEventExtended): void;
    updateAlarmsAndEvents(alarmsEventsConfigs: AlarmOrEventExtended[]): void;
    filterSeverity(eventTarget: any): void;
    private assignContextFromContextDashboard;
    private initForm;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatapointsGraphWidgetViewComponent, [null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatapointsGraphWidgetViewComponent, "c8y-datapoints-graph-widget-view", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=datapoints-graph-widget-view.component.d.ts.map