import { type QuickJSContext, type QuickJSHandle } from 'quickjs-emscripten'; export declare class Marshaller { private vm?; valueCache: Map; vmCacheIdSymbol: symbol; hostCacheIdSymbol: symbol; private cacheIdMap; constructor(vm?: QuickJSContext | undefined); init(vm: QuickJSContext): void; teardown(): void; requireVM(): QuickJSContext; marshal(value: any, parentCacheId?: string): QuickJSHandle; unmarshal(handle: QuickJSHandle): any; serializeJSValue(value: any, magicToken?: string, parentCacheId?: string): { serialized: string; token: string; }; deserializeVMValue(serialized: string, token: string, json?: boolean, parentCacheId?: string): any; private _cacheValue; private getCacheId; private _createVMProxy; private _getVMCachedPromise; private _initHelpers; private __VMCache_get; private __VMCache_set; private __VMCache_apply; private __VMCache_construct; private __VMCache_defineProperty; private __VMCache_deleteProperty; private __VMCache_getOwnPropertyDescriptor; private __VMCache_getPrototypeOf; private __VMCache_has; private __VMCache_isExtensible; private __VMCache_ownKeys; private __VMCache_preventExtensions; private __VMCache_setPrototypeOf; private __isNullish; }