datapilot-cli
Version:
Enterprise-grade streaming multi-format data analysis with comprehensive statistical insights and intelligent relationship detection - supports CSV, JSON, Excel, TSV, Parquet - memory-efficient, cross-platform
91 lines • 2.09 kB
TypeScript
/**
* CLI Progress Reporter - Real-time progress updates with spinners and progress bars
*/
import type { ProgressState } from './types';
export declare class ProgressReporter {
private quiet;
private verbose;
private currentPhase?;
private spinnerInterval?;
private spinnerFrames;
private spinnerIndex;
private progressCallback?;
constructor(quiet?: boolean, verbose?: boolean);
/**
* Set progress callback for external listeners (e.g., tests)
*/
setProgressCallback(callback: (progress: {
message: string;
progress: number;
}) => void): void;
/**
* Start progress reporting for a phase
*/
startPhase(phase: string, message: string): void;
/**
* Update progress within a phase
*/
updateProgress(state: ProgressState): void;
/**
* Complete current phase
*/
completePhase(message: string, timeElapsed: number): void;
/**
* Report error in current phase
*/
errorPhase(message: string): void;
/**
* Report warning
*/
warning(message: string): void;
/**
* Report info message
*/
info(message: string): void;
/**
* Show summary statistics
*/
showSummary(stats: {
processingTime: number;
rowsProcessed: number;
warnings: number;
errors: number;
}): void;
/**
* Start the spinner animation
*/
private startSpinner;
/**
* Stop the spinner animation
*/
private stopSpinner;
/**
* Pause spinner temporarily
*/
private pauseSpinner;
/**
* Resume spinner after pause
*/
private resumeSpinner;
/**
* Get current spinner frame
*/
private getSpinnerFrame;
/**
* Update spinner frame in place
*/
private updateSpinnerFrame;
/**
* Clear current line
*/
private clearLine;
/**
* Format time duration
*/
private formatTime;
/**
* Cleanup on exit
*/
cleanup(): void;
}
//# sourceMappingURL=progress-reporter.d.ts.map