import { Map } from 'immutable'; export interface IMapRegistry { add: (key: string, item: T | any, ...rest: any[]) => void; set: (key: string, item: T | any, ...rest: any[]) => void; } /** * A generic Registry class in the BlueRain OS. Used to store data. */ export default class MapRegistry implements IMapRegistry { name: string; data: Map; constructor(name: string); /** * Add an item to the Registry. * Removed check from bluerain-OS map registry * @param {string} key The key of the item * @param {any} item The item to add */ add(...args: any[]): void; /** * Replace an item in the Registry. * * @param {string} key The key of the item * @param {any} item The item to add */ set(...args: any[]): void; /** * Get an item from the Registry by its key. * * @param {string} key The key of the item * @returns {any} */ get(key: string): any; /** * Check if an item is registered. * * @param {string} name The name of the item to check * @returns {boolean} */ has(key: string): boolean; /** * Remove a plugin from the registry * @param {string} key The key plugin to remove */ remove(...args: any[]): void; /** * Shallowly converts data collection to an Object. */ toObject(): { [key: string]: T; }; /** * Clear registry contents */ clear(): void; }