/// <reference types="node" />
/// <reference types="node" />
import { Readable } from "stream";
import { CommonOptions } from "./provider";
import { TrampolineFactory, WrapperOptions } from "./wrapper";
export interface PackerResult {
    archive: NodeJS.ReadableStream;
}
export declare function packer(trampolineFactory: TrampolineFactory, functionModule: string, userOptions: CommonOptions, userWrapperOptions: WrapperOptions, FunctionName: string): Promise<PackerResult>;
/**
 * @param {NodeJS.ReadableStream | string} archive A zip archive as a stream or a filename
 * @param {(filename: string, contents: Readable) => void} processEntry Every
 * entry's contents must be consumed, otherwise the next entry won't be read.
 */
export declare function processZip(archive: NodeJS.ReadableStream | string, processEntry: (filename: string, contents: Readable, mode: number) => void): Promise<void>;
export declare function unzipInDir(dir: string, archive: NodeJS.ReadableStream): Promise<number>;
