/**
 * SandboxRuntime - Runs code in a cross-origin iframe for secure execution
 *
 * This provides browser-enforced isolation from cookies, localStorage,
 * sessionStorage, and IndexedDB by running code on a different origin.
 */
import type { NetworkController } from './network/types';
import type { VirtualFS } from './virtual-fs';
import type { IRuntime, IExecuteResult, IRuntimeOptions } from './runtime-interface';
/**
 * SandboxRuntime - Executes code in a cross-origin iframe
 */
export declare class SandboxRuntime implements IRuntime {
    private iframe;
    private sandboxOrigin;
    private vfs;
    private options;
    private networkController;
    private initialized;
    private pending;
    private messageId;
    private changeListener;
    private deleteListener;
    private messageHandler;
    constructor(sandboxUrl: string, vfs: VirtualFS, options?: IRuntimeOptions);
    /**
     * Set up the message event handler
     */
    private setupMessageHandler;
    /**
     * Wait for the sandbox iframe to signal it's ready
     */
    private waitForReady;
    /**
     * Initialize the sandbox with VFS snapshot and options
     */
    private initSandbox;
    /**
     * Set up listeners for VFS changes to sync to sandbox
     */
    private setupVFSListeners;
    /**
     * Send a message and wait for response
     */
    private sendAndWait;
    /**
     * Execute code in the sandbox
     */
    execute(code: string, filename?: string): Promise<IExecuteResult>;
    /**
     * Run a file from the VFS in the sandbox
     */
    runFile(filename: string): Promise<IExecuteResult>;
    /**
     * Clear the module cache in the sandbox
     */
    clearCache(): void;
    /**
     * Get the VFS (main thread instance)
     */
    getVFS(): VirtualFS;
    getNetwork(): NetworkController;
    /**
     * Terminate the sandbox
     */
    terminate(): void;
}
//# sourceMappingURL=sandbox-runtime.d.ts.map