/** * Namespace: browser.permissions * Generated from Mozilla sources. Do not manually edit! * * Permissions: "manifest:optional_permissions" */ import { Manifest } from "./manifest"; import { Events } from "./events"; export namespace Permissions { interface Permissions { /** * Optional. */ permissions?: Manifest.OptionalPermission[]; /** * Optional. */ origins?: Manifest.MatchPattern[]; } interface AnyPermissions { /** * Optional. */ permissions?: Manifest.Permission[]; /** * Optional. */ origins?: Manifest.MatchPattern[]; } interface Static { /** * Get a list of all the extension's permissions. */ getAll(): Promise; /** * Check if the extension has the given permissions. * * @param permissions */ contains(permissions: AnyPermissions): Promise; /** * Request the given permissions. * * @param permissions */ request(permissions: Permissions): Promise; /** * Relinquish the given permissions. * * @param permissions */ remove(permissions: Permissions): Promise; /** * Fired when the extension acquires new permissions. * * @param permissions */ onAdded: Events.Event<(permissions: Permissions) => void>; /** * Fired when permissions are removed from the extension. * * @param permissions */ onRemoved: Events.Event<(permissions: Permissions) => void>; } }