import { type QuickJSContext, type QuickJSRuntime, type QuickJSWASMModule } from 'quickjs-emscripten'; import { VMInitOpts } from './types'; import { Marshaller } from './marshal'; export declare class VMManager { module?: QuickJSWASMModule; runtime?: QuickJSRuntime; vm?: QuickJSContext; marshaller: Marshaller; ready: boolean; private _readyPromise?; private vmContextMapKey; constructor(); init({ debug, async, runtimeOpts, contextOpts, variant, variantOptions }?: VMInitOpts): Promise; teardown(): Promise; awaitReady(): Promise; requireVM(): QuickJSContext; registerVMGlobal(key: string, val: any): void; eval(code: string): any; scopedEval(code: string, contextVars: Record): any; private setReady; private getVariant; private getOrCreateContextMap; }