import type { Disposable, QuickJSContext, QuickJSDeferredPromise, QuickJSHandle } from 'quickjs-emscripten-core'; export declare function fn(ctx: QuickJSContext, code: string): ((thisArg: QuickJSHandle | undefined, ...args: QuickJSHandle[]) => QuickJSHandle) & Disposable; export declare function call(ctx: QuickJSContext, code: string, thisArg?: QuickJSHandle, ...args: QuickJSHandle[]): QuickJSHandle; export declare function arrayBufferEq(ctx: QuickJSContext, a: QuickJSHandle, b: QuickJSHandle): boolean; export declare function eq(ctx: QuickJSContext, a: QuickJSHandle, b: QuickJSHandle): boolean; export declare function instanceOf(ctx: QuickJSContext, a: QuickJSHandle, b: QuickJSHandle): boolean; export declare function isArrayBuffer(ctx: QuickJSContext, a: QuickJSHandle): boolean; export declare function isHandleObject(ctx: QuickJSContext, h: QuickJSHandle): boolean; export declare function json(ctx: QuickJSContext, target: any): QuickJSHandle; export declare function consumeAll(handles: T, cb: (handles: T) => K): K; export declare function mayConsume([handle, shouldBeDisposed]: [QuickJSHandle, boolean], fn: (h: QuickJSHandle) => T): T; export declare function mayConsumeAll(handles: { [P in keyof H]: [QuickJSHandle, boolean]; }, fn: (...args: H) => T): T; export declare function handleFrom(d: QuickJSDeferredPromise | QuickJSHandle): QuickJSHandle;