///
import { EventEmitter } from 'events';
declare type IconType = string | {
[key: string]: string;
};
interface IBrowserActionInfo {
icon?: IconType;
popup?: string;
title?: string;
badgeText?: string;
badgeBackgroundColor?: string | number[];
}
interface IBrowserAction extends IBrowserActionInfo {
baseUrl: string;
extensionId: string;
tabs: Map;
}
export declare interface BrowserActionAPI {
on(event: 'updated', listener: (action: IBrowserAction) => void): this;
on(event: 'loaded', listener: (action: IBrowserAction) => void): this;
on(event: string, listener: Function): this;
}
export declare class BrowserActionAPI extends EventEmitter {
private sessionActionMap;
constructor();
private getAllHandler;
private getOrCreate;
loadFromManifest(session: Electron.Session, extension: Electron.Extension): IBrowserAction;
getAllInSession(session: Electron.Session): IBrowserAction[];
getAllInTab(tabId: number): IBrowserAction[];
onClicked(extensionId: string): void;
}
export {};