/**
 * FileCommander Script (FCS) Runtime
 *
 * 100% compatible interpreter for FCS AST
 */
import { AstNode, Program, FCSContext, FCSValue, FCSResult, FCSConfig } from './types.js';
declare class ReturnSignal {
    value: FCSValue;
    constructor(value: FCSValue);
}
declare class BreakSignal {
}
declare class ContinueSignal {
}
export declare class FCSRuntime {
    private config;
    private globalContext;
    private output;
    private startTime;
    private testResults;
    constructor(config?: Partial<FCSConfig>);
    private initializeBuiltins;
    execute(program: Program): Promise<FCSResult>;
    executeNode(node: AstNode, ctx: FCSContext): Promise<FCSValue | ReturnSignal | BreakSignal | ContinueSignal>;
    private executeVarDeclaration;
    private executeFunctionDeclaration;
    private executeClassDeclaration;
    private executeTestDeclaration;
    private executeBlock;
    private executeIfStatement;
    private executeWhileStatement;
    private executeForStatement;
    private executeReturnStatement;
    private executeTryStatement;
    private executeThrowStatement;
    private executeImportStatement;
    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[];
}
export declare function createRuntime(config?: Partial<FCSConfig>): FCSRuntime;
export {};
