export interface ConfigContainerClass < T extends BaseConfigContainer > { new ( callback , caller , arg ) : T ; } export abstract class BaseConfigContainer { protected mTag : any ; public get tag ( ) : any { return this . mTag ; } public set tag ( value ) { this . mTag = value ; } }