/** * Dependency Resolver - Manages task dependency resolution and execution order */ import { EventEmitter } from 'events'; import { QueuedTask } from '../queue/types'; import { ResolvedTask, ResolutionContext, ResolverConfig, ExecutionPlan, TaskExecutionResult, ResolutionProgress } from './types'; /** * Dependency Resolver */ export declare class DependencyResolver extends EventEmitter { private config; private contexts; private logger; private checkTimer?; constructor(config?: Partial); /** * Create a resolution context for a set of tasks */ createContext(projectId: string, tasks: QueuedTask[]): ResolutionContext; /** * Build dependency graph */ private buildDependencyGraph; /** * Detect circular dependencies using DFS */ private detectCircularDependencies; /** * Calculate execution levels using topological sort */ private calculateExecutionLevels; /** * Identify critical path */ private identifyCriticalPath; /** * Update ready tasks */ private updateReadyTasks; /** * Check if all dependencies are resolved */ private areDependenciesResolved; /** * Get next task to execute based on strategy */ getNextTask(contextId: string): ResolvedTask | null; /** * Select task using eager strategy (first available) */ private selectEagerTask; /** * Select task using priority strategy */ private selectPriorityTask; /** * Select task for batched execution */ private selectBatchedTask; /** * Select task for balanced execution */ private selectBalancedTask; /** * Select task for lazy execution */ private selectLazyTask; /** * Mark task as in progress */ private markTaskInProgress; /** * Mark task as completed */ markTaskCompleted(contextId: string, taskId: string, result: TaskExecutionResult): void; /** * Mark task as failed */ private markTaskFailed; /** * Skip dependent tasks */ private skipDependentTasks; /** * Check if resolution is complete */ private checkResolutionComplete; /** * Get execution plan */ getExecutionPlan(contextId: string): ExecutionPlan | null; /** * Build dependency map */ private buildDependencyMap; /** * Estimate level duration */ private estimateLevelDuration; /** * Get resolution progress */ getProgress(contextId: string): ResolutionProgress | null; /** * Get current execution level */ private getCurrentLevel; /** * Estimate time remaining */ private estimateTimeRemaining; /** * Calculate statistics */ private calculateStatistics; /** * Emit resolution event */ private emitEvent; /** * Clean up context */ removeContext(contextId: string): void; /** * Get context */ getContext(contextId: string): ResolutionContext | undefined; /** * Start monitoring contexts */ startMonitoring(): void; /** * Stop monitoring */ stopMonitoring(): void; } //# sourceMappingURL=dependency-resolver.d.ts.map