import type { Board } from "./model.js"; export interface ImpactFocus { jobIds?: string[]; conceptIds?: string[]; /** How many candidates to return. The tool answers in full; the interview asks for a smaller slice. */ limit?: number; } type ImpactEdge = { from: string; to: string; kind: "artifact" | "exit" | "loop" | "parent" | "correction"; artifactId?: string; }; /** Declared relationships identify investigation candidates, never proven runtime dependencies. */ export declare function investigateImpact(board: Board, focus: ImpactFocus): { schema: string; schemaVersion: number; boardId: string; focus: { jobIds: string[]; conceptIds: string[]; }; basis: string; jobs: { id: string; name: string; track: string; reasons: (string | null)[]; prerequisites: import("./flow.js").Prerequisites | null; gate: import("./model.js").Gate | null; sources: { path: string; symbol?: string; }[]; omittedSources: number; implementation: { state: "unknown" | "planned" | "in-progress" | "implemented"; note?: string; }; omittedEvidenceReferences: number; evidenceReferences: { provider: "langfuse"; projectId: string; traceId: string; observationId: string | undefined; mapping: "instrumented" | "proposed" | "reviewed" | undefined; }[]; }[]; edges: ImpactEdge[]; concepts: { id: string; name: string; status: "inferred" | "confirmed" | "disputed" | "superseded"; definition: string; relationships: { relation: string; target: string; }[]; mappings: { kind: "langfuse" | "repository" | "api"; note: string; ref: string; }[]; omittedRelationships: number; omittedMappings: number; }[]; unknowns: string[]; omitted: { jobs: number; edges: number; concepts: number; unknowns: number; }; repositoryQuestions: string[]; boundaries: string[]; }; export {};