/** * Parameters provided to template during generation */ export interface TemplateParams { /** The module's name (e.g. "test-module") */ readonly module: string; /** The associated class name (e.g. "TestModule") */ readonly className: string; /** The associated camel name (e.g. "testModule") */ readonly camelName: string; } /** * Output generated by a template */ export interface TemplateOutput { /** Name of the file to create in the output module's directory */ readonly fileName: string; /** Should this file be considered as a script and be formatted? */ readonly script: boolean; /** The file's content */ readonly content: string; } /** * Template generator * Takes a parameters object and return a generated file object */ export declare type Template = (params: TemplateParams) => TemplateOutput;