/** * Cross-repo impact (Phase 1 local walk + Phase 2 bridge fan-out). * All bridge Cypher for this feature lives in this module. */ import type { GroupImpactResult } from './types.js'; import type { GroupToolPort } from './service.js'; /** Cross-boundary hops beyond this value are clamped (multi-hop reserved for future work). */ export declare const MAX_SUPPORTED_CROSS_DEPTH = 1; /** Default wall-clock budget for the Phase 1 `impact` leg when callers omit `timeoutMs`. */ export declare const DEFAULT_LOCAL_IMPACT_TIMEOUT_MS = 30000; export interface RunGroupImpactDeps { port: GroupToolPort; gitnexusDir: string; } export declare function validateGroupImpactParams(params: Record): { ok: true; name: string; repoPath: string; target: string; direction: 'upstream' | 'downstream'; maxDepth: number; crossDepth: number; crossDepthWarning?: string; relationTypes?: string[]; includeTests: boolean; minConfidence: number; service?: string; subgroup?: string; timeoutMs: number; } | { ok: false; error: string; }; export declare function collectImpactSymbolUids(local: unknown, servicePrefix: string | undefined): { uids: string[]; targetFilePath?: string; }; export declare function runGroupImpact(deps: RunGroupImpactDeps, params: Record): Promise; export { normalizeServicePrefix, fileMatchesServicePrefix } from './group-path-utils.js';