import { ExecutionResult, PrimeValue, Transfer, ResonanceAccount, ValidationResult } from './types.js'; import { isPrime, generatePrimes, factorizeToArray as factorize } from './prime-math.js'; import { computeResonance } from './math.js'; import { GasMeter } from './gas.js'; export { GasMeter, GasExhaustedError, GAS_COSTS, type GasOperation } from './gas.js'; export { validate } from './validator.js'; declare class ResoLangInterpreter { private tokens; private current; private context; private economy; private gasMeter; private scopeStack; private stats; constructor(gasLimit?: number); /** * Initialize the scope stack with a global scope */ private initializeScopeStack; /** * Get the current (innermost) scope */ private currentScope; /** * Push a new scope onto the stack (for function calls, blocks, etc.) */ private pushScope; /** * Pop the current scope from the stack */ private popScope; /** * Resolve a variable by walking up the scope chain * Returns the value if found, null if not found */ private resolveVariable; /** * Check if a variable exists in any scope */ private hasVariable; /** * Set a variable value * @param name - Variable name * @param value - Value to set * @param forceLocal - If true, always create in current scope (for VAR declarations) * If false, update existing variable or create in current scope */ private setVariable; /** * Get the scope where a variable is defined (for debugging/introspection) */ private getVariableScope; /** * Set gas limit for execution */ setGasLimit(limit: number): void; /** * Get gas meter for inspection */ getGasMeter(): GasMeter; private createContext; private createEconomyContext; /** * Set execution context for contract calls */ setEconomyContext(caller: string, contract?: string): void; /** * Register an account for use in execution */ registerAccount(account: ResonanceAccount): void; /** * Get all transfers from last execution */ getTransfers(): Transfer[]; /** * Get pending stakes from last execution */ getPendingStakes(): Map; /** * Get pending rewards from last execution */ getPendingRewards(): Map; execute(source: string, options?: { gasLimit?: number; }): ExecutionResult; private parseAndExecute; private executeStatement; private executeProgram; private executeConfig; private executeVariableDeclaration; private userFunctions; private executeFunction; private callUserFunction; private executeExecuteBlock; private executeBlock; private executeIf; private executeFor; private executeWhile; private executeLog; private executeStoreResult; private executeDistribute; /** * PAY(from, to, amount) * Transfer value from one account to another */ private executePay; /** * STAKE(staker, contract, amount) * Lock value in a contract */ private executeStake; /** * REWARD(recipient, amount) * Distribute rewards to an account */ private executeReward; /** * Resolve account identifier (CALLER, SELF, string, or variable) */ private resolveAccountIdentifier; /** * Convert expression to PrimeValue */ private toPrimeValue; /** * Execute a value transfer */ private executeTransfer; /** * Execute a stake operation */ private executeStakeOperation; /** * Execute a reward operation */ private executeRewardOperation; private executeAssignmentOrCall; private parseExpression; private parseComparison; private parseAddition; private parseMultiplication; private parseUnary; private parsePrimary; private parseArray; private parseObject; private parseIdentifier; private parseQuaternion; private executeGetPrimes; private executeComputeResonance; private executeFactorize; private executeIsPrime; private executeComputeEntropy; private executeMeasureCoherence; private executeComputeEnergy; private executeCreateSuperposition; private executeVectorAdd; private executeScale; private executeDistance; private executeNormalizeTanh; private executeGetEigenvector; private executeCopy; private isQuaternion; private skipBlock; private isTruthy; private stringify; private isAtEnd; private peek; private advance; private check; private consume; } export declare function execute(source: string): ExecutionResult; export { ResoLangInterpreter, generatePrimes, isPrime, factorize, computeResonance }; export type { ExecutionResult, ValidationResult }; //# sourceMappingURL=interpreter.d.ts.map