/// import * as fs from "fs"; export declare enum TaskStatus { PENDING = 0, DONE = 1, DROPPED = 2 } interface FileConcentratorParams { taskStatusRecord: TaskStatus[]; outputPath: string; deleteAfterWritten?: boolean; ignoreBreakpoints?: boolean; } interface ConcentrationTask { filePath: string; index: number; } declare class FileConcentrator { taskStatusRecords: TaskStatus[]; taskWriteCount: number[]; breakpoints: number[]; tasks: ConcentrationTask[]; outputFilename: string; outputFileExt: string; writeStream: fs.WriteStream; lastFinishIndex: number; writeSequence: number; isCheckingWritableFiles: boolean; deleteAfterWritten: boolean; ignoreBreakpoints: boolean; constructor({ taskStatusRecord, outputPath, deleteAfterWritten, ignoreBreakpoints }: FileConcentratorParams); private createNextWriteStream; private waitStreamWritable; private checkWritableTasks; private writeFiles; addTasks(tasks: ConcentrationTask[]): void; /** * 注意:必须在所有任务添加后调用 */ waitAllFilesWritten(): Promise; closeWriteStream(): Promise; getOutputFilePaths(): string[]; } export default FileConcentrator;