///
import { EventEmitter } from 'events';
export declare class Engine extends EventEmitter {
protected progress: TProgress;
protected hasPrinted: boolean;
protected hasFailed: boolean;
printSteps(steps: {
[key: string]: Step;
}): void;
protected exec(command: string): Promise;
protected get(url: string): Promise;
protected createTemp(): Promise;
protected readJson(filename: string): Promise;
protected updateProgress(step: keyof TProgress, status: Step['status'], reason?: string): void;
protected failure(message: string): void;
protected warning(message: string): void;
protected notice(message: string): void;
protected trace(message: string): void;
}
export declare type Step = {
status: 'pass' | 'fail' | 'warn' | 'skipped' | 'pending' | 'working';
title: string;
reason?: string;
};