/**
* This file is part of the @egodigital/egoose distribution.
* Copyright (c) e.GO Digital GmbH, Aachen, Germany (https://www.e-go-digital.com/)
*
* @egodigital/egoose is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, version 3.
*
* @egodigital/egoose is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
///
/**
* Builds a ZIP file.
*/
export declare class ZipBuilder {
private _buffer;
private readonly _STEPS;
/**
* Adds a buffer.
*
* @param {string} p The path in the zip file.
* @param {Buffer} data The data to write.
*
* @return this
*/
addBuffer(p: string, data: Buffer): this;
/**
* Adds an empty directory.
*
* @param {string} p The path in the zip file.
*
* @return this
*/
addDir(p: string): this;
/**
* Adds all files of a local directory.
*
* @param {string} dir The path of the local directory.
* @param {string} [basePath] The custom base (zip) path.
*/
addFiles(dir: string, basePath?: string): this;
private createZipInstance;
/**
* Creates a new ZIP file as buffer.
*
* @return {Promise} The promise with the buffer.
*/
toBuffer(): Promise;
}
/**
* Starts building a ZIP file.
*
* @return {ZipBuilder} The new builder instance.
*/
export declare function buildZip(): ZipBuilder;