Metadata
Metadata is responsible for getting or setting metadata definitions for some Class and It's crucial for injector.
export declare class Metadata {
static getName(Class: any, prefix?: string): string;
static inVerifiedProviders(providers: Array<IProvider>, provider: IProvider): boolean;
static getVerifiedProvider(providers: Array<IProvider>, provider: IProvider): IProvider;
static inProviders(providers: Array<any>, provider: any): boolean;
static getProviderInProviders(providers: Array<any>, provider: any): IProvider;
static isProvider(token: any): boolean;
static isDescriptor(value: Object): boolean;
static defineMetadata(token: Function, name: string, value: any): boolean;
static hasMetadata(token: Function, name: string): boolean;
static getMetadata(token: Function, name: string, defaultValue?: any): any;
static getComponentConfig(Class: Function): any;
static setComponentConfig(Class: Function, config: any): void;
static getConstructorProviders(Class: Function): Array<IProvider>;
static getConstructorPrototypeKeys(Class: Function): any;
static getConstructorInjectKeys(Class: Function): Array<any>;
static hasProvider(providers: Array<any>, Class: Function): boolean;
static mergeProviders(a: Array<IProvider>, b: Array<IProvider>): IProvider[];
static verifyProviders(providers: Array<any>): Array<IProvider>;
static verifyProvider(value: any): IProvider;
}