import { Type } from '@angular/core'; import { ChargedSuperpowers } from './superpowers.token'; import { ISuperpower } from './i-superpower'; /** * Globally registers superpowers in the system. Communicates with `SuperpowersService` through the `Superpowers` token. * Any registered superpower will be fed to `SuperpowersService` instances throughout the system to have them load * a new instance of the superpower. */ export declare class SuperpowersChargerService { private chargedPowers; /** * Creates an instance of SuperpowersChargerService. * * @param {ChargedSuperpowers} chargedPowers All the types of superpowers currently charged and known to the system. */ constructor(chargedPowers: ChargedSuperpowers); /** * Globally registers a new superpower and notifies all `SuperpowerService` instances of the new power. * * @param {Type} superpowerType The type of power to register. */ charge(superpowerType: Type): void; }