export interface IContainer { bind(name: ID, instance: T, version?: string): void; unbind(name: ID, version?: string): void; get(name: ID, version?: string): T; } export type TypeObject = unknown | Function | [Function] | string | Record; export interface TypeConstructor extends Function { new (...args: any[]): T; } export type Identifier = string | symbol; export interface IdentifyOption { name: Identifier; version?: string; useLogger?: boolean; } export type TypeHandleInjectedClass = (target: TypeConstructor, injectedData: K) => void; export type TypeDefineMapKeyPropertyTypeDecorator = (data: { name?: string; index?: number; }) => string; export type TypeHandleInjectedProperty = (target: any, propertyKey: Identifier, injectedData?: T) => void; export type TypeHandleInjectedPropertyRequireInjectData = (target: any, propertyKey: Identifier, injectedData: T) => void; export type TypeHandleInjectedMethod = (target: any, propertyKey: Identifier, descriptor: TypedPropertyDescriptor, injectedData?: T) => TypedPropertyDescriptor | void; export type TypeHandleInjectedMethodParams = (target: any, propertyKey: Identifier | undefined, paramIndex: number, injectedData?: T) => void; //# sourceMappingURL=common.definition.d.ts.map