/** * Cross-runtime compression abstraction * * Uses: * - Node.js: zlib module (native, full brotli support) * - Deno/Bun: CompressionStream API (Web Standard) */ import type { TCompressionAlgorithm } from '../utils/index.js'; export interface ICompressionProvider { /** * Compress data to Uint8Array */ compress(data: Uint8Array, algorithm: TCompressionAlgorithm, level?: number): Promise; /** * Compress a ReadableStream */ compressStream(stream: ReadableStream, algorithm: TCompressionAlgorithm, level?: number): ReadableStream; /** * Get supported algorithms for this runtime */ getSupportedAlgorithms(): TCompressionAlgorithm[]; } /** * Create appropriate compression provider for the current runtime */ export declare function createCompressionProvider(): ICompressionProvider; /** * Get the singleton compression provider */ export declare function getCompressionProvider(): ICompressionProvider;