import { type ResourceStats } from './tui.js'; /** * TUI-based ProgressTracker with beautiful real-time display * Replaces the simple ora spinner with a full TUI interface * Falls back to ora spinner if TUI is not available (non-TTY, etc.) */ export declare class TUIProgressTracker { private tui; private fallbackSpinner; private useTUI; private total; private completed; private processed; private errors; private currentFile; private lastUpdateTime; private readonly updateInterval; private queueStatsGetter; private completedFiles; /** * SEC-005: Validate environment variable value * @param value - Environment variable value * @param maxLength - Maximum allowed length (default: 256) * @returns Sanitized value or undefined if invalid */ private validateEnvVar; constructor(total: number, operation?: string); /** * Set startup information to display in TUI */ setStartupInfo(info: { sourcePath?: string; targetPath?: string; totalFiles?: number; systemResources?: string; concurrency?: string; writeBatcher?: string; }): void; setQueueStatsGetter(getter: () => { queueLength: number; batchSize: number; isFlushing: boolean; } | null): void; addActive(file: string): void; readComplete(file: string, success: boolean): void; writeComplete(_file: string, _success: boolean): void; complete(file: string, _duration: string, success: boolean): void; flushing(count: number): void; done(_waitForWrites?: boolean): void; /** * Mark as truly done after all writes are flushed * Returns a promise that resolves when cleanup is complete */ doneWithWrites(): Promise; updateResourceStats(resourceStats: ResourceStats): void; private updateDisplay; getStats(): { readsCompleted: number; writesCompleted: number; errors: number; total: number; }; /** * Log a warning message to TUI log box if TUI is active, otherwise to console */ logWarning(message: string): void; /** * Log an error message to TUI log box if TUI is active, otherwise to console */ logError(message: string): void; } export declare function setGlobalProgressTracker(tracker: TUIProgressTracker | null): void; export declare function getGlobalProgressTracker(): TUIProgressTracker | null; //# sourceMappingURL=tuiProgressTracker.d.ts.map