/**
 * Promise-based ZIP archive builder
 *
 * @example
 * const zipper = new ZipBuilder("output.zip");
 * zipper.addFile("file1.txt", "renamed.txt");
 * zipper.addFile("file2.txt");
 * await zipper.finalize();
 */
export declare class ZipBuilder {
    private archive;
    private output;
    private outputPath;
    private finalized;
    constructor(outputPath: string);
    /**
     * Add a file to the archive
     * @param filePath - Path to the file to add
     * @param nameInZip - Optional name for the file inside the ZIP (defaults to basename)
     */
    addFile(filePath: string, nameInZip?: string): void;
    /**
     * Add multiple files to the archive
     * @param files - Array of file paths or objects with path and name
     */
    addFiles(files: Array<string | {
        path: string;
        name?: string;
    }>): void;
    /**
     * Add a directory to the archive
     * @param dirPath - Path to the directory to add
     * @param destPath - Optional destination path inside the ZIP
     */
    addDirectory(dirPath: string, destPath?: string): void;
    /**
     * Add content from a string or buffer
     * @param content - String or Buffer content
     * @param nameInZip - Name for the file inside the ZIP
     */
    addContent(content: string | Buffer, nameInZip: string): void;
    /**
     * Finalize the archive and return a promise that resolves when complete
     * @returns Promise that resolves with the output file path
     */
    finalize(): Promise<string>;
    /**
     * Get the output file path
     */
    getOutputPath(): string;
}
