import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { TaskManager, TaskManagerService } from '../task-manager.service';
import * as i0 from "@angular/core";
export declare class TaskManagerActionCancelDirective {
    readonly elementRef: ElementRef;
    onClick: EventEmitter<void>;
    constructor(elementRef: ElementRef);
    onClickListener(): void;
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerActionCancelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<TaskManagerActionCancelDirective, "[app-task-manager-action-cancel]", never, {}, { "onClick": "onClick"; }, never>;
}
export declare class TaskManagerActionExecDirective {
    onClick: EventEmitter<void>;
    constructor();
    onClickListener(): void;
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerActionExecDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<TaskManagerActionExecDirective, "[app-task-manager-action-exec]", never, {}, { "onClick": "onClick"; }, never>;
}
export declare class TaskManagerRunningComponent {
    taskManager: TaskManagerService;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    context: any;
    constructor(taskManager: TaskManagerService);
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerRunningComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<TaskManagerRunningComponent, "app-task-manager-running", never, { "context": "context"; }, {}, never, ["*"]>;
}
export declare class TaskManagerDelayedComponent {
    taskManager: TaskManagerService;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    context: any;
    constructor(taskManager: TaskManagerService);
    cancelTask(): void;
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerDelayedComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<TaskManagerDelayedComponent, "app-task-manager-delayed", never, { "context": "context"; }, {}, never, ["*"]>;
}
export declare class TaskManagerActionComponent {
    taskManager: TaskManagerService;
    context: any;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    constructor(taskManager: TaskManagerService);
    performTask(): void;
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerActionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<TaskManagerActionComponent, "app-task-manager-action", never, { "context": "context"; }, {}, never, ["*"]>;
}
export declare class TaskManagerComponent implements AfterViewInit, OnDestroy {
    taskManager: TaskManagerService;
    taskContainer?: TaskManager.TaskContainer;
    set task(taskContainerOrString: TaskManager.TaskContainer | string);
    get taskId(): string | undefined;
    cancelDirective?: TaskManagerActionCancelDirective;
    execDirective?: TaskManagerActionCancelDirective;
    constructor(taskManager: TaskManagerService);
    get loading(): boolean;
    get taskState(): "running" | "done" | "pending" | "delayed" | undefined;
    get actionTemplateContext(): {
        $implicit: any;
    };
    get delayedTemplateContext(): {
        $implicit: any;
    };
    private _createContext;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    cancelTask(): void;
    explainDelayReason(): "Waiting for user login" | "Waiting for Tap reconnection" | "Unknown reason" | undefined;
    execTask(context?: any): void;
    static ɵfac: i0.ɵɵFactoryDef<TaskManagerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<TaskManagerComponent, "app-task-manager", never, { "task": "task"; }, {}, ["cancelDirective", "execDirective"], ["app-task-manager-delayed", "app-task-manager-running", "app-task-manager-action"]>;
}
