/** * Progress - Progress bars for scanning * * Provides progress bars for long-running operations like scanning. * * @requirements 29.1 */ import { SingleBar } from 'cli-progress'; /** * Progress bar configuration options */ export interface ProgressOptions { /** Total number of items */ total: number; /** Format string for the progress bar */ format?: string; /** Whether to show ETA */ showEta?: boolean; /** Whether to show percentage */ showPercentage?: boolean; /** Whether to show value/total */ showValue?: boolean; /** Whether progress is enabled (false in CI mode) */ enabled?: boolean; /** Clear the bar on complete */ clearOnComplete?: boolean; /** Hide cursor during progress */ hideCursor?: boolean; } /** * Progress bar wrapper for consistent CLI feedback */ export declare class Progress { private bar; private enabled; private currentValue; constructor(options: ProgressOptions); /** * Update progress with current value */ update(value: number, payload?: Record): this; /** * Increment progress by amount */ increment(amount?: number, payload?: Record): this; /** * Set the current task description */ task(description: string): this; /** * Set the total value */ setTotal(total: number): this; /** * Stop the progress bar */ stop(): this; /** * Get current value */ get value(): number; } /** * Multi-progress bar for parallel operations */ export declare class MultiProgress { private multiBar; private bars; private enabled; constructor(enabled?: boolean); /** * Create a new progress bar */ create(name: string, total: number): SingleBar | null; /** * Update a specific bar */ update(name: string, value: number, payload?: Record): this; /** * Increment a specific bar */ increment(name: string, amount?: number, payload?: Record): this; /** * Remove a specific bar */ remove(name: string): this; /** * Stop all progress bars */ stop(): this; } /** * Create a progress bar for scanning operations */ export declare function createScanProgress(totalFiles: number): Progress; /** * Create a progress bar for analysis operations */ export declare function createAnalysisProgress(totalItems: number): Progress; /** * Create a progress bar for pattern detection */ export declare function createDetectionProgress(totalDetectors: number): Progress; /** * Run an operation with progress tracking */ export declare function withProgress(items: T[], operation: (item: T, index: number) => Promise, options?: { format?: string; getTaskName?: (item: T) => string; }): Promise; /** * Simple percentage display for CI mode */ export declare function logProgress(current: number, total: number, message?: string): void; //# sourceMappingURL=progress.d.ts.map