#pragma once

#include <cstdint>
#include "DataBuffer.h"

namespace td {
namespace utils {

std::uint64_t Inflate(const std::string& source, std::string& dest);
std::uint64_t Deflate(const std::string& source, std::string& dest);

DataBuffer Compress(const DataBuffer& buffer);
DataBuffer Decompress(DataBuffer& buffer);
DataBuffer Decompress(DataBuffer& buffer, std::uint64_t packetLength);

} // namespace utils
} // namespace td
