import ivm, { TransferOptions } from 'isolated-vm';
export default class SandboxVM {
    private isolate;
    private context;
    private global;
    private importedModules;
    constructor(memoryLimit?: number);
    private createNativeMethods;
    importModule(modulePath: string): Promise<void>;
    addProperty(name: string, value?: ivm.Dereference<any>, transferOptions?: TransferOptions): void;
    getProperty(name: string): any;
    addMethod(name: string, fn: (...args: any) => void, options?: ivm.ContextEvalOptions | undefined): void;
    getMethod(name: string): any;
    executeCodeWithParameters(code: string, args: any[] | undefined, options: ivm.ContextEvalClosureOptions): Promise<any>;
    executeCode(code: string, options?: ivm.ContextEvalOptions): Promise<any>;
    executeCodeSync(code: string, options?: ivm.ContextEvalOptions): any;
}
