import 'reflect-metadata'; import type { ContainerInterface, ContextualBinding, Factory, ServiceIdentifier } from './types.js'; export declare class Container implements ContainerInterface { private bindings; private contextualBindings; private resolvingStack; bind(identifier: ServiceIdentifier, factory: Factory): void; singleton(identifier: ServiceIdentifier, factory: Factory): void; bindValue(identifier: ServiceIdentifier, value: T): void; make(identifier: ServiceIdentifier): T; has(identifier: ServiceIdentifier): boolean; when(target: ServiceIdentifier): ContextualBindingBuilder; addContextualBinding(binding: ContextualBinding): void; flush(): void; private resolve; resolveContextual(target: ServiceIdentifier, dependency: ServiceIdentifier): unknown; private autowire; private formatIdentifier; } declare class ContextualBindingBuilder { private container; private target; private dependencyId?; constructor(container: Container, target: ServiceIdentifier); needs(dependency: ServiceIdentifier): this; give(implementation: ServiceIdentifier | Factory): void; } export {}; //# sourceMappingURL=container.d.ts.map