import type { BuiltInExecutableDependencyAnalyzerId, ExecutableDependencyCandidate, ExecutableDependencyRelation } from "./executable-dependency-analyzer.js"; import type { ExecutableSurfaceScope } from "./executable-surface-inventory.js"; import type { RepositoryPathState } from "./repository-paths.js"; export type ExecutableSurfaceDependencyResolution = "resolved" | "missing" | "unsafe" | "ambiguous" | "noncanonical" | "not-inventory" | "excluded" | "deep" | "oversize" | "unsupported" | "symlink" | "unreadable"; export interface ExecutableSurfaceDependency { analyzer: BuiltInExecutableDependencyAnalyzerId; sourcePath: string; line: number; snippet: string; relation: ExecutableDependencyRelation; rawSpecifier: string; normalizedTargetCandidates: string[]; normalizedTarget?: string; resolution: ExecutableSurfaceDependencyResolution; targetPathState?: RepositoryPathState; occurrenceOrdinal: number; } export interface ExecutableDependencyGraphEdge { sourcePath: string; normalizedTarget: string; } /** Resolve analyzer-neutral candidates through immutable Renma path evidence. */ export declare function resolveExecutableDependencies(candidates: readonly ExecutableDependencyCandidate[], repositoryPathStates: ReadonlyMap, inventorySurfaceScopes: ReadonlyMap): ExecutableSurfaceDependency[]; /** Collapse declaration evidence into deterministic source-target graph edges. */ export declare function canonicalExecutableDependencyGraphEdges(dependencies: readonly ExecutableSurfaceDependency[]): ExecutableDependencyGraphEdge[];