import type { ContextMenuOpenArgs, ContextMenuOpenEvent, ContextMenuResult } from "@edenapp/types"; import { CommandRegistry, EdenEmitter, IPCBridge } from "../ipc"; import { ViewManager } from "../view-manager"; interface ContextMenuNamespaceEvents { opened: { menu: ContextMenuOpenEvent; }; closed: ContextMenuResult; } interface ContextMenuCaller { appId?: string; webContentsId?: number; } export declare class ContextMenuManager extends EdenEmitter { private viewManager; private handler; private idCounter; private activeRequest; private displayProviders; constructor(ipcBridge: IPCBridge, commandRegistry: CommandRegistry, viewManager: ViewManager); private generateId; registerDisplayProvider(caller: ContextMenuCaller): { success: boolean; }; /** * Send event to display provider and opener only (targeted multicast). */ private notifyContextMenu; private toGlobalPosition; private toPositionFromView; private isCallerAuthorized; openMenu(args: ContextMenuOpenArgs, caller?: ContextMenuCaller): { requestId: string; }; resolveMenu(result: ContextMenuResult): { success: boolean; }; closeMenu(requestId: string | undefined, caller?: ContextMenuCaller): { success: boolean; }; dispose(): void; } export {}; //# sourceMappingURL=ContextMenuManager.d.ts.map