///
///
import { BrowserWindow } from 'electron';
import { IpcExtension } from '../models/ipc-extension';
import { IStorage } from '../models/storage';
import { EventEmitter } from 'events';
export declare const storages: Map;
export interface IOptions {
preloadPath?: string;
blacklist?: string[];
partition?: string;
}
export declare interface ExtensibleSession {
on(event: 'create-tab', listener: (details: chrome.tabs.CreateProperties, callback: (tabId: number) => void) => void): this;
on(event: 'set-badge-text', listener: (extensionId: string, details: chrome.browserAction.BadgeTextDetails) => void): this;
on(event: string, listener: Function): this;
}
export declare class ExtensibleSession extends EventEmitter {
extensions: {
[key: string]: IpcExtension;
};
id: number;
windows: BrowserWindow[];
lastFocusedWindow: BrowserWindow;
session: Electron.Session;
activeTab: number;
partition: string;
blacklist: string[];
private _configured;
private _initialized;
private _options;
constructor(options?: IOptions);
private _init;
loadExtension(dir: string): Promise;
addWindow(window: BrowserWindow): void;
}