export interface IStreamAndLength { stream: NodeJS.ReadableStream; length: number; reset: () => Promise; } export interface IZip { hasEntries: () => boolean; entriesCount: () => number; hasEntry: (entryPath: string) => boolean; getEntries: () => Promise; entryStreamPromise: (entryPath: string) => Promise; entryStreamRangePromise: (entryPath: string, begin: number, end: number) => Promise; freeDestroy: () => void; } export declare abstract class Zip implements IZip { abstract hasEntries(): boolean; abstract entriesCount(): number; abstract hasEntry(entryPath: string): boolean; abstract getEntries(): Promise; abstract entryStreamPromise(entryPath: string): Promise; abstract freeDestroy(): void; entryStreamRangePromise(entryPath: string, begin: number, end: number): Promise; }