import { AlarmService, EventService, IAlarm, IEvent, IIdentified } from '@c8y/client';
import { ColorService } from '@c8y/ngx-components';
import { AlarmDetails, AlarmOrEvent, EventDetails, TimelineType, TimelineTypeTexts } from './alarm-event-selector.model';
import * as i0 from "@angular/core";
export declare class AlarmEventSelectorService {
    private alarmService;
    private eventsService;
    private color;
    private timelineTypeTextsMap;
    constructor(alarmService: AlarmService, eventsService: EventService, color: ColorService);
    /**
     * This method returns the texts for the timeline type.
     * @param timelineType The timeline type.
     * @returns The texts for the timeline type.
     */
    timelineTypeTexts(timelineType: TimelineType): TimelineTypeTexts;
    /**
     * This method returns all alarms or events of the platform based on the timeline type
     * @param timelineType The timeline type.
     * @returns The alarms or events of the asset.
     */
    getItems(timelineType: TimelineType): Promise<AlarmOrEvent[]>;
    /**
     * This method returns the items of the asset based on the timeline type.
     * @param parentReference The parent reference.
     * @param timelineType The timeline type.
     * @returns The alarms or events of the asset.
     */
    getAlarmsOrEvents(parentReference: IIdentified, timelineType: TimelineType): Promise<AlarmOrEvent[]>;
    getUniqueAlarmsOnly(data: IAlarm[]): Promise<AlarmDetails[]>;
    getUniqueEventsOnly(data: IEvent[]): Promise<EventDetails[]>;
    createItem(timelineType: 'ALARM' & TimelineType, item: IAlarm): Promise<AlarmDetails>;
    createItem(timelineType: 'EVENT' & TimelineType, item: IEvent): Promise<EventDetails>;
    private getAlarmsOfAsset;
    private getEventsOfAsset;
    static ɵfac: i0.ɵɵFactoryDeclaration<AlarmEventSelectorService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AlarmEventSelectorService>;
}
//# sourceMappingURL=alarm-event-selector.service.d.ts.map