import { Environment } from '../types/Environment.type'; import { Statement, Arg } from '../types/Ast.type'; import { Value } from '../utils'; export declare class ASTSerializer { private environment; constructor(environment: Environment); /** * Find the module name for a given function name * Returns the module name if found, null otherwise */ findModuleName(functionName: string, currentModuleContext?: string | null): string | null; /** * Get a simplified tree structure of the AST for navigation */ getStructure(statements: Statement[], nodeKeyPrefix?: string): any[]; /** * Generate a human-readable label for a statement */ private getNodeLabel; /** * Serialize a statement to a JSON-serializable object * @param stmt The statement to serialize * @param currentModuleContext Optional module context from "use" command * @param lastValue Optional last value (execution state) - can be a Value or a state object with lastValue and beforeValue * @param nodeKey Optional key for the node */ serializeStatement(stmt: Statement, currentModuleContext?: string | null, lastValue?: Value | { lastValue: Value; beforeValue: Value; } | null, nodeKey?: string): any; /** * Serialize an argument to a JSON-serializable object */ serializeArg(arg: Arg, currentModuleContext?: string | null, nodeKey?: string): any; }