import IProjectParam from '../interface/IProjectParam';
import ITemplate from '../interface/ITemplate';
/**
 * TemplateUtil
 */
declare class TemplateUtil {
    static requestTemplateList(type: string): Promise<ITemplate[]>;
    /**
     * 验证项目名称，只能包含：字母、数字、-、_
     * @param value
     * @returns
     */
    static validateProjectName(value: string): boolean | string;
    /**
     * 创建项目
     * @param param
     * @param keywords
     * @param plugins
     * @param cwd
     */
    static createProject(param: IProjectParam, 
    /**
     * 要替换的词语
     */
    keywords?: {
        /**
         * [原词]:新词
         */
        data: Record<string, string>;
        /**
         * 是否对 path文件 执行替换操作
         * @param path
         * @returns
         */
        includes?: (path: string) => boolean;
    }, plugins?: ((projectPath: string, param: IProjectParam) => Promise<void>)[], 
    /**
     * 项目根目录，默认为 process.cwd()
     */
    cwd?: string): Promise<void>;
    /**
     * 修改_gitignore为.gitignore
     */
    static changeFileName(projectAbsolutePath: string): void;
}
export default TemplateUtil;
