import type { Token } from '../../utils/types.js'; import type { Binding } from '../binding/Binding.js'; import type { AnyScopeResolver } from '../scope/AnyScopeResolver.js'; import type { ScopeAnchor } from '../scope/ScopeAnchor.js'; type RegistryMap = Map; type ScopeRegistryMap = WeakMap; export declare class ScopeRegistry { protected readonly anyScopeResolver: AnyScopeResolver; protected readonly registryMap: ScopeRegistryMap; constructor(anyScopeResolver: AnyScopeResolver); register(binding: Binding, anchor: ScopeAnchor): void; unregister(binding: Binding, anchor: ScopeAnchor): void; private internalResolve; resolve(token: Token, anchor: A): V; tryResolve(token: Token, anchor: A): V | null; getBinding(token: Token, anchor: A): Binding; } export {};