import { ProcessProgress, ProgressResult } from '../interfaces'; export interface ProgressCalculationStrategy { calculate(processes: Map): ProgressResult | null; } export declare class DefaultProgressStrategy implements ProgressCalculationStrategy { calculate(): ProgressResult | null; } export declare class PrimaryProcessStrategy implements ProgressCalculationStrategy { private primaryProcessName; constructor(primaryProcessName: string); calculate(processes: Map): ProgressResult | null; } export declare class CustomProgressStrategy implements ProgressCalculationStrategy { private calculator; constructor(calculator: (processes: Map) => ProgressResult | null); calculate(processes: Map): ProgressResult | null; } export declare class ProgressStrategyRegistry { private static strategies; static register(moduleName: string, strategy: ProgressCalculationStrategy): void; static get(moduleName: string): ProgressCalculationStrategy; static clear(): void; static has(moduleName: string): boolean; static getAllRegistered(): string[]; }