///
import * as URL from 'url';
import * as download from 'download';
import { PackageType } from '../utils/package-type';
import { RepoTemplate } from './repo-template-entity';
export declare class DownloadManager {
constructor();
/**
* Download template from app center
* @param packageType: package type, such as application, component or plugin
* @param packageName: package name
* @param outputDir: outputDir
* @param provider: package provider, will promopt if not given
*/
downloadTemplateFromAppCenter(packageType: PackageType, packageName: string, outputDir: string, provider?: string): Promise;
downloadTemplateByUrl(template: RepoTemplate, outputDir: string): Promise;
downloadTemplateByGitClone(url: URL.Url, outputDir: string): Promise;
private getPackageProvider;
private getPackageDownloadUrl;
private generateUUID;
proxyDownload(url: string, dest: string, options: download.DownloadOptions): Promise;
}
//# sourceMappingURL=download-manager.d.ts.map