export interface ProgressEvent {
    currentItem: number;
    totalItems: number;
    currentStep: string;
}
export declare class ProgressNotifier {
    finishOne(): void;
    startOne(desc: string, subparts: number): ProgressNotifier | null;
    setTotal(total: number): void;
    addMessage(severity: MessageSeverity, message: string, priority?: boolean): void;
    addError(message: string, priority?: boolean): void;
    addInfo(message: string, priority?: boolean): void;
    addWarning(message: string, priority?: boolean): void;
    fatalError(message: string): void;
    updateDescription(desc: string): void;
    readonly hasErrors: boolean;
}
export declare class TaskProgressNotifier extends ProgressNotifier {
    private manager;
    constructor(manager: ProgressManager);
    finishOne(): void;
    startOne(desc: string, subparts: number): ProgressNotifier | null;
    updateDescription(desc: string): void;
    setTotal(total: number): void;
    addMessage(severity: MessageSeverity, message: string, priority?: boolean): void;
    fatalError(message: string): void;
    readonly hasErrors: boolean;
}
export declare class SubTaskProgressNotifier extends ProgressNotifier {
    private manager;
    constructor(manager: ProgressManager);
    finishOne(): void;
    startOne(desc: string, subparts: number): ProgressNotifier;
    setTotal(total: number): void;
    addMessage(severity: MessageSeverity, message: string, priority?: boolean): void;
    fatalError(message: string): void;
    updateDescription(desc: string): void;
}
export declare enum MessageSeverity {
    Info = 0,
    Warn = 1,
    Error = 2,
    Success = 3,
}
export declare enum UISeverity {
    Info = "info",
    Warn = "warn",
    Error = "error",
    Success = "success",
}
export declare class OperationMessage {
    severity: MessageSeverity;
    message: string;
    constructor(severity: MessageSeverity, message: string);
    readonly iconClass: string;
}
export declare class ProgressManager {
    totalTasks: number;
    finishedTasks: number;
    subTaskTotal: number;
    subTaskFinished: number;
    subTaskDescription: string | null;
    subSubTaskDescription: string | null;
    subTaskInProgress: boolean;
    priorityMessage: OperationMessage | undefined;
    messages: OperationMessage[];
    private scope;
    private errorState;
    constructor(totalTasks: number, $scope: any);
    clear(): void;
    getNotifier(): ProgressNotifier;
    startTask(desc: string, totalParts: number): ProgressNotifier | null;
    finishTask(): void;
    addMessage(severity: MessageSeverity, message: string, priority?: boolean): void;
    fatalError(message: string): void;
    updateSubtask(): void;
    readonly hasErrors: boolean;
    updateScope(): void;
}
