/**
 * type defines for macros
 */ import * as ts from 'typescript' ; export interface NodeTransformParameter { /**
     * the node which is visited
     */ readonly node : ts . Node ; experimental readonly languageService : ts . LanguageService ; param node returns reference ( node ) : false | string ; } /**
 * all macros should export ____$$$$____typescriptMacroNodeTransformFunction____$$$$____
 *
 * which is function and whose type sig is TypeScriptMacroNodeTransformFunctions
 *
 */ export type TypeScriptMacroNodeTransformFunction = ( param : NodeTransformParameter ) => ts . Node | undefined ; export type TransformerFactoryCreator = ( languageService : ts . LanguageService ) => ts . CustomTransformers ;