import { IExportData } from '../types/base'; interface IRenderData { [key: string]: any; } interface IRegistration { [key: string]: any[]; } interface IRenderFile { (templatePath: string, targetDir: string, extraData?: IRenderData): void; } export default class Generator { templateDir: string; targetDir: string; renderData: IRenderData; contentRegistration: IRegistration; private rerender; private projectRoot; private log; private showPrettierError; constructor({ projectRoot, targetDir, templateDir, defaultData, log }: { projectRoot: any; targetDir: any; templateDir: any; defaultData: any; log: any; }); addExport: (registerKey: any, exportData: IExportData | IExportData[]) => void; removeExport: (registerKey: string, removeExportName: string | string[]) => void; addContent(apiName: any, ...args: any[]): void; private getExportStr; parseRenderData(): void; generateImportStr(apiName: any): string; render(): Promise; renderFile: IRenderFile; } export {};