import type ProvisionMap from './provisionMap'; import type { Interfaceable, ServiceProvider, ServiceRequirement, ServiceCache, ServiceBinding } from './types'; export declare const ENUM_PHASE_BOOTSTRAP = 1; export declare const ENUM_PHASE_INIT_SCOPE = 2; export declare const ENUM_PHASE_INJECTION = 3; declare type PhaseEnum = typeof ENUM_PHASE_BOOTSTRAP | typeof ENUM_PHASE_INIT_SCOPE | typeof ENUM_PHASE_INJECTION; /** * ServiceMaker makes services according to the services mapping resolved. */ export default class ServiceMaker { provisionMapping: ProvisionMap>; constructor(provisionMapping: ProvisionMap>); makeRequirements(requirements: ServiceRequirement>[], phase: PhaseEnum, singletonCache: ServiceCache, scopedCache: ServiceCache, runtimeProvisions: null | Map, unknown>): unknown[]; makeProvider(provider: ServiceProvider, phase: PhaseEnum, singletonCache: ServiceCache, scopedCache: ServiceCache, runtimeProvisions: null | Map, unknown>): unknown; private _makeBinding; private _makeProvider; private _makeRequirements; } export {};