import { EventEmitter, OnInit } from '@angular/core';
import { IIdentified } from '@c8y/client';
import { AssetSelectionChangeEvent } from '@c8y/ngx-components/assets-navigator';
import { BehaviorSubject, Observable } from 'rxjs';
import { AlarmOrEvent, OmitSelectorProperties, TimelineType, TimelineTypeTexts } from './alarm-event-selector.model';
import { AlarmEventSelectorService } from './alarm-event-selector.service';
import * as i0 from "@angular/core";
export declare class AlarmEventSelectorComponent implements OnInit {
    private alarmEventSelectorService;
    timelineType: TimelineType;
    contextAsset: IIdentified;
    allowChangingContext: boolean;
    selectedItems: AlarmOrEvent[];
    allowSearch: boolean;
    groupsSelectable: boolean;
    hideSource: boolean;
    omitProperties: OmitSelectorProperties;
    selectionChange: EventEmitter<AlarmOrEvent[]>;
    filterString: string;
    maxNumberOfItems: number;
    loadingItems$: BehaviorSubject<boolean>;
    assetSelection: BehaviorSubject<IIdentified>;
    items$: Observable<AlarmOrEvent[]>;
    filteredItems$: Observable<AlarmOrEvent[]>;
    filterStringChanges$: Observable<string>;
    timelineTypeTexts: TimelineTypeTexts;
    isExpanded: boolean;
    defaultColor: string;
    private filterString$;
    constructor(alarmEventSelectorService: AlarmEventSelectorService);
    ngOnInit(): void;
    itemAdded(item: AlarmOrEvent): void;
    itemRemoved(alarm: AlarmOrEvent): void;
    assetSelectionChanged(evt: AssetSelectionChangeEvent): void;
    trackByFn(_index: number, item: AlarmOrEvent): string;
    filterStringChanged(newValue?: string): void;
    private setLoadingState;
    private setupObservables;
    private selectAsset;
    private emitCurrentSelection;
    private includesFilterString;
    static ɵfac: i0.ɵɵFactoryDeclaration<AlarmEventSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AlarmEventSelectorComponent, "c8y-alarm-event-selector", never, { "timelineType": { "alias": "timelineType"; "required": false; }; "contextAsset": { "alias": "contextAsset"; "required": false; }; "allowChangingContext": { "alias": "allowChangingContext"; "required": false; }; "selectedItems": { "alias": "selectedItems"; "required": false; }; "allowSearch": { "alias": "allowSearch"; "required": false; }; "groupsSelectable": { "alias": "groupsSelectable"; "required": false; }; "hideSource": { "alias": "hideSource"; "required": false; }; "omitProperties": { "alias": "omitProperties"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
}
//# sourceMappingURL=alarm-event-selector.component.d.ts.map