import type { Any, Arr } from '../interface'; import type { AstNode, FunctionLike } from '../parser/types'; import type { SourceCodeInfo } from '../tokenizer/token'; import type { MaybePromise } from '../utils/maybePromise'; import type { ContextStack } from './ContextStack'; interface ContextEntry { value: Any; } export type Context = Record; export type EvaluateNode = (node: AstNode, contextStack: ContextStack) => MaybePromise; export type ExecuteFunction = (fn: FunctionLike, params: Arr, contextStack: ContextStack, sourceCodeInfo?: SourceCodeInfo) => MaybePromise; export type LookUpResult = ContextEntry | null; export declare function isContextEntry(value: unknown): value is ContextEntry; export {};