export interface ProgressEntry {
    id: string;
    command: string;
    operation: string;
    status: 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled';
    startTime: Date;
    endTime?: Date;
    duration?: number;
    projectPath: string;
    metadata?: {
        filesGenerated?: number;
        aiEnabled?: boolean;
        targetIDEs?: string[];
        errors?: string[];
        warnings?: string[];
        features?: string[];
        phases?: number;
    };
    steps?: ProgressStep[];
}
export interface ProgressStep {
    id: string;
    name: string;
    status: 'pending' | 'in_progress' | 'completed' | 'failed';
    startTime?: Date;
    endTime?: Date;
    description?: string;
    metadata?: Record<string, unknown>;
}
export interface ProgressSummary {
    totalOperations: number;
    completedOperations: number;
    failedOperations: number;
    inProgressOperations: number;
    recentActivity: ProgressEntry[];
    averageDuration: number;
    successRate: number;
}
export declare class ProgressTracker {
    private progressFile;
    private currentEntry;
    constructor(projectPath?: string);
    startOperation(command: string, operation: string, metadata?: ProgressEntry['metadata']): Promise<string>;
    updateOperation(id: string, updates: Partial<ProgressEntry>): Promise<void>;
    completeOperation(id: string, status?: 'completed' | 'failed' | 'cancelled', metadata?: Partial<ProgressEntry['metadata']>): Promise<void>;
    addStep(operationId: string, stepName: string, description?: string): Promise<string>;
    completeStep(operationId: string, stepId: string, status?: 'completed' | 'failed', metadata?: Record<string, unknown>): Promise<void>;
    getProgress(): Promise<ProgressEntry[]>;
    getProgressSummary(): Promise<ProgressSummary>;
    getCurrentOperation(): Promise<ProgressEntry | null>;
    clearHistory(olderThanDays?: number): Promise<number>;
    private loadProgress;
    private saveProgress;
    private saveToFile;
    private deserializeEntry;
    private generateId;
    formatDuration(milliseconds: number): string;
    getStatusIcon(status: ProgressEntry['status']): string;
    getStatusColor(status: ProgressEntry['status']): string;
}
//# sourceMappingURL=progressTracker.d.ts.map