type funcType = ( obj ? : any , ... args : any [ ] ) => void ; export class Link { public name : string | ( ( ) => string ) ; public visibleCondition : boolean | ( ( ) => boolean ) ; public enabledCondition : boolean | ( ( ) => boolean ) ; public print : string | ( ( ) => void ) ; public func : funcType ; public tooltip : string | ( ( ) => string ) ; public image : any ; constructor ( name , visibleCondition , enabledCondition , print ? , func ? , tooltip ? ) { this . name = name ; this . visibleCondition = visibleCondition ; this . enabledCondition = enabledCondition ; this . print = print ; this . func = func ; this . tooltip = tooltip ; } } export interface IChoice { nameStr : string ; func : funcType ; obj ? : any ; enabled : boolean ; tooltip ? : string ; image ? : any ; }