import { ProgressTracker } from '../services/progressTracker';
export interface CommandExecutionOptions {
    command: string;
    operation: string;
    metadata?: Record<string, unknown>;
    onError?: (error: Error, operationId: string) => Promise<void>;
}
export declare function executeWithProgress<T>(fn: (progressTracker: ProgressTracker, operationId: string) => Promise<T>, options: CommandExecutionOptions): Promise<T>;
export interface ProgressStep {
    name: string;
    description?: string;
}
export declare class ProgressStepTracker {
    private progressTracker;
    private operationId;
    private currentStepId?;
    constructor(progressTracker: ProgressTracker, operationId: string);
    startStep(name: string, description?: string): Promise<void>;
    completeCurrentStep(status?: 'completed' | 'failed', metadata?: Record<string, any>): Promise<void>;
    failCurrentStep(metadata?: Record<string, any>): Promise<void>;
}
//# sourceMappingURL=progressUtils.d.ts.map