/// declare module MarkScript { interface Build { buildConfig: BuildConfig plugins?: any[] pkgDir?: string runtime?: RuntimeConstructor tasks?: { [name: string]: Task } buildModelPersistanceFolder?: string } type BuildModel = Model & AssetModel interface RuntimeConstructor { new (buildModel: BuildModel, buildConfig: BuildConfig, pkgDir?: string): Runtime } interface Runtime { start?():Promise stop?():Promise } interface Task { execute(buildModel: BuildModel, buildConfig: BuildConfig, runtime: any): Promise description?: string requiresFreshModel?: boolean } interface BuildConfig { databaseConnection: { host?: string httpPort?: number adminPort?: number configPort?: number user: string password?: string } model?:BuildModel assetBaseDir?: string } }