import type { ArchiveProgressPhase, ArchiveStreamOptions, ArchiveOperationBase } from "../shared/progress.js"; import type { ZipEntryType } from "../zip-spec/zip-entry-info.js"; import type { UnzipEntry } from "./index.js"; /** * Progress phase for unzip operations. */ export type UnzipProgressPhase = ArchiveProgressPhase; /** * Progress information for unzip operations. */ export type UnzipProgress = { type: "unzip"; phase: UnzipProgressPhase; /** Total bytes consumed from the source stream so far. */ bytesIn: number; /** Total decompressed bytes yielded to consumers so far (best-effort). */ bytesOut: number; /** Number of entries emitted by the streaming parser. */ entriesEmitted: number; currentEntry?: { path: string; entryType: ZipEntryType; bytesOut: number; }; }; /** * Streaming options for unzip operations. */ export type UnzipStreamOptions = ArchiveStreamOptions; /** * Operation handle for streaming unzip. */ export type UnzipOperation = ArchiveOperationBase & { /** Async iterable of unzip entry objects */ iterable: AsyncIterable; };