import type { ScriptGraph } from './NodeGraph'; import { NodeLibrary } from './NodeGraph'; import type { ASTScript } from './ScriptAST'; export interface ConvertOptions { /** Name for the generated class */ className?: string; /** Base class to extend */ baseClass?: string; /** Whether to generate async methods for delay/wait nodes */ useAsync?: boolean; /** Whether to generate comments showing node IDs */ includeNodeIds?: boolean; /** Prefix for generated variable names */ varPrefix?: string; } export declare class GraphToAST { private library; constructor(library?: NodeLibrary); /** * Convert a visual script graph to AST representation. */ convert(graph: ScriptGraph, options?: ConvertOptions): ASTScript; /** * Convert multiple graphs into a single script module. */ convertMultiple(graphs: ScriptGraph[], moduleName: string, options?: ConvertOptions): ASTScript; private findEntryNodes; private entryTypeToMethodName; private convertVariables; private valueToASTType; private convertEntryPointsToMethod; private getEntryParams; private createEmptyMethod; private processNode; private generateNodeCode; private generateFlowNode; private generateIfElse; private generateDelay; private generateForLoop; private generateWhileLoop; private generateMathNode; private generateLogicNode; private generateVariableNode; private generateEntityNode; private generateInputNode; private generateAudioNode; private generateGenericNode; private resolveInputExpression; private valueToExpression; private getOrCreateNodeVar; private getFlowTargetNodes; private followFlowConnections; } export declare function convertGraphToAST(graph: ScriptGraph, library: NodeLibrary, options?: ConvertOptions): ASTScript; export default GraphToAST;