/**
 * One-shot worker code for decompressing + JSON-parsing an ArrayBuffer
 * entirely off the main thread using native DecompressionStream.
 *
 * Auto-detects format by reading header bytes (same logic as pako):
 *   0x1f 0x8b → gzip
 *   0x78      → zlib (deflate)
 *   otherwise → raw deflate
 *
 * This avoids blocking the render loop with pako.inflate + JSON.parse.
 */
export declare const DECOMPRESS_PARSE_WORKER_CODE = "\nself.onmessage = async (e) => {\n  const buffer = e.data;\n  const bytes = new Uint8Array(buffer);\n\n  // Detect format from header bytes (matches pako's auto-detection)\n  let formats;\n  if (bytes[0] === 0x1f && bytes[1] === 0x8b) {\n    formats = ['gzip'];\n  } else if (bytes[0] === 0x78) {\n    formats = ['deflate'];  // zlib-wrapped (RFC 1950)\n  } else {\n    formats = ['raw', 'deflate', 'gzip'];  // try all\n  }\n\n  for (const fmt of formats) {\n    try {\n      const ds = new DecompressionStream(fmt);\n      const writer = ds.writable.getWriter();\n      writer.write(bytes);\n      writer.close();\n      const text = await new Response(ds.readable).text();\n      const parsed = JSON.parse(text);\n      self.postMessage({ ok: true, data: parsed });\n      return;\n    } catch (_) {\n      // try next format\n    }\n  }\n  self.postMessage({ ok: false, error: 'DecompressionStream: no format matched (header: 0x' + bytes[0].toString(16) + ' 0x' + bytes[1].toString(16) + ')' });\n};\n";
