/**
 * Unified Script Runtime
 *
 * Based on FCS runtime (class/test/assert/dict/lambda/interpolation/pipeline/ternary/index)
 * with Buddy Script additions:
 * - Async/await native support
 * - ForCStyle statement execution
 * - AwaitExpression handling
 * - Export statement handling
 * - Timeout enforcement per-statement
 * - ScriptResult with testResults tracking
 *
 * Extensions: .bs (primary), .fcs (backward-compatible alias)
 */
import { AstNode, Program, RuntimeContext, CodeBuddyValue, ScriptResult, CodeBuddyScriptConfig } from './types.js';
declare class ReturnSignal {
    value: CodeBuddyValue;
    constructor(value: CodeBuddyValue);
}
declare class BreakSignal {
}
declare class ContinueSignal {
}
export declare class FCSRuntime {
    private config;
    private globalContext;
    private output;
    private startTime;
    private testResults;
    constructor(config?: Partial<CodeBuddyScriptConfig>);
    private initializeBuiltins;
    execute(program: Program): Promise<ScriptResult>;
    private normalizeNode;
    executeNode(node: AstNode, ctx: RuntimeContext): Promise<CodeBuddyValue | ReturnSignal | BreakSignal | ContinueSignal>;
    private executeVarDeclaration;
    private executeFunctionDeclaration;
    private executeClassDeclaration;
    private executeTestDeclaration;
    private executeBlock;
    private executeIfStatement;
    private executeWhileStatement;
    private executeForStatement;
    private executeForCStyleStatement;
    private executeReturnStatement;
    private executeTryStatement;
    private executeThrowStatement;
    private executeImportStatement;
    private executeExportStatement;
    private executeAssertStatement;
    private evaluate;
    private lookupVariable;
    private setVariable;
    private evaluateBinary;
    private evaluateUnary;
    private evaluateAssignment;
    private evaluateCall;
    private evaluateMember;
    private evaluateIndex;
    private evaluateArray;
    private evaluateDict;
    private evaluateLambda;
    private evaluateInterpolation;
    private evaluateTernary;
    private isTruthy;
    getTestResults(): {
        name: string;
        passed: boolean;
        error?: string;
    }[];
    getOutput(): string[];
}
/** @deprecated Use FCSRuntime instead */
export declare const Runtime: typeof FCSRuntime;
export declare function createRuntime(config?: Partial<CodeBuddyScriptConfig>): FCSRuntime;
export {};
