export interface IScaffolder { (sourceFolder: string, outputFolder: string, options: IScaffoldTemplateData): Promise } export interface IMergeCallback { (sourcePath: string, outputPath: string): Promise; } export interface IScaffoldSettings { overwriteAllFiles?: boolean; } export interface IScaffoldTemplateData { project: string; projectID: string, frontendAssetsFolderName: string; blank: string; technologies: string[]; framework: { frontend: { /** * @pattern vue|vanilla */ type: 'vue' | 'vanilla', }; backend: { /** * @pattern django|node */ type: 'django' | 'craft' | 'node'; }; plugins: { djangocms?: boolean; lockdown?: boolean; }; }; }