import { EventEmitter } from 'events'; export interface ProgressMetrics { totalFiles: number; processedFiles: number; validFiles: number; invalidFiles: number; uploadedFiles: number; skippedFiles: number; errorCount: number; warningCount: number; filesPerSecond: number; uploadsPerSecond: number; validationRate: number; elapsedTime: number; estimatedTimeRemaining: number; estimatedCompletion: Date; currentPhase: ProcessingPhase; phaseProgress: number; validationQueueSize: number; uploadQueueSize: number; transactionQueueSize: number; memoryUsage: number; cpuUsage: number; } export declare enum ProcessingPhase { INITIALIZATION = "initialization", SCANNING = "scanning", VALIDATION = "validation", PROCESSING = "processing", UPLOADING = "uploading", DOWNLOADING = "downloading",// Added new phase SUBMITTING = "submitting", COMPLETED = "completed", ERROR = "error" } export declare class ProgressTracker extends EventEmitter { private startTime; private phaseStartTime; private lastUpdateTime; private metrics; private updateInterval; private progressBar; private history; private readonly historySize; private readonly updateFrequency; private readonly enableProgressBar; constructor(totalFiles: number, updateFrequency?: number, enableProgressBar?: boolean); start(): void; stop(): void; private update; private calculateRates; private calculateEstimates; private updateResourceUsage; setPhase(phase: ProcessingPhase, progress?: number): void; incrementProcessed(count?: number): void; incrementValid(count?: number): void; incrementInvalid(count?: number): void; incrementUploaded(count?: number): void; incrementSkipped(count?: number): void; incrementErrors(count?: number): void; incrementWarnings(count?: number): void; updateQueues(validation: number, upload: number, transaction: number): void; getMetrics(): Readonly; formatTime(milliseconds: number): string; getProgressPercentage(): number; getSummary(): string; reset(totalFiles: number): void; } //# sourceMappingURL=progress-tracker.d.ts.map