import { EventEmitter } from 'events'; export interface ProgressState { sessionId: string; totalDocuments: number; processedDocuments: number; successfulExports: number; failedExports: number; currentDocument?: string; currentFolder?: string; currentOperation?: string; currentFormat?: string; currentFormats?: string[]; formatProgress?: FormatProgress; startTime: Date; lastUpdateTime: Date; estimatedTimeRemaining?: number; processingRate?: number; exportSpeed?: number; totalBytesProcessed?: number; } export interface FormatProgress { totalFormats: number; completedFormats: number; currentFormatIndex: number; formatResults: { [format: string]: 'pending' | 'processing' | 'success' | 'failed'; }; } export interface ProgressUpdate { type: 'start' | 'progress' | 'complete' | 'error' | 'folder_change' | 'format_start' | 'format_complete' | 'format_error'; documentId?: string; documentTitle?: string; folderName?: string; operation?: string; format?: string; formats?: string[]; formatProgress?: FormatProgress; error?: Error; timestamp: Date; fileSize?: number; } export declare class ProgressTracker extends EventEmitter { private state; private startTime; constructor(sessionId: string, totalDocuments: number); getState(): ProgressState; startDocument(documentId: string, documentTitle: string, folderName?: string, formats?: string[]): void; updateFolder(folderName: string): void; updateOperation(operation: string): void; startFormat(format: string): void; completeFormat(format: string, success: boolean, error?: Error): void; completeDocument(success: boolean, fileSize?: number, error?: Error): void; getProgressPercentage(): number; getElapsedTime(): number; getFormattedElapsedTime(): string; getEstimatedTimeRemaining(): string | undefined; getProcessingRate(): number | undefined; getExportSpeed(): number | undefined; getFormattedExportSpeed(): string | undefined; getTotalBytesProcessed(): number; getFormattedTotalBytes(): string; private updateProcessingRate; private updateExportSpeed; private updateEstimatedTimeRemaining; private formatDuration; private formatBytes; getSummary(): string; } //# sourceMappingURL=progress-tracker.d.ts.map