#pragma once

#include <QByteArray>
#include <QList>
#include <QMap>
#include <QString>

namespace AetherSDR {

struct ZipEntryData {
    QString name;
    QByteArray data;
};

QMap<QString, QByteArray> readZipEntries(const QByteArray& zip, QString* error);
// Stored (uncompressed, method 0). Fine for small payloads.
QByteArray writeStoredZip(const QList<ZipEntryData>& entries);
// Raw-deflate (method 8) — same bundled zlib as the read path; 5–10x smaller
// for log-heavy archives like support bundles (#3218).
QByteArray writeDeflatedZip(const QList<ZipEntryData>& entries);

} // namespace AetherSDR
