import { OperationType, OperationStep } from '../../servers/entities/infrastructure-operations.entity';
/**
 * Step configuration interface
 */
export interface OperationStepConfig {
    step: OperationStep;
    description: string;
    weight: number;
}
/**
 * Generate step configuration dynamically based on operation context
 * This allows steps to adapt to different scenarios (e.g., single-node vs multi-node clusters)
 */
export declare function getOperationSteps(operationType: OperationType, context?: Record<string, any>): OperationStepConfig[];
/**
 * Calculate total progress based on step index and current step progress
 */
export declare function calculateOperationProgress(operationType: OperationType, currentStepIndex: number, currentStepProgress?: number, context?: Record<string, any>): number;
/**
 * Calculate progress using saved operation steps from metadata
 */
export declare function calculateOperationProgressFromSaved(savedSteps: OperationStepConfig[], currentStepIndex: number, currentStepProgress?: number): number;
/**
 * Get step configuration for an operation
 */
export declare function getStepConfig(operationType: OperationType, stepIndex: number, context?: Record<string, any>): OperationStepConfig | undefined;
/**
 * Get step configuration from saved metadata
 */
export declare function getStepConfigFromSaved(savedSteps: OperationStepConfig[], stepIndex: number): OperationStepConfig | undefined;
/**
 * Get total number of steps for an operation
 */
export declare function getTotalSteps(operationType: OperationType, context?: Record<string, any>): number;
