/**
 * Buddy Script Runtime
 *
 * Executes parsed AST nodes
 */
import { ProgramNode, CodeBuddyValue, CodeBuddyScriptConfig } from './types.js';
export declare class Runtime {
    private config;
    private globalContext;
    private output;
    private startTime;
    constructor(config?: Partial<CodeBuddyScriptConfig>);
    private initializeBuiltins;
    execute(program: ProgramNode): Promise<{
        output: string[];
        returnValue: CodeBuddyValue;
        duration: number;
    }>;
    private executeStatement;
    private executeVariableDeclaration;
    private executeFunctionDeclaration;
    private executeIfStatement;
    private executeWhileStatement;
    private executeForStatement;
    private executeForInStatement;
    private executeReturnStatement;
    private executeTryStatement;
    private executeThrowStatement;
    private executeBlock;
    private evaluateExpression;
    private lookupVariable;
    private evaluateBinaryExpression;
    private evaluateUnaryExpression;
    private evaluateLogicalExpression;
    private evaluateAssignmentExpression;
    private setVariable;
    private evaluateCallExpression;
    private evaluateMemberExpression;
    private evaluateArrayExpression;
    private evaluateObjectExpression;
    private evaluateConditionalExpression;
    private createArrowFunction;
    private isTruthy;
}
