import { IEvalContext } from './eval'; import { Change, ExecReturn } from './executor'; import { IContext, IExecContext, IGlobals, IOptionParams, IScope, ISymbolWhitelist, SubscriptionSubject, HaltContext } from './utils'; export declare class SandboxExec { evalContext?: IEvalContext | undefined; readonly context: IContext; readonly setSubscriptions: WeakMap void>>>; readonly changeSubscriptions: WeakMap void>>; readonly sandboxFunctions: WeakMap; private haltSubscriptions; private resumeSubscriptions; halted: boolean; timeoutHandleCounter: number; readonly setTimeoutHandles: Map void; }; contsub: { unsubscribe: () => void; }; }>; readonly setIntervalHandles: Map void; }; contsub: { unsubscribe: () => void; }; }>; constructor(options?: IOptionParams, evalContext?: IEvalContext | undefined); static get SAFE_GLOBALS(): IGlobals; static get SAFE_SYMBOLS(): ISymbolWhitelist; static get SAFE_PROTOTYPES(): Map>; subscribeGet(callback: (obj: SubscriptionSubject, name: string) => void, context: IExecContext): { unsubscribe: () => void; }; subscribeSet(obj: object, name: string, callback: (modification: Change) => void, context: SandboxExec | IExecContext): { unsubscribe: () => void; }; subscribeSetGlobal(obj: SubscriptionSubject, name: string, callback: (modification: Change) => void): { unsubscribe: () => void; }; subscribeHalt(cb: (context: HaltContext) => void): { unsubscribe: () => void; }; subscribeResume(cb: () => void): { unsubscribe: () => void; }; haltExecution(haltContext?: HaltContext): void; resumeExecution(): void; getContext(fn: (...args: any[]) => any): IExecContext | undefined; executeTree(context: IExecContext, scopes?: IScope[]): ExecReturn; executeTreeAsync(context: IExecContext, scopes?: IScope[]): Promise>; } export default SandboxExec;