import { OverlapBasedExpansionResult } from '../../overlap-result.js'; import { BetweenGraphStrategy } from './between-graph-strategy.js'; /** * Truncated Component Between-Graph Strategy * * Returns the connected component(s) containing the overlap nodes where * frontiers met. This preserves more context than MinimalPaths while * avoiding fringe regions that don't contribute to seed connectivity. * * **Algorithm**: Identify all overlap meeting nodes, then extract the * connected component(s) containing these nodes using BFS/DFS traversal. * * **Complexity**: O(V + E) where V = visited nodes, E = visited edges * * **Thesis Alignment**: This strategy provides a balanced approach that * preserves the neighborhood structure around overlap regions while excluding * peripheral exploration that doesn't contribute to seed connectivity. */ export declare class TruncatedComponentStrategy implements BetweenGraphStrategy { /** Strategy identifier for naming SUT variants */ readonly id = "truncated-component"; /** * Extract the between-graph subgraph from expansion results. * * Returns the connected component containing overlap meeting nodes. * * @param expansionResult - Raw expansion output with all visited nodes/edges * @param _graph - Original graph (unused, we use sampled data) * @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[]; }>; }; /** * Build an adjacency list from sampled edges. * * @param expansionResult - Expansion result with sampled edges * @returns Adjacency list (node -> set of neighbors) * @private */ private buildAdjacencyList; /** * Perform BFS to find the connected component containing a start node. * * @param startNode - Node to start BFS from * @param adj - Adjacency list * @param componentNodes - Set to accumulate component nodes * @param componentEdges - Set to accumulate component edges * @private */ private bfsComponent; } //# sourceMappingURL=truncated-component.strategy.d.ts.map