import { ExecutionNode, TraceEvent } from './parser.js'; export interface VisualizationNode { id: string; type: 'query' | 'solving' | 'pending' | 'solved' | 'success' | 'clause-body' | 'match'; label: string; emoji: string; level: number; clauseNumber?: number; } export interface VisualizationEdge { id: string; from: string; to: string; type: 'active' | 'queue' | 'activate'; label: string; stepNumber: number; } export interface PendingGoal { id: string; goal: string; queuedAt: string; activatedAt?: string; } export interface ClauseUsage { clauseNumber: number; clauseText: string; usageCount: number; usedAtSteps: number[]; } export interface ExecutionStep { stepNumber: number; description: string; goal: string; clauseMatched?: string; bindings?: Record; newGoals?: string[]; } export type DetailLevel = 'minimal' | 'standard' | 'detailed' | 'full'; export interface AnalysisOptions { detailLevel?: DetailLevel; } export interface AnalysisResult { nodes: VisualizationNode[]; edges: VisualizationEdge[]; pendingGoals: Map; executionOrder: string[]; clausesUsed: ClauseUsage[]; executionSteps: ExecutionStep[]; finalAnswer?: string; } import { Clause } from './clauses.js'; /** * Analyzes an execution tree and produces visualization data. */ export declare function analyzeTree(root: ExecutionNode, clauses?: Clause[], options?: AnalysisOptions, traceEvents?: TraceEvent[], originalQuery?: string): AnalysisResult; /** * Assigns level-based variable names to avoid confusion in recursive calls. */ export declare function assignLevelVariables(node: ExecutionNode, level: number): void; /** * Determines the execution order (left-to-right, depth-first). */ export declare function determineExecutionOrder(root: ExecutionNode): string[]; //# sourceMappingURL=analyzer.d.ts.map