/// <reference types="node" />
import { IncomingMessage } from 'http';
export declare type UnpackProgress = (downloaded: number, totalSize: number) => void;
export declare type UnpackRemoteStreamOptions = {
    onStart?: () => void;
    onProgress?: UnpackProgress;
    shasum?: string;
    generateIntegrity?: boolean;
    ignore?: (filename: string) => Boolean;
};
export declare function remote(stream: IncomingMessage, dest: string, opts: UnpackRemoteStreamOptions): Promise<{}>;
export declare type Index = {
    [filename: string]: {
        size: number;
        generatingIntegrity: Promise<string>;
    };
};
export declare function local(stream: NodeJS.ReadableStream, dest: string, opts?: {
    generateIntegrity?: boolean;
    ignore?: (filename: string) => Boolean;
}): Promise<{}>;
