/// /// import { EventEmitter } from 'events'; import { ContextMenuType } from './api/common'; import { ChromeExtensionImpl } from './impl'; import { ExtensionEvent } from './router'; export declare class ExtensionStore extends EventEmitter { impl: ChromeExtensionImpl; /** Tabs observed by the extensions system. */ tabs: Set; /** Windows observed by the extensions system. */ windows: Set; lastFocusedWindowId?: number; /** * Map of tabs to their parent window. * * It's not possible to access the parent of a BrowserView so we must manage * this ourselves. */ tabToWindow: WeakMap; /** Map of windows to their active tab. */ private windowToActiveTab; tabDetailsCache: Map>; windowDetailsCache: Map>; constructor(impl: ChromeExtensionImpl); getWindowById(windowId: number): Electron.BrowserWindow; getLastFocusedWindow(): Electron.BrowserWindow; getCurrentWindow(): Electron.BrowserWindow; addWindow(window: Electron.BrowserWindow): void; createWindow(event: ExtensionEvent, details: chrome.windows.CreateData): Promise; removeWindow(window: Electron.BrowserWindow): Promise; getTabById(tabId: number): Electron.WebContents; addTab(tab: Electron.WebContents, window: Electron.BrowserWindow): void; removeTab(tab: Electron.WebContents): void; createTab(details: chrome.tabs.CreateProperties): Promise; getActiveTabFromWindow(win: Electron.BrowserWindow): Electron.WebContents; getActiveTabFromWebContents(wc: Electron.WebContents): Electron.WebContents | undefined; getActiveTabOfCurrentWindow(): Electron.WebContents; setActiveTab(tab: Electron.WebContents): void; buildMenuItems(extensionId: string, menuType: ContextMenuType): Electron.MenuItem[]; }