export interface ProgressOptions { quiet?: boolean | undefined; verbose?: boolean | undefined; suppressSpinners?: boolean | undefined; } export interface ProgressStep { id: string; name: string; description: string; total?: number; completed?: number; } export interface ProgressState { phase: 'planning' | 'discovering' | 'validating' | 'installing' | 'configuring' | 'complete' | 'failed'; currentStep?: ProgressStep; totalSteps: number; completedSteps: number; message: string; warnings: string[]; errors: string[]; } export declare class ProgressReporter { private spinner; private options; private state; private startTime; constructor(options?: ProgressOptions); start(message: string): void; update(message: string): void; updateProgress(state: Partial): void; step(step: ProgressStep, progress?: { current: number; total: number; }): void; succeed(message?: string): void; fail(message?: string): void; warn(message: string): void; error(message: string): void; info(message: string): void; stop(): void; clear(): void; getState(): ProgressState; getElapsedTime(): number; private formatProgressMessage; private formatCompletionMessage; } export declare function createProgressReporter(options?: ProgressOptions): ProgressReporter; export declare class FileProgressReporter { private reporter; private files; constructor(options?: ProgressOptions); initialize(files: string[]): void; fileProgress(filePath: string, status: 'started' | 'completed' | 'failed', details?: string): void; complete(): void; fail(message: string): void; } export declare class ComponentProgressReporter { private reporter; private components; private currentIndex; constructor(options?: ProgressOptions); initialize(componentNames: string[]): void; componentProgress(componentName: string, status: 'discovering' | 'installing' | 'completed' | 'failed'): void; complete(additionalItems?: { agentCount?: number; }): void; fail(message: string): void; stop(): void; } export declare const progress: { withSpinner(message: string, operation: () => Promise, options?: ProgressOptions): Promise; withSteps(steps: Array<{ name: string; operation: () => Promise; }>, options?: ProgressOptions): Promise; }; //# sourceMappingURL=progress.d.ts.map