/** * Test Dependency Graph — Analyze dependencies between tests for optimal execution. * * @example * ```typescript * const analyzer = new TestDependencyAnalyzer(suite); * const groups = analyzer.findParallelGroups(); * const critical = analyzer.findCriticalPath(); * const plan = analyzer.optimize(); * ``` */ import type { TestSuite } from './types'; export interface DependencyGraph { nodes: Map; edges: DependencyEdge[]; } export interface TestNode { name: string; id: string; dependsOn: string[]; dependedBy: string[]; estimatedDurationMs: number; tags: string[]; } export interface DependencyEdge { from: string; to: string; } export interface TestGroup { level: number; tests: string[]; } export interface TestChain { path: string[]; totalEstimatedMs: number; } export interface TestExecutionPlan { phases: TestGroup[]; criticalPath: TestChain; estimatedTotalMs: number; parallelEfficiency: number; } export declare class TestDependencyAnalyzer { private graph; private testMap; constructor(suite: TestSuite); private buildGraph; /** Get the dependency graph. */ analyze(): DependencyGraph; /** Find groups of tests that can run in parallel (topological levels). */ findParallelGroups(): TestGroup[]; /** Find the critical path (longest sequential chain by estimated duration). */ findCriticalPath(): TestChain; /** Detect circular dependencies. */ detectCircular(): string[][]; /** Generate optimal execution plan. */ optimize(): TestExecutionPlan; } /** Format execution plan for console output. */ export declare function formatExecutionPlan(plan: TestExecutionPlan): string; //# sourceMappingURL=test-deps.d.ts.map