export interface IBuilder { readSrcPackage(): Promise; readConfig(): Promise; build(): Promise; } export interface IBuilderOptions { srcPath: string; distPath: string; configPath: string; packagePath: string; } export interface IBuilderConfig { mergePackageWith: { [key: string]: any; }; omitPackageKeys: string[]; copyFiles: string[]; copyDirs: string[]; } export interface IBuilderPackage { [key: string]: any; tempack: IBuilderConfig; }