import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { TaskManager, TaskManagerService } from '../task-manager.service';
export declare class TaskManagerActionCancelDirective implements AfterViewInit {
    readonly elementRef: ElementRef;
    private readonly renderer;
    onClick: EventEmitter<void>;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    ngAfterViewInit(): void;
    onClickListener(): void;
}
export declare class TaskManagerActionExecDirective implements AfterViewInit {
    onClick: EventEmitter<void>;
    constructor();
    ngAfterViewInit(): void;
    onClickListener(): void;
}
export declare class TaskManagerRunningComponent implements OnInit {
    taskManager: TaskManagerService;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    _implicitContent: TemplateRef<any>;
    context: any;
    constructor(taskManager: TaskManagerService);
    ngOnInit(): void;
}
export declare class TaskManagerDelayedComponent implements OnInit {
    taskManager: TaskManagerService;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    _implicitContent: TemplateRef<any>;
    context: any;
    constructor(taskManager: TaskManagerService);
    ngOnInit(): void;
    cancelTask(): void;
}
export declare class TaskManagerActionComponent implements OnInit, AfterViewInit {
    taskManager: TaskManagerService;
    context: any;
    /** Template inside the MatTab view that contains an `<ng-content>`. */
    _implicitContent: TemplateRef<any>;
    constructor(taskManager: TaskManagerService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    performTask(): void;
}
export declare class TaskManagerComponent implements OnInit, 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;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    cancelTask(): void;
    explainDelayReason(): "Waiting for user login" | "Waiting for Tap reconnection" | "Unknown reason" | undefined;
    execTask(context?: any): void;
}
