import { IEvalContext } from '../eval'; import { Change } from '../executor'; import { IConstants, IExecutionTree, Lisp, LispItem } from '../parser'; import { default as SandboxExec } from '../SandboxExec'; import { IContext, IExecContext, IOptions, ISandboxGlobal, SandboxSymbolContext, SubscriptionSubject } from './types'; export declare class ExecContext implements IExecContext { ctx: IContext; constants: IConstants; tree: Lisp[]; getSubscriptions: Set<(obj: SubscriptionSubject, name: string) => void>; setSubscriptions: WeakMap void>>>; changeSubscriptions: WeakMap void>>; setSubscriptionsGlobal: WeakMap void>>>; changeSubscriptionsGlobal: WeakMap void>>; evals: Map; registerSandboxFunction: (fn: (...args: any[]) => any) => void; allowJit: boolean; evalContext?: IEvalContext | undefined; constructor(ctx: IContext, constants: IConstants, tree: Lisp[], getSubscriptions: Set<(obj: SubscriptionSubject, name: string) => void>, setSubscriptions: WeakMap void>>>, changeSubscriptions: WeakMap void>>, setSubscriptionsGlobal: WeakMap void>>>, changeSubscriptionsGlobal: WeakMap void>>, evals: Map, registerSandboxFunction: (fn: (...args: any[]) => any) => void, allowJit: boolean, evalContext?: IEvalContext | undefined); } export declare function getSandboxSymbolCtor(symbols: SandboxSymbolContext): Function; interface SandboxGlobalConstructor { new (): ISandboxGlobal; } export declare function sandboxedGlobal(globals: ISandboxGlobal): SandboxGlobalConstructor; export declare function createContext(sandbox: SandboxExec, options: IOptions): IContext; export declare function createExecContext(sandbox: { readonly setSubscriptions: WeakMap void>>>; readonly changeSubscriptions: WeakMap void>>; readonly sandboxFunctions: WeakMap<(...args: any[]) => any, IExecContext>; readonly context: IContext; }, executionTree: IExecutionTree, evalContext?: IEvalContext): IExecContext; export declare function isLisp(item: LispItem | LispItem): item is Type; export {};