import * as vfs from '../fs'; import * as download from './download'; import FormData = require('form-data'); import Block from './Block'; import Component from './Component'; import Template from './Template'; export { download, Block, Component, Template }; export declare function getCacheDir(subPath?: string): string; export declare function getRunControl(): string; export interface FormFile { name: string; path: string; [prop: string]: any; } export declare const upload: { getFormData(files: string | FormFile | Array): FormData; nos(files: string | FormFile | Array): Promise; micro(files: string | FormFile | Array, prefix?: string): Promise; framework(files: string | FormFile | Array, framework: string): Promise; }; /** * 获取最新的区块模板 */ export declare function fetchLatestBlockTemplate(): Promise; /** * 获取最新的组件模板 */ export declare function fetchLatestComponentTemplate(): Promise; export declare function formatTemplate(src: string, params?: object, formatter?: (content: string, params: object) => string): Promise; export declare function formatTemplateTo(src: string, dest: string, params?: object, formatter?: (content: string, params: object) => string): Promise; export interface MaterialSource { type: string; registry: string; name: string; path?: string; version?: string; commit?: string; fileName?: string; baseName?: string; } export interface MaterialOptions { /** * file: ./templates/componentA * file: /Users/alice/templates/componentA * npm: s-basic-form * npm: s-basic-form.vue * npm: s-basic-form.vue@0.3.2 * disable: npm: s-basic-form.vue@0.3.2:some/directory * npm: @cloud-ui/s-basic-form.vue * npm: @cloud-ui/s-basic-form.vue:some/directory * cnpm: cnpm:@cloud-ui/s-basic-form.vue * nnpm: nnpm:@cloud-ui/s-basic-form.vue * github: github:user/repo * disable: gitlab: gitlab:user/repo#master:some/directory */ source: string | MaterialSource; target: string; name: string; title?: string; } export interface ProcessedMaterialOptions { /** * file: ./templates/componentA * file: /Users/alice/templates/componentA * npm: s-basic-form * npm: s-basic-form.vue * npm: s-basic-form.vue@0.3.2 * disable: npm: s-basic-form.vue@0.3.2:some/directory * npm: @cloud-ui/s-basic-form.vue * npm: @cloud-ui/s-basic-form.vue:some/directory * cnpm: cnpm:@cloud-ui/s-basic-form.vue * nnpm: nnpm:@cloud-ui/s-basic-form.vue * github: github:user/repo * disable: gitlab: gitlab:user/repo#master:some/directory */ source: MaterialSource; target: string; name: string; title?: string; } export declare function processOptions(options: MaterialOptions): ProcessedMaterialOptions; export declare function getTemplate(packageName: string): Promise