import type { Interfaceable, SingularServiceInterface, MultiServiceInterface, PolymorphicServiceInterface, ServiceProvider } from './types'; export default class ProvisionMap { _singularMapping: Map, T>; _multiMapping: Map, T[]>; _polymorphicMapping: Map, Map>; constructor(base?: ProvisionMap); getSingular(target: SingularServiceInterface | ServiceProvider): null | T; getMulti(target: MultiServiceInterface): T[]; getPolymorphic(target: PolymorphicServiceInterface): Map; setSingular(target: SingularServiceInterface | ServiceProvider, value: T): null | T; setMulti(target: MultiServiceInterface, value: T): null | T[]; setPolymorphic(target: PolymorphicServiceInterface, value: T, platform: string): null | T; merge(mergee: ProvisionMap): ProvisionMap; [Symbol.iterator](): Generator<[ Interfaceable, T, string? ], void, void>; }