export declare interface Evidence { file: string; line: number; } export declare interface FunctionMetrics { name: string; line: number; cc: number; loc: number; mi: number | null; } export declare interface GraphData { schema_version: string; meta: GraphMeta; nodes: GraphNode[]; links: GraphLink[]; } export declare interface GraphLink { source: string; target: string; kind: string; weight: number; evidence: Evidence[]; } export declare interface GraphMeta { repo: string; generated_at: string; [key: string]: unknown; } export declare interface GraphNode { id: string; kind: string; language: string; name: string; metrics: NodeMetrics; tags: string[]; } export declare interface NodeMetrics { loc: number | null; cc: number | null; mi: number | null; mi_min?: number | null; mi_median?: number | null; max_cc?: number | null; median_cc?: number | null; functions?: FunctionMetrics[]; } export declare function renderGraph(container: HTMLElement, data: GraphData, options?: RenderOptions): { destroy: () => void; }; export declare interface RenderOptions { width?: number; height?: number; } export declare class SchemaValidationError extends Error { constructor(message: string); } export declare function validateGraphData(data: unknown): GraphData; export { }