import { Archetype } from "../Archetype" ; export interface IProjectCreationMetadata { archetype ? : Archetype ; archetypeArtifactId ? : string ; archetypeGroupId ? : string ; archetypeVersion ? : string ; groupId ? : string ; artifactId ? : string ; targetFolder ? : string ; targetFolderHint ? : string ; } export interface IProjectCreationStep { /**
     * Specify previous step, `undefined` indicates this is the first step.
     */ previousStep ? : IProjectCreationStep ; /**
     * Specify next step, `undefined` indicates this is the final step.
     */ nextStep ? : IProjectCreationStep ; param metadata run ( metadata ) : Promise < StepResult > ; } /**
 * Indicates which step to go after running task in current step.
 */ export enum StepResult { NEXT , STOP , PREVIOUS }