import { EventEmitter } from "node:events"; import { RuntimeContextRegistry } from "../execution/RuntimeContextRegistry"; import { type PlatformWindow, type RendererIpcPort } from "../platform/ports"; import { BackendManager } from "../process-manager/BackendManager"; import { ViewManager } from "../view-manager/ViewManager"; import { CommandRegistry } from "./CommandRegistry"; import { EventSubscriberManager } from "./EventSubscriberManager"; import { PermissionRegistry } from "./PermissionRegistry"; /** * IPCBridge * * Central communication hub for IPC messages between: * - Main process * - Utility processes (app backends) * - WebContentsViews (app frontends) */ export declare class IPCBridge extends EventEmitter { private backendManager; private commandRegistry; private viewManager; private runtimeContexts; private rendererIpc; eventSubscribers: EventSubscriberManager; private eventHandler; private mainWindow; private runningAppIds; private pendingCommands; private backendMessageListener?; constructor(backendManager: BackendManager, commandRegistry: CommandRegistry, permissionRegistry: PermissionRegistry, viewManager: ViewManager, runtimeContexts: RuntimeContextRegistry, rendererIpc: RendererIpcPort); /** * Set the main window for shell communication */ setMainWindow(window: PlatformWindow): void; /** * Get the main window instance */ getMainWindow(): PlatformWindow | null; /** * Setup IPC handlers for renderer processes */ private setupIPCHandlers; /** * Setup handlers for backend utility process messages */ private setupBackendMessageHandlers; /** * Helper to send response to backend */ private sendBackendResponse; /** * Handle shell commands (app management, etc.) */ private handleShellCommand; /** * Provide running-app updates from the AppManager */ updateRunningApps(appIds: Iterable): void; getRunningAppIds(): string[]; /** * Cleanup */ destroy(): void; dispose(): void; } //# sourceMappingURL=IPCBridge.d.ts.map