type Fruit = "apple" | "orange" ; type Color = "red" | "orange" ; interface FruitConstructor { new ( arg ) : { fruit : string ; } ; } interface ColorConstructor { new ( arg ) : { color : Color ; } ; } declare let Ctor ; let obj = new Ctor ( "orange" ) ; if ( isFruit ( obj ) ) { console . log ( obj . fruit ) ; } function isFruit ( obj ) { return ! ! obj . fruit ; } export { } ;