/**
 * 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