import { EventEmitter } from 'events'; import { RepositoryProgress, RepositoryProgressCallback } from './types'; export interface ProgressUpdate { repositoryId: string; repositoryName: string; progress: RepositoryProgress; timestamp: Date; } export declare class ProgressTracker extends EventEmitter { private activeOperations; private callbacks; startTracking(repositoryId: string, repositoryName: string, phase: RepositoryProgress['phase']): void; updateProgress(repositoryId: string, repositoryName: string, update: Partial): void; setError(repositoryId: string, repositoryName: string, error: string): void; complete(repositoryId: string, repositoryName: string, message?: string): void; addCallback(repositoryId: string, callback: RepositoryProgressCallback): void; removeCallback(repositoryId: string, callback: RepositoryProgressCallback): void; getProgress(repositoryId: string): RepositoryProgress | undefined; getAllProgress(): Map; isTracking(repositoryId: string): boolean; private emitProgress; parseGitCloneProgress(output: string): Partial; parseGitPullProgress(output: string): Partial; trackBatchOperation(operations: { id: string; name: string; }[]): BatchProgressTracker; } export declare class BatchProgressTracker { private progressTracker; private completed; private total; private operations; constructor(progressTracker: ProgressTracker, operations: { id: string; name: string; }[]); markCompleted(repositoryId: string): void; getProgress(): { completed: number; total: number; progress: number; }; } export declare const progressTracker: ProgressTracker; //# sourceMappingURL=ProgressTracker.d.ts.map