/**
 * `electron` main-process module shim.
 *
 * Returned by `require('electron')` inside the almostnode runtime, one instance
 * per runtime (wired into `Runtime.builtinModules`). It emulates the Electron
 * *main* process: `app` lifecycle, `BrowserWindow` (backed by a host-provided
 * iframe window), `webContents`, and `ipcMain`. IPC to the renderer travels
 * over the host window handle's postMessage transport using the wire protocol
 * defined in `../frameworks/electron-host`.
 *
 * Scope (MVP): modern secure apps — contextIsolation + preload + contextBridge,
 * ipcMain.handle/ipcRenderer.invoke + send/on. The renderer-side `electron`
 * (`ipcRenderer`, `contextBridge`) is provided by the injected preload bridge,
 * NOT by this module — matching real Electron, where `require('electron')` in
 * the main process does not expose `ipcRenderer`.
 */
import type { VirtualFS } from '../virtual-fs';
import { type ElectronHost } from '../frameworks/electron-host';
/** Minimal view of the runtime process this shim relies on. */
export interface ElectronProcessLike {
    cwd(): string;
    env: Record<string, string | undefined>;
    platform?: string;
}
export interface ElectronShimContext {
    vfs: VirtualFS;
    process: ElectronProcessLike;
    /** Override the host lookup (defaults to the global registration seam). */
    getHost?: () => ElectronHost;
    /** Electron version reported via app.getVersion() fallback. */
    electronVersion?: string;
}
export declare function createElectronShim(ctx: ElectronShimContext): Record<string, unknown>;
export default createElectronShim;
//# sourceMappingURL=electron.d.ts.map