import { ModuleLocator } from '@glimmer/interfaces'; /** * The ModuleLocatorMap is a map-like data structure that accepts a * ModuleLocator as the key. Instead of relying on a locator's identity to * determine uniqueness, it instead indexes values based on the locator's * `module` and `name` properties. * * This means you can use different object literals as locators to get and set * values from the map, even if though they do not share identity: * * ```ts * let map = new ModuleLocatorMap; * map.set({ module: 'foo', name: 'default' }, 123); * map.get({ module: 'foo', name: 'default' }); // returns 123 * ``` */ export default class ModuleLocatorMap { private byModule; private locators; set(locator: K, value: V): this; get({ module, name }: K): V | undefined; forEach(cb: (value: V, key: K) => void): void; private _byName; } //# sourceMappingURL=module-locator-map.d.ts.map