import { ContainerArg } from "./args/ContainerArg"; import { Definition } from "./Definition"; import { ServiceName } from "./types"; export interface ClassServiceMetadata { name?: ServiceName; clazz: Function; constructorArguments: Array; propertiesInjectors: Map; annotations: any[]; } /** * Creates service metadata data for given class if it doesn't exist. Otherwise returns current service metadata. */ export declare function ensureMetadata(target: Function): ClassServiceMetadata; export declare function getMetadata(target: any): any; export declare function createDefinitionFromMetadata(metadata: ClassServiceMetadata, constructor: { new (...args: any[]): any; }): Definition;