qraft
Version:
A powerful CLI tool to qraft structured project setups from GitHub template repositories
59 lines • 1.9 kB
TypeScript
export interface ProgressStep {
id: string;
name: string;
description?: string | undefined;
weight?: number | undefined;
status: 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
startTime?: number | undefined;
endTime?: number | undefined;
error?: string | undefined;
}
export interface ProgressOptions {
showPercentage?: boolean | undefined;
showElapsed?: boolean | undefined;
showETA?: boolean | undefined;
showStepDetails?: boolean | undefined;
clearOnComplete?: boolean | undefined;
spinnerChars?: string[] | undefined;
updateInterval?: number | undefined;
}
export declare class ProgressIndicator {
private steps;
private currentStepIndex;
private startTime;
private spinnerIndex;
private intervalId?;
private options;
constructor(options?: ProgressOptions);
addStep(step: Omit<ProgressStep, 'status' | 'startTime' | 'endTime'>): void;
addSteps(steps: Omit<ProgressStep, 'status' | 'startTime' | 'endTime'>[]): void;
start(): void;
nextStep(): void;
completeStep(stepId?: string, success?: boolean): void;
failStep(stepId?: string, error?: string): void;
skipStep(stepId?: string, reason?: string): void;
complete(): void;
private render;
private calculateProgress;
private calculateETA;
private formatTime;
private getStepIcon;
private getStepColor;
private startSpinner;
private stopSpinner;
private clear;
getSummary(): {
total: number;
completed: number;
failed: number;
skipped: number;
duration: number;
success: boolean;
};
displaySummary(): void;
getSteps(): ProgressStep[];
getCurrentStepIndex(): number;
getStartTime(): number;
simulateProgress(stepId: string, _progressPercent: number): void;
}
//# sourceMappingURL=progressIndicator.d.ts.map