import { IBind, IContainer, ResolvableObject } from './interfaces.js'; import { Class, Factory } from './types.js'; export declare class Binder implements IBind { private implementation; private container; private isFactory; private isConstructor; constructor(implementation: Class | Factory | ResolvableObject, container: IContainer); as(type: string | Class): this; /** * Add plain value to container. If value exists, it overrides content in container cache * * @param type - name of added value * @param override - if true, any value registered before is overriden by new one * @returns */ asValue(type: string, override?: boolean): this; /** * * Add plain value to container, value is stored in hashmap for quick access * eg. we have multiple value converters and we wanc o(1) access, instead searching for * converter for specific type * * @param type - name of added value * @param key - hashmap key */ asMapValue(type: string, key: string): this; /** * Register type as itself. Usefull when we also want to register type as self instead of base class * so we can retrieve just this specific instance. * @returns this */ asSelf(): this; /** * Mark type as SingleInstance resolve strategy. * @returns this */ singleInstance(): this; } //# sourceMappingURL=binder.d.ts.map