/// <reference types="node" />
import { IBuildContext } from '../mp/BuildContext';
import { OutputType } from 'jszip';
export declare const generatedFileContents: {};
export default function generateFiles(ctx: IBuildContext, appFileData: any, srcDir: string, dstDir: string): Promise<string[]>;
export declare function writeFile(outFile: string, content: string): Promise<boolean>;
export declare function removeFile(file: string): void;
/**
 * Remove file in the dir but not in the allowedFiles
 */
export declare function cleanDir(dir: string, allowedFiles: string[]): void;
/**
 * 用 writeFile 模拟 copyFile
 * @param srcFiles 相对路径文件
 * @param srcDir 文件目录
 * @param dstDir 目标目录
 */
export declare function copyFiles(copyFiles: string[], srcDir: string, dstDir: string): Promise<void[]>;
export declare function copy(src: string, dest: string): Promise<void>;
/**
 * 复制文件
 * @param source 源文件
 * @param target 目标文件
 */
export declare function copyFileSync(source: string, target: string): void;
/**
 * 根据源文件目录，输出目录，递归复制文件
 * @param {string} src  源文件目录
 * @param {string} dest 输出目录
 */
export declare const copyRecursiveSync: (src: string, dest: string, options?: {
    filter: (src: string, dest: string) => boolean;
} | undefined) => void;
/**
 * 返回指定目录的文件列表内容，返回map格式
 * @param dir 指定目录
 * @param files_ 文件列表
 * @param replacePath 去掉前面路径
 * @returns
 */
export declare function getFiles(dir: string, files_: any, replacePath?: string): any;
/**
 * 将文件压缩为zip包
 * 参考JSZip例子：https://stuk.github.io/jszip/documentation/examples/download-zip-file.html
 * @param files
 * @param type
 * @returns
 */
export declare function fileToZip(files: {
    [key: string]: Uint8Array;
}, type: OutputType): Promise<string | Buffer | Uint8Array | number[] | ArrayBuffer | Blob>;
export declare function strToBuf(str: any): Buffer;
