import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { IAlarm, IResultList } from '@c8y/client';
import { ColorService } from '@c8y/ngx-components';
import { AlarmDetails, AlarmEventSelectorService } from '@c8y/ngx-components/alarm-event-selector';
import * as i0 from "@angular/core";
export declare class AlarmsTypeFilterComponent implements OnInit, OnDestroy, OnChanges {
    private alarmEventSelectorService;
    private activatedRoute;
    private router;
    private colorService;
    alarms: IResultList<IAlarm>;
    possibleFilters: AlarmDetails[];
    activeFilters: AlarmDetails[];
    onFilterChanged: EventEmitter<AlarmDetails[]>;
    customAlarmTypes: AlarmDetails[];
    customAlarmTypeInput: string;
    readonly queryParamName = "typeFilter";
    readonly STORAGE_ACCESS_KEY = "customAlarmTypes";
    private destroy$;
    private currentQueryParam;
    constructor(alarmEventSelectorService: AlarmEventSelectorService, activatedRoute: ActivatedRoute, router: Router, colorService: ColorService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): Promise<void>;
    setQueryParameterObservable(): void;
    ngOnDestroy(): void;
    toggleAlarmType(alarmType: AlarmDetails): void;
    deselect(type: AlarmDetails): void;
    deselectAll(): void;
    applyFilterChange(): void;
    resetFilters(): void;
    removeCustomAlarm(alarmDetails: AlarmDetails): void;
    confirmWithEnter(event: KeyboardEvent): void;
    addCustomAlarmType(): Promise<void>;
    private storeCustomAlarmTypes;
    private getCustomAlarmTypeFromStorage;
    private setPossibleFilters;
    private setActiveAlarmFiltersFromQueryParameter;
    private getQueryParams;
    static ɵfac: i0.ɵɵFactoryDeclaration<AlarmsTypeFilterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AlarmsTypeFilterComponent, "c8y-alarms-type-filter", never, { "alarms": { "alias": "alarms"; "required": false; }; "possibleFilters": { "alias": "possibleFilters"; "required": false; }; "activeFilters": { "alias": "activeFilters"; "required": false; }; }, { "onFilterChanged": "onFilterChanged"; }, never, never, false, never>;
}
//# sourceMappingURL=alarms-type-filter.component.d.ts.map