/** * Node.js compression utilities using native zlib * * Supports multiple formats: * - deflate-raw: Raw DEFLATE (for ZIP files) * - gzip: GZIP format (for tar.gz, HTTP compression) */ export { type CompressOptions, hasCompressionStream, GZIP_ID1, GZIP_ID2, GZIP_CM_DEFLATE, GZIP_FLAG_FTEXT, GZIP_FLAG_FHCRC, GZIP_FLAG_FEXTRA, GZIP_FLAG_FNAME, GZIP_FLAG_FCOMMENT, GZIP_MIN_SIZE, isGzipData, hasGzipCompressionStream, hasGzipDecompressionStream, ZLIB_CM_DEFLATE, ZLIB_CINFO_MAX, ZLIB_MIN_SIZE, isZlibData, detectCompressionFormat, hasDeflateCompressionStream, hasDeflateDecompressionStream } from "./compress.base.js"; import type { CompressOptions } from "./compress.base.js"; /** * Check if Web Workers are available. * Always returns false in Node.js (zlib uses native thread pool). */ export declare function hasWorkerSupport(): boolean; /** Convert Uint8Array to Node.js Buffer (zero-copy view) */ export declare function uint8ArrayToBuffer(data: Uint8Array): Buffer; /** Convert Node.js Buffer to Uint8Array (zero-copy view) */ export declare function bufferToUint8Array(buffer: Buffer): Uint8Array; /** * Compress data using Node.js native zlib * * @param data - Data to compress * @param options - Compression options * @returns Compressed data * * @example * ```ts * const data = new TextEncoder().encode("Hello, World!"); * const compressed = await compress(data, { level: 6 }); * ``` */ export declare function compress(data: Uint8Array, options?: CompressOptions): Promise; /** * Compress data synchronously using Node.js zlib * * @param data - Data to compress * @param options - Compression options * @returns Compressed data */ export declare function compressSync(data: Uint8Array, options?: CompressOptions): Uint8Array; /** * Decompress data using Node.js native zlib * * @param data - Compressed data (deflate-raw format) * @returns Decompressed data */ export declare function decompress(data: Uint8Array, options?: CompressOptions): Promise; /** * Decompress data synchronously using Node.js zlib * * @param data - Compressed data (deflate-raw format) * @returns Decompressed data */ export declare function decompressSync(data: Uint8Array): Uint8Array; /** * Compress data with gzip */ export declare function gzip(data: Uint8Array, options?: CompressOptions): Promise; /** * Decompress gzip data */ export declare function gunzip(data: Uint8Array, options?: CompressOptions): Promise; /** * Compress data with gzip (sync) */ export declare function gzipSync(data: Uint8Array, options?: CompressOptions): Uint8Array; /** * Decompress gzip data (sync) */ export declare function gunzipSync(data: Uint8Array): Uint8Array; /** * Compress data with Zlib wrapper (RFC 1950) * * Zlib format: CMF + FLG header + DEFLATE data + Adler-32 checksum * Used for: PNG, HTTP deflate encoding, general-purpose compression */ export declare function zlib(data: Uint8Array, options?: CompressOptions): Promise; /** * Decompress Zlib data (RFC 1950) */ export declare function unzlib(data: Uint8Array, options?: CompressOptions): Promise; /** * Compress data with Zlib wrapper (sync) */ export declare function zlibSync(data: Uint8Array, options?: CompressOptions): Uint8Array; /** * Decompress Zlib data (sync) */ export declare function unzlibSync(data: Uint8Array): Uint8Array; /** * Decompress data, automatically detecting the format (GZIP, Zlib, or raw DEFLATE) * * Detection order: * 1. GZIP: magic bytes 0x1f 0x8b * 2. Zlib: valid CMF/FLG header with checksum * 3. Raw DEFLATE: fallback * * @example * ```ts * // Works with any format * const data = await decompressAuto(compressed); * ``` */ export declare function decompressAuto(data: Uint8Array, options?: CompressOptions): Promise; /** * Decompress data synchronously, automatically detecting the format */ export declare function decompressAutoSync(data: Uint8Array): Uint8Array;