export default class Storage { private storage; private Factory; constructor(Factory: new () => T); /** * Returns the element with the given name. * If no element with the name exists, a new Element gets created. * @param name - The name of the element. */ get(name: string): T; /** * Sets or overwrites the element with the given name. * @param name - The name of the element. * @param value - The new value. */ set(name: string, value: T): void; /** * Removes an element from the storage. * @param name - The name of the element. */ remove(name: string): void; /** * Contains the names of all elements. */ readonly keys: string[]; }