import type { FindingPath } from "../schema/findings.js"; import type { WorkNode, Workspec } from "../schema/workspec.js"; export interface LocatedWorkNode { node: WorkNode; path: FindingPath; } export interface TouchDeclaration { target: string; nodeId: string; path: FindingPath; nodePath: FindingPath; } export interface TouchOverlap { target: string; nodeIds: string[]; declarations: TouchDeclaration[]; count: number; } export declare function normalizeTouchTarget(target: string): string; export declare function flattenWorkNodes(specOrNodes: Workspec | readonly WorkNode[]): LocatedWorkNode[]; /** * Find exact normalized target declarations shared by at least two distinct nodes. * Selectors are compared as declared writable roots; this deliberately does not * attempt filesystem or glob-language intersection. */ export declare function findTouchOverlaps(specOrNodes: Workspec | readonly WorkNode[] | readonly LocatedWorkNode[]): TouchOverlap[];