import { OverlapBasedExpansionResult } from '../../overlap-result.js'; import { BetweenGraphStrategy } from './between-graph-strategy.js'; /** * Minimal Paths Between-Graph Strategy * * Returns the minimal subgraph containing only the nodes and edges that appear * in the discovered paths. This produces the most compact between-graph representation. * * **Algorithm**: Extract all nodes and edges that appear in any discovered path, * excluding nodes visited but not part of path connections. * * **Complexity**: O(P × L) where P = number of paths, L = average path length * * **Thesis Alignment**: This strategy provides the most compact representation * of the between-graph, useful for memory-constrained scenarios and as a baseline * for comparison with more comprehensive strategies. */ export declare class MinimalPathsStrategy implements BetweenGraphStrategy { /** Strategy identifier for naming SUT variants */ readonly id = "minimal-paths"; /** * Extract the between-graph subgraph from expansion results. * * Returns only nodes and edges that appear in discovered paths. * For N=1 (no paths), returns all visited nodes as fallback. * * @param expansionResult - Raw expansion output with all visited nodes/edges * @param _graph - Original graph (unused for minimal paths) * @returns Refined subgraph definition with nodes, edges, and paths */ extractBetweenGraph(expansionResult: OverlapBasedExpansionResult, _graph?: unknown): { nodes: Set; edges: Set; paths: Array<{ fromSeed: number; toSeed: number; nodes: string[]; }>; }; } //# sourceMappingURL=minimal-paths.strategy.d.ts.map