import { IPropertyRef } from './IPropertyRef'; import { IBuildOptions } from './IBuildOptions'; import { IBaseRef } from './IBaseRef'; import { ILookupRegistry } from './ILookupRegistry'; import { IEntityRef } from './IEntityRef'; export declare function isClassRef(x: any): x is IClassRef; export interface IClassRef extends IBaseRef { isPlaceholder(): boolean; isAnonymous(): boolean; getClass(create?: boolean): Function; getPropertyRef(name: string): IPropertyRef; getPropertyRefs(): IPropertyRef[]; getEntityRef(): IEntityRef; hasEntityRef(): boolean; create(addinfo?: boolean): T; build(instance: any, options?: IBuildOptions): T; getNamespace(): string; switchNamespace(namespace: string): void; getRegistry(): ILookupRegistry; getExtend(): IClassRef; getExtends(): IClassRef[]; addExtend(ref: IClassRef): IClassRef; isOf(instance: any): boolean; }