import { OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { IAlarm, IResultList } from '@c8y/client';
import { AlarmWithChildrenRealtimeService, AlertService, ContextRouteService, ModalService } from '@c8y/ngx-components';
import { AlarmDetails } from '@c8y/ngx-components/alarm-event-selector';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject } from 'rxjs';
import { AlarmsIntervalRefreshComponent } from './alarms-interval-refresh.component';
import { AlarmsViewService } from './alarms-view.service';
import { AlarmListFormFilters } from './alarms.model';
import * as i0 from "@angular/core";
export declare class AlarmsComponent implements OnInit, OnDestroy {
    activatedRoute: ActivatedRoute;
    private alarmsViewService;
    private alarmWithChildrenRealtimeService;
    private alertService;
    private contextRouteService;
    private modalService;
    private translateService;
    private router;
    readonly NEW_REALTIME_ALARM_MESSAGE: "The list was updated, click to refresh.";
    readonly TITLE: "Alarms";
    readonly REFRESH_LABEL: "Refresh";
    alarmIntervalRefreshComponent: AlarmsIntervalRefreshComponent;
    alarms$: BehaviorSubject<IResultList<IAlarm>>;
    contextSourceId: number | string | null;
    /** responsible for showing either realtime button or intervals, based on 'refreshType' key in OptionsService */
    isIntervalRefresh: boolean;
    isLoading$: BehaviorSubject<boolean>;
    isRealtimeActive: BehaviorSubject<boolean>;
    realtimeIconTitle: string;
    shouldShowIntervalToggle$: BehaviorSubject<boolean>;
    isRealtimeToggleOn: boolean;
    typeFilters: AlarmDetails[];
    isDisabled: boolean;
    private destroy$;
    private selectedSeverities;
    private severityOptions;
    private showCleared;
    private readonly WAIT_TIME_AVOID_MULTIPLE_REQUEST_BY_PARAM_CHANGE;
    private selectedDates;
    constructor(activatedRoute: ActivatedRoute, alarmsViewService: AlarmsViewService, alarmWithChildrenRealtimeService: AlarmWithChildrenRealtimeService, alertService: AlertService, contextRouteService: ContextRouteService, modalService: ModalService, translateService: TranslateService, router: Router);
    ngOnInit(): void;
    ngOnDestroy(): void;
    applyTypeFilters(typeFilters: AlarmDetails[]): void;
    applyFormFilters({ severityOptions, showCleared, selectedDates }: AlarmListFormFilters): void;
    applyDateFilter(selectedDates: [Date, Date]): Promise<void>;
    clearAll(): Promise<void>;
    refresh(): void;
    changeInterval(value?: boolean): void;
    toggleRealtimeState(): void;
    private handleLegacyRealtime;
    private clearAlarms;
    private backToRootRoute;
    private getAlarms;
    private updateAlarms;
    private subscribeToRealtimeUpdates;
    private initializeContextSourceId;
    static ɵfac: i0.ɵɵFactoryDeclaration<AlarmsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AlarmsComponent, "c8y-alarms", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=alarms.component.d.ts.map