import { Configuration } from '@yarnpkg/core'; import { FakeFS, PortablePath } from '@yarnpkg/fslib'; import { ZipCompression, ZipFS } from '@yarnpkg/libzip'; import { TaskPool } from './TaskPool'; export type ConvertToZipPayload = { tmpFile: PortablePath; tgz: Buffer | Uint8Array; extractBufferOpts: ExtractBufferOptions; compressionLevel: ZipCompression; }; export type ZipWorkerPool = TaskPool; export declare function getDefaultTaskPool(): ZipWorkerPool; export declare function getTaskPoolForConfiguration(configuration: Configuration | void): ZipWorkerPool; export declare function convertToZipWorker(data: ConvertToZipPayload): Promise; export interface MakeArchiveFromDirectoryOptions { baseFs?: FakeFS; prefixPath?: PortablePath | null; compressionLevel?: ZipCompression; inMemory?: boolean; } export declare function makeArchiveFromDirectory(source: PortablePath, { baseFs, prefixPath, compressionLevel, inMemory }?: MakeArchiveFromDirectoryOptions): Promise; export interface ExtractBufferOptions { prefixPath?: PortablePath; stripComponents?: number; } export interface ConvertToZipOptions extends ExtractBufferOptions { configuration?: Configuration; compressionLevel?: ZipCompression; taskPool?: ZipWorkerPool; } export declare function convertToZip(tgz: Buffer, opts?: ConvertToZipOptions): Promise; export declare function extractArchiveTo>(tgz: Buffer, targetFs: T, { stripComponents, prefixPath }?: ExtractBufferOptions): Promise;