import { IComponentBinding } from './IComponentBinding'; import { IExtraBindingInfo } from './IExtraBindingInfo'; import { IBindingRegistry } from './IBindingRegistry'; export declare class ComponentRegistry implements IBindingRegistry { private constructor(); private static $self; private handler; static $(): ComponentRegistry; static addHandle(typeName: string, handle: Function): IComponentBinding; static addComponent(typeName: string, comp: Function): IComponentBinding; static createHandle(typeName: string): T; static createComponent(typeName: string): T; static getClassName(obj: any): any; static getRegistryName(obj: any): any; addHandle(typeName: string | string[], handle: Function): IComponentBinding; addComponent(typeName: string | string[], comp: Function): IComponentBinding; normalizeContext(typeName: string | string[]): string; createHandle(typeName: string): T; createComponent(typeName: string): T; getComponentClass(context: string | string[]): any; setComponentClass(name: string | string[], fn: Function, extra?: IExtraBindingInfo): IComponentBinding; filter(f: (x: IComponentBinding) => boolean): IComponentBinding[]; find(f: (x: IComponentBinding) => boolean): IComponentBinding; forInstance(obj: object): IComponentBinding[]; forHandle(handle: Function | string): IComponentBinding[]; /** * Get or create definition for a component * * @param typeName * @param normalize */ getOrCreateDef(typeName: string | string[], normalize?: boolean): IComponentBinding; sort(): void; getDef(typeName: string | string[], normalize?: boolean): IComponentBinding; /** * Describe a provided component * * @param comp * @param handle * @param extra */ setComponentForClass(comp: Function, handle: Function | RegExp | string, extra?: IExtraBindingInfo): IComponentBinding; remove(filter: (x: IComponentBinding) => boolean): void; }