import { LoggerService } from '../../logger/services/logger.service';
import { QueuedEvent } from '../model/queued-event';
import { LoadingEmitter } from '../../utility/loading-emitter';
import { CallChainService } from '../../utility/call-chain/call-chain.service';
import * as i0 from "@angular/core";
/**
 * This service handles the queuing and execution of task related events (assign, finish, cancel, delegate, setData and getData)
 */
export declare class EventQueueService {
    protected _log: LoggerService;
    protected _afterActionService: CallChainService;
    protected _queue: Array<QueuedEvent>;
    protected _performingEvent: LoadingEmitter;
    constructor(_log: LoggerService, _afterActionService: CallChainService);
    /**
     * Schedules the execution of the provided event
     * @param event
     */
    scheduleEvent(event: QueuedEvent): void;
    protected executeEvent(event: QueuedEvent): void;
    protected executeNextEventFromQueue(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EventQueueService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<EventQueueService>;
}
