import type { AnyInjectionToken } from '../providers'; import { InjectionToken } from '../providers'; export interface InjectorCache { get: (token: InjectionToken) => T | undefined; getMany: (token: InjectionToken) => T[]; has: (token: InjectionToken) => boolean; provide: (token: InjectionToken, value: T, many?: boolean) => void; remove: (token: AnyInjectionToken) => void; reset: () => void; keys: () => IterableIterator; } export interface FallbackCache { get: (token: InjectionToken) => T | undefined; getMany: (token: InjectionToken) => T[]; has: (token: InjectionToken) => boolean; } export declare class InMemoryCache { private readonly providers; private readonly fallback?; constructor(providers: Map, fallback?: FallbackCache | undefined); private readonly tokens; private verifyToken; get(token: InjectionToken): T | undefined; getMany(token: InjectionToken): T[]; has(token: InjectionToken): boolean; provide(token: InjectionToken, value: T, many?: boolean): void; remove(token: AnyInjectionToken): void; reset(): void; keys(): IterableIterator; }