import * as inversify from 'inversify'; import { Container as Container$1, ContainerOptions } from 'inversify'; type Constructor = { new (...args: any[]): T; } | any; type Id = string | symbol; type IdsCache = { [key: string]: Id; }; /** * This class is the wrapper of inversify Container to add more functionalities. * The library exports an instance of the class but you can create your own instance */ declare class Container extends Container$1 { bindTo(constructor: Constructor, customId?: Id): inversify.BindInWhenOnFluentSyntax; addTransient(constructor: Constructor, customId?: Id): inversify.BindWhenOnFluentSyntax; addSingleton(constructor: Constructor, customId?: Id): inversify.BindWhenOnFluentSyntax; addRequest(constructor: Constructor, customId?: Id): inversify.BindWhenOnFluentSyntax; } declare function getContainer(): Container; declare function setContainer(options?: ContainerOptions): Container; declare function resetContainer(): void; declare let idsCache: IdsCache; declare function resetIdsCache(): void; declare function generateIdFromName(name: string, id?: Id): Id; declare function generateIdOfDependency(constructor: Constructor, id?: Id): Id; declare function generateIdName(constructorName: string): string; declare function generateIdNameOfDependency(constructor: Constructor, id?: Id): string; declare function addIdToCache(id: Id, name: string): Id; declare function generateIdAndAddToCache(constructor: Constructor, id?: Id): Id; declare function getOrSetIdFromCache(dependencyIdName: string, id?: Id): Id; declare function injectable(): (constructor: Constructor) => any; declare function inject(customId?: Id, debug?: boolean): (target: any, methodName: string | symbol | undefined, indexOrDescriptor?: number | PropertyDescriptor) => void; declare const Inject: typeof inject; declare function isParameterDecorator(index: number): boolean; declare function mockSingleton(id: string | symbol, to: { new (...args: any[]): T; }): void; declare function mockTransient(id: string | symbol, to: { new (...args: any[]): T; }): void; declare function mockRequest(id: string | symbol, to: { new (...args: any[]): T; }): void; declare function getParametersFromConstructor(constructor: Constructor): string[]; declare function getParametersAsStringFromConstructor(constructor: Constructor): string; declare function convertStringParametersToList(stringParameters: string): string[]; declare function cleanParameter(parameter: string): string; declare const container: Container; declare const cid: IdsCache; export { type Constructor, Container, type Id, type IdsCache, Inject, addIdToCache, cid, cleanParameter, container, convertStringParametersToList, generateIdAndAddToCache, generateIdFromName, generateIdName, generateIdNameOfDependency, generateIdOfDependency, getContainer, getOrSetIdFromCache, getParametersAsStringFromConstructor, getParametersFromConstructor, idsCache, inject, injectable, isParameterDecorator, mockRequest, mockSingleton, mockTransient, resetContainer, resetIdsCache, setContainer };