/**
 * Browser compression utilities
 *
 * Primary: CompressionStream API (Chrome 103+, Firefox 113+, Safari 16.4+)
 * Fallback: Pure JS DEFLATE implementation for older browsers
 *
 * Supported browsers with fallback:
 * - Chrome >= 89
 * - Firefox >= 102
 * - Safari >= 14.1
 * - Edge >= 89
 */
import { type CompressOptions, hasCompressionStream } from "./compress.base.js";
export { type CompressOptions };
export { hasCompressionStream };
/**
 * Compress data using browser's native CompressionStream or JS fallback
 *
 * Note: We always prefer native CompressionStream when available because
 * it's significantly faster than pure JS implementation.
 *
 * @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<Uint8Array>;
/**
 * Compress data synchronously using pure JS implementation
 *
 * @param data - Data to compress
 * @param options - Compression options
 * @returns Compressed data
 */
export declare function compressSync(data: Uint8Array, options?: CompressOptions): Uint8Array;
/**
 * Decompress data using browser's native DecompressionStream or JS fallback
 *
 * Note: We always prefer native DecompressionStream when available because
 * it's significantly faster than pure JS implementation, regardless of data size.
 * The threshold is only useful for compression where the overhead matters more.
 *
 * @param data - Compressed data (deflate-raw format)
 * @param options - Decompression options (kept for API parity; currently unused in browser)
 * @returns Decompressed data
 */
export declare function decompress(data: Uint8Array, options?: CompressOptions): Promise<Uint8Array>;
/**
 * Decompress data synchronously using pure JS implementation
 *
 * @param data - Compressed data (deflate-raw format)
 * @returns Decompressed data
 */
export declare function decompressSync(data: Uint8Array): Uint8Array;
