import { Effect } from "effect"; import { type ProgramNode } from "./model.js"; import { PromiseRuntime } from "./promises.js"; export declare class Interpreter { private scopes; private readonly executeTool; private readonly invokeSearch; private readonly toolKeys; private readonly logs; private readonly promises; private generatorState?; private generatorAsync; private readonly runner; constructor(executeTool: (path: ReadonlyArray, args: Array) => Effect.Effect, invokeSearch: (args: Array) => Effect.Effect, toolKeys: (path: ReadonlyArray) => ReadonlyArray, promises: PromiseRuntime, logs?: Array); run(program: ProgramNode): Effect.Effect; private createToolCallPromise; private createPromise; private settlePromise; private evaluateStatement; private evaluateBlock; private createFunction; private hoistFunctions; private predeclareLexical; private predeclarePattern; private evaluateIfStatement; private evaluateSwitchStatement; private evaluateWhileStatement; private evaluateDoWhileStatement; private evaluateForStatement; private evaluateForOfStatement; private awaitValue; private awaitAsyncFromSyncValue; private syncIterator; private customIterator; private nextIteratorResult; private closeIterator; private requireIteratorObject; private requireIterator; private requireIteratorMethod; private enumerableKeys; private evaluateForInStatement; private evaluateBreakStatement; private evaluateContinueStatement; private evaluateLabeledStatement; private evaluateThrowStatement; private evaluateTryStatement; private evaluateVariableDeclaration; private declarePattern; private assignPattern; private destructureArrayPattern; private destructuringPropertyKey; private destructuringPropertyValue; private evaluateExpression; private evaluateNewExpression; private constructArray; private constructObject; private constructDate; private toDatePrimitive; private constructRegExp; private constructMap; private constructSet; private constructURL; private constructURLSearchParams; private readURLSearchParamsPair; private evaluateBinaryExpression; private applyBinaryOperator; private evaluateLogicalExpression; private evaluateUnaryExpression; private evaluateAssignmentExpression; private evaluateLogicalAssignment; private evaluateUpdateExpression; private evaluateCallExpression; private invokeCallable; private invokeObjectMethodOnTools; private invokeConsole; private evaluateCallArguments; private invokeFunction; private createGenerator; private completeGeneratorRequests; private takeGeneratorRequest; private dequeueGeneratorRequest; private evaluateYieldExpression; private suspendGenerator; private delegateYield; private evaluateObjectExpression; private evaluateArrayExpression; private evaluateTemplateLiteral; private evaluateConditionalExpression; private applyCompoundAssignment; private getMemberReference; private readMember; private writeMember; private evaluateDeleteExpression; private modifyMember; private readReferenceValue; private assignToReference; private toPropertyKey; }